Name anders
authorheiko
Fri, 17 Nov 2006 10:15:27 +0000
changeset 0 4bc43250587a
child 1 b36b9eee9c41
Name anders
Makefile
debian/README.Debian
debian/changelog
debian/compat
debian/control
debian/copyright
debian/cron.d.ex
debian/dirs
debian/docs
debian/emacsen-install.ex
debian/emacsen-remove.ex
debian/emacsen-startup.ex
debian/ha-config-default.ex
debian/ha-config.config
debian/ha-config.doc-base.EX
debian/ha-config.templates
debian/init.d.ex
debian/manpage.1.ex
debian/manpage.sgml.ex
debian/manpage.xml.ex
debian/menu.ex
debian/postinst
debian/postrm
debian/preinst
debian/prerm.ex
debian/rules
debian/watch.ex
exclude.ex
ha-config
ha-hostname
ha-sync
ha-sync.conf.ex
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,16 @@
+SCRIPTS = ha-config ha-hostname ha-sync
+
+all:
+	chmod	a+rx $(SCRIPTS)
+
+install:
+	install -d $(DESTDIR)/boot/ha-config
+	install -m755 ha-sync $(DESTDIR)/sbin/ha-sync
+	install -m644 exclude.ex $(DESTDIR)/etc/ha-sync/exclude
+	install -m644 ha-sync.conf.ex $(DESTDIR)/etc/ha-sync/ha-sync.conf
+
+	install -m755 ha-config $(DESTDIR)/etc/init.d/ha-config
+	install -m755 ha-hostname $(DESTDIR)/etc/init.d/ha-hostname
+
+clean:
+	chmod a-x $(SCRIPTS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/README.Debian	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,6 @@
+ha-config for Debian
+--------------------
+
+<possible notes regarding this package - if none, delete this file>
+
+ -- root <root@unknown>  Thu, 16 Nov 2006 23:04:43 +0000
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/changelog	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,6 @@
+ha-config (0.1-1) testing; urgency=low
+
+  * Initial release
+
+ -- Heiko Schlittermann <hs@schlittermann.de>  Thu, 16 Nov 2006 23:05:28 +0000
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/compat	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,1 @@
+5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/control	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,12 @@
+Source: ha-config
+Section: unknown
+Priority: extra
+Maintainer: Heiko Schlittermann <hs@schlittermann.de>
+Build-Depends: debhelper (>= 5)
+Standards-Version: 3.7.2
+
+Package: ha-config
+Architecture: all
+Depends: ${shlibs:Depends}, ${misc:Depends}, ssh, rsync
+Description: sync script for ha cluster
+ script helping to keep clusters in sync
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/copyright	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,22 @@
+This package was debianized by root <root@unknown> on
+Thu, 16 Nov 2006 23:04:43 +0000.
+
+It was downloaded from <fill in http/ftp site>
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+<Put the license of the package here>
+
+
+The Debian packaging is (C) 2006, root <root@unknown> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/cron.d.ex	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,4 @@
+#
+# Regular cron jobs for the ha-config package
+#
+0 4	* * *	root	ha-config_maintenance
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/dirs	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,4 @@
+sbin
+etc/ha-sync
+boot/ha-config
+etc/init.d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/emacsen-install.ex	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,45 @@
+#! /bin/sh -e
+# /usr/lib/emacsen-common/packages/install/ha-config
+
+# Written by Jim Van Zandt <jrv@debian.org>, borrowing heavily
+# from the install scripts for gettext by Santiago Vila
+# <sanvila@ctv.es> and octave by Dirk Eddelbuettel <edd@debian.org>.
+
+FLAVOR=$1
+PACKAGE=ha-config
+
+if [ ${FLAVOR} = emacs ]; then exit 0; fi
+
+echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR}
+
+#FLAVORTEST=`echo $FLAVOR | cut -c-6`
+#if [ ${FLAVORTEST} = xemacs ] ; then
+#    SITEFLAG="-no-site-file"
+#else
+#    SITEFLAG="--no-site-file"
+#fi
+FLAGS="${SITEFLAG} -q -batch -l path.el -f batch-byte-compile"
+
+ELDIR=/usr/share/emacs/site-lisp/${PACKAGE}
+ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}
+
+# Install-info-altdir does not actually exist. 
+# Maybe somebody will write it.
+if test -x /usr/sbin/install-info-altdir; then
+    echo install/${PACKAGE}: install Info links for ${FLAVOR}
+    install-info-altdir --quiet --section "" "" --dirname=${FLAVOR} /usr/info/${PACKAGE}.info.gz
+fi
+
+install -m 755 -d ${ELCDIR}
+cd ${ELDIR}
+FILES=`echo *.el`
+cp ${FILES} ${ELCDIR}
+cd ${ELCDIR}
+
+cat << EOF > path.el
+(setq load-path (cons "." load-path) byte-compile-warnings nil)
+EOF
+${FLAVOR} ${FLAGS} ${FILES}
+rm -f *.el path.el
+
+exit 0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/emacsen-remove.ex	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,15 @@
+#!/bin/sh -e
+# /usr/lib/emacsen-common/packages/remove/ha-config
+
+FLAVOR=$1
+PACKAGE=ha-config
+
+if [ ${FLAVOR} != emacs ]; then
+    if test -x /usr/sbin/install-info-altdir; then
+        echo remove/${PACKAGE}: removing Info links for ${FLAVOR}
+        install-info-altdir --quiet --remove --dirname=${FLAVOR} /usr/info/ha-config.info.gz
+    fi
+
+    echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR}
+    rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE}
+fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/emacsen-startup.ex	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,25 @@
+;; -*-emacs-lisp-*-
+;;
+;; Emacs startup file, e.g.  /etc/emacs/site-start.d/50ha-config.el
+;; for the Debian ha-config package
+;;
+;; Originally contributed by Nils Naumann <naumann@unileoben.ac.at>
+;; Modified by Dirk Eddelbuettel <edd@debian.org>
+;; Adapted for dh-make by Jim Van Zandt <jrv@debian.org>
+
+;; The ha-config package follows the Debian/GNU Linux 'emacsen' policy and
+;; byte-compiles its elisp files for each 'emacs flavor' (emacs19,
+;; xemacs19, emacs20, xemacs20...).  The compiled code is then
+;; installed in a subdirectory of the respective site-lisp directory.
+;; We have to add this to the load-path:
+(let ((package-dir (concat "/usr/share/"
+                           (symbol-name flavor)
+                           "/site-lisp/ha-config")))
+;; If package-dir does not exist, the ha-config package must have
+;; removed but not purged, and we should skip the setup.
+  (when (file-directory-p package-dir)
+        (setq load-path (cons package-dir load-path))
+       (autoload 'ha-config-mode "ha-config-mode"
+         "Major mode for editing ha-config files." t)
+       (add-to-list 'auto-mode-alist '("\\.ha-config$" . ha-config-mode))))
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/ha-config-default.ex	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,10 @@
+# Defaults for ha-config initscript
+# sourced by /etc/init.d/ha-config
+# installed at /etc/default/ha-config by the maintainer scripts
+
+#
+# This is a POSIX shell fragment
+#
+
+# Additional options that are passed to the Daemon.
+DAEMON_OPTS=""
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/ha-config.config	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+echo "*HALLO* $0 :: $@"
+
+set -e
+. /usr/share/debconf/confmodule
+
+HOSTNAME=${HOSTNAME%-*}
+NODES="$HOSTNAME-a $HOSTNAME-b"
+
+db_set ha-config/nodes "$NODES"
+db_input ha-config/nodes
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/ha-config.doc-base.EX	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,22 @@
+Document: ha-config
+Title: Debian ha-config Manual
+Author: <insert document author here>
+Abstract: This manual describes what ha-config is
+ and how it can be used to
+ manage online manuals on Debian systems.
+Section: unknown
+
+Format: debiandoc-sgml
+Files: /usr/share/doc/ha-config/ha-config.sgml.gz
+
+Format: postscript
+Files: /usr/share/doc/ha-config/ha-config.ps.gz
+
+Format: text
+Files: /usr/share/doc/ha-config/ha-config.text.gz
+
+Format: HTML
+Index: /usr/share/doc/ha-config/html/index.html
+Files: /usr/share/doc/ha-config/html/*.html
+
+  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/ha-config.templates	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,3 @@
+Template: ha-config/nodes
+Type: string
+Description: Names of your two nodes
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/init.d.ex	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,81 @@
+#! /bin/sh
+#
+# skeleton	example file to build /etc/init.d/ scripts.
+#		This file should be used to construct scripts for /etc/init.d.
+#
+#		Written by Miquel van Smoorenburg <miquels@cistron.nl>.
+#		Modified for Debian 
+#		by Ian Murdock <imurdock@gnu.ai.mit.edu>.
+#
+# Version:	@(#)skeleton  1.9  26-Feb-2001  miquels@cistron.nl
+#
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/ha-config
+NAME=ha-config
+DESC=ha-config
+
+test -x $DAEMON || exit 0
+
+# Include ha-config defaults if available
+if [ -f /etc/default/ha-config ] ; then
+	. /etc/default/ha-config
+fi
+
+set -e
+
+case "$1" in
+  start)
+	echo -n "Starting $DESC: "
+	start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
+		--exec $DAEMON -- $DAEMON_OPTS
+	echo "$NAME."
+	;;
+  stop)
+	echo -n "Stopping $DESC: "
+	start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
+		--exec $DAEMON
+	echo "$NAME."
+	;;
+  #reload)
+	#
+	#	If the daemon can reload its config files on the fly
+	#	for example by sending it SIGHUP, do it here.
+	#
+	#	If the daemon responds to changes in its config file
+	#	directly anyway, make this a do-nothing entry.
+	#
+	# echo "Reloading $DESC configuration files."
+	# start-stop-daemon --stop --signal 1 --quiet --pidfile \
+	#	/var/run/$NAME.pid --exec $DAEMON
+  #;;
+  force-reload)
+	#
+	#	If the "reload" option is implemented, move the "force-reload"
+	#	option to the "reload" entry above. If not, "force-reload" is
+	#	just the same as "restart" except that it does nothing if the
+	#   daemon isn't already running.
+	# check wether $DAEMON is running. If so, restart
+	start-stop-daemon --stop --test --quiet --pidfile \
+		/var/run/$NAME.pid --exec $DAEMON \
+	&& $0 restart \
+	|| exit 0
+	;;
+  restart)
+    echo -n "Restarting $DESC: "
+	start-stop-daemon --stop --quiet --pidfile \
+		/var/run/$NAME.pid --exec $DAEMON
+	sleep 1
+	start-stop-daemon --start --quiet --pidfile \
+		/var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
+	echo "$NAME."
+	;;
+  *)
+	N=/etc/init.d/$NAME
+	# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
+	echo "Usage: $N {start|stop|restart|force-reload}" >&2
+	exit 1
+	;;
+esac
+
+exit 0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/manpage.1.ex	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,59 @@
+.\"                                      Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH HA-CONFIG SECTION "November 16, 2006"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh        disable hyphenation
+.\" .hy        enable hyphenation
+.\" .ad l      left justify
+.\" .ad b      justify to both left and right margins
+.\" .nf        disable filling
+.\" .fi        enable filling
+.\" .br        insert line break
+.\" .sp <n>    insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+ha-config \- program to do something
+.SH SYNOPSIS
+.B ha-config
+.RI [ options ] " files" ...
+.br
+.B bar
+.RI [ options ] " files" ...
+.SH DESCRIPTION
+This manual page documents briefly the
+.B ha-config
+and
+.B bar
+commands.
+.PP
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics, 
+.\" respectively.
+\fBha-config\fP is a program that...
+.SH OPTIONS
+These programs follow the usual GNU command line syntax, with long
+options starting with two dashes (`-').
+A summary of options is included below.
+For a complete description, see the Info files.
+.TP
+.B \-h, \-\-help
+Show summary of options.
+.TP
+.B \-v, \-\-version
+Show version of program.
+.SH SEE ALSO
+.BR bar (1),
+.BR baz (1).
+.br
+The programs are documented fully by
+.IR "The Rise and Fall of a Fooish Bar" ,
+available via the Info system.
+.SH AUTHOR
+ha-config was written by <upstream author>.
+.PP
+This manual page was written by root <root@unknown>,
+for the Debian project (but may be used by others).
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/manpage.sgml.ex	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,156 @@
+<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
+
+<!-- Process this file with docbook-to-man to generate an nroff manual
+     page: `docbook-to-man manpage.sgml > manpage.1'.  You may view
+     the manual page with: `docbook-to-man manpage.sgml | nroff -man |
+     less'.  A typical entry in a Makefile or Makefile.am is:
+
+manpage.1: manpage.sgml
+	docbook-to-man $< > $@
+
+    
+	The docbook-to-man binary is found in the docbook-to-man package.
+	Please remember that if you create the nroff version in one of the
+	debian/rules file targets (such as build), you will need to include
+	docbook-to-man in your Build-Depends control field.
+
+  -->
+
+  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+  <!ENTITY dhfirstname "<firstname>FIRSTNAME</firstname>">
+  <!ENTITY dhsurname   "<surname>SURNAME</surname>">
+  <!-- Please adjust the date whenever revising the manpage. -->
+  <!ENTITY dhdate      "<date>November 16, 2006</date>">
+  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+       allowed: see man(7), man(1). -->
+  <!ENTITY dhsection   "<manvolnum>SECTION</manvolnum>">
+  <!ENTITY dhemail     "<email>root@unknown</email>">
+  <!ENTITY dhusername  "root">
+  <!ENTITY dhucpackage "<refentrytitle>HA-CONFIG</refentrytitle>">
+  <!ENTITY dhpackage   "ha-config">
+
+  <!ENTITY debian      "<productname>Debian</productname>">
+  <!ENTITY gnu         "<acronym>GNU</acronym>">
+  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
+]>
+
+<refentry>
+  <refentryinfo>
+    <address>
+      &dhemail;
+    </address>
+    <author>
+      &dhfirstname;
+      &dhsurname;
+    </author>
+    <copyright>
+      <year>2003</year>
+      <holder>&dhusername;</holder>
+    </copyright>
+    &dhdate;
+  </refentryinfo>
+  <refmeta>
+    &dhucpackage;
+
+    &dhsection;
+  </refmeta>
+  <refnamediv>
+    <refname>&dhpackage;</refname>
+
+    <refpurpose>program to do something</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+
+      <arg><option>-e <replaceable>this</replaceable></option></arg>
+
+      <arg><option>--example <replaceable>that</replaceable></option></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>DESCRIPTION</title>
+
+    <para>This manual page documents briefly the
+      <command>&dhpackage;</command> and <command>bar</command>
+      commands.</para>
+
+    <para>This manual page was written for the &debian; distribution
+      because the original program does not have a manual page.
+      Instead, it has documentation in the &gnu;
+      <application>Info</application> format; see below.</para>
+
+    <para><command>&dhpackage;</command> is a program that...</para>
+
+  </refsect1>
+  <refsect1>
+    <title>OPTIONS</title>
+
+    <para>These programs follow the usual &gnu; command line syntax,
+      with long options starting with two dashes (`-').  A summary of
+      options is included below.  For a complete description, see the
+      <application>Info</application> files.</para>
+
+    <variablelist>
+      <varlistentry>
+        <term><option>-h</option>
+          <option>--help</option>
+        </term>
+        <listitem>
+          <para>Show summary of options.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-v</option>
+          <option>--version</option>
+        </term>
+        <listitem>
+          <para>Show version of program.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1>
+    <title>SEE ALSO</title>
+
+    <para>bar (1), baz (1).</para>
+
+    <para>The programs are documented fully by <citetitle>The Rise and
+      Fall of a Fooish Bar</citetitle> available via the
+      <application>Info</application> system.</para>
+  </refsect1>
+  <refsect1>
+    <title>AUTHOR</title>
+
+    <para>This manual page was written by &dhusername; &dhemail; for
+      the &debian; system (but may be used by others).  Permission is
+      granted to copy, distribute and/or modify this document under
+      the terms of the &gnu; General Public License, Version 2 any 
+	  later version published by the Free Software Foundation.
+    </para>
+	<para>
+	  On Debian systems, the complete text of the GNU General Public
+	  License can be found in /usr/share/common-licenses/GPL.
+	</para>
+
+  </refsect1>
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:2
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:nil
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+-->
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/manpage.xml.ex	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,148 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+
+<!--
+
+Process this file with an XSLT processor: `xsltproc \
+-''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\
+manpages/docbook.xsl manpage.dbk'.  A manual page
+<package>.<section> will be generated.  You may view the
+manual page with: nroff -man <package>.<section> | less'.  A
+typical entry in a Makefile or Makefile.am is:
+
+DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\
+manpages/docbook.xsl
+XP=xsltproc -''-nonet
+
+manpage.1: manpage.dbk
+        $(XP) $(DB2MAN) $<
+    
+The xsltproc binary is found in the xsltproc package.  The
+XSL files are in docbook-xsl.  Please remember that if you
+create the nroff version in one of the debian/rules file
+targets (such as build), you will need to include xsltproc
+and docbook-xsl in your Build-Depends control field.
+
+-->
+
+  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+  <!ENTITY dhfirstname "<firstname>FIRSTNAME</firstname>">
+  <!ENTITY dhsurname   "<surname>SURNAME</surname>">
+  <!-- Please adjust the date whenever revising the manpage. -->
+  <!ENTITY dhdate      "<date>November 16, 2006</date>">
+  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+       allowed: see man(7), man(1). -->
+  <!ENTITY dhsection   "<manvolnum>SECTION</manvolnum>">
+  <!ENTITY dhemail     "<email>root@unknown</email>">
+  <!ENTITY dhusername  "root">
+  <!ENTITY dhucpackage "<refentrytitle>HA-CONFIG</refentrytitle>">
+  <!ENTITY dhpackage   "ha-config">
+
+  <!ENTITY debian      "<productname>Debian</productname>">
+  <!ENTITY gnu         "<acronym>GNU</acronym>">
+  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
+]>
+
+<refentry>
+  <refentryinfo>
+    <address>
+      &dhemail;
+    </address>
+    <author>
+      &dhfirstname;
+      &dhsurname;
+    </author>
+    <copyright>
+      <year>2003</year>
+      <holder>&dhusername;</holder>
+    </copyright>
+    &dhdate;
+  </refentryinfo>
+  <refmeta>
+    &dhucpackage;
+
+    &dhsection;
+  </refmeta>
+  <refnamediv>
+    <refname>&dhpackage;</refname>
+
+    <refpurpose>program to do something</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+
+      <arg><option>-e <replaceable>this</replaceable></option></arg>
+
+      <arg><option>--example <replaceable>that</replaceable></option></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>DESCRIPTION</title>
+
+    <para>This manual page documents briefly the
+      <command>&dhpackage;</command> and <command>bar</command>
+      commands.</para>
+
+    <para>This manual page was written for the &debian; distribution
+      because the original program does not have a manual page.
+      Instead, it has documentation in the &gnu;
+      <application>Info</application> format; see below.</para>
+
+    <para><command>&dhpackage;</command> is a program that...</para>
+
+  </refsect1>
+  <refsect1>
+    <title>OPTIONS</title>
+
+    <para>These programs follow the usual &gnu; command line syntax,
+      with long options starting with two dashes (`-').  A summary of
+      options is included below.  For a complete description, see the
+      <application>Info</application> files.</para>
+
+    <variablelist>
+      <varlistentry>
+        <term><option>-h</option>
+          <option>--help</option>
+        </term>
+        <listitem>
+          <para>Show summary of options.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-v</option>
+          <option>--version</option>
+        </term>
+        <listitem>
+          <para>Show version of program.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1>
+    <title>SEE ALSO</title>
+
+    <para>bar (1), baz (1).</para>
+
+    <para>The programs are documented fully by <citetitle>The Rise and
+      Fall of a Fooish Bar</citetitle> available via the
+      <application>Info</application> system.</para>
+  </refsect1>
+  <refsect1>
+    <title>AUTHOR</title>
+
+    <para>This manual page was written by &dhusername; &dhemail; for
+      the &debian; system (but may be used by others).  Permission is
+      granted to copy, distribute and/or modify this document under
+      the terms of the &gnu; General Public License, Version 2 any 
+	  later version published by the Free Software Foundation.
+    </para>
+	<para>
+	  On Debian systems, the complete text of the GNU General Public
+	  License can be found in /usr/share/common-licenses/GPL.
+	</para>
+
+  </refsect1>
+</refentry>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/menu.ex	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,2 @@
+?package(ha-config):needs="X11|text|vc|wm" section="Apps/see-menu-manual"\
+  title="ha-config" command="/usr/bin/ha-config"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/postinst	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,49 @@
+#!/bin/sh
+# postinst script for ha-config
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <postinst> `abort-remove'
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    configure)
+
+    	update-rc.d ha-hostname start 3 S .
+	update-rc.d ha-config start 30 S .
+
+	test -f /etc/ha-sync/id_rsa || {
+		ssh-keygen -N "" -C "ha-sync@`hostname`" -f /etc/ha-sync/id_rsa
+		chmod u=r,go= /etc/ha-sync/id_rsa
+	}
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/postrm	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,46 @@
+#!/bin/sh
+# postrm script for ha-config
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postrm> `remove'
+#        * <postrm> `purge'
+#        * <old-postrm> `upgrade' <new-version>
+#        * <new-postrm> `failed-upgrade' <old-version>
+#        * <new-postrm> `abort-install'
+#        * <new-postrm> `abort-install' <old-version>
+#        * <new-postrm> `abort-upgrade' <old-version>
+#        * <disappearer's-postrm> `disappear' <overwriter>
+#          <overwriter-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+
+    purge)
+    	rm -f /etc/ha-sync/id_rsa{,.pub}
+	update-rc.d ha-hostname remove || true
+	update-rc.d ha-config remove || true
+	;;
+
+    remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/preinst	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,38 @@
+#!/bin/sh
+# preinst script for ha-config
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <new-preinst> `install'
+#        * <new-preinst> `install' <old-version>
+#        * <new-preinst> `upgrade' <old-version>
+#        * <old-preinst> `abort-upgrade' <new-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    install|upgrade)
+
+    ;;
+
+    abort-upgrade)
+    ;;
+
+    *)
+        echo "preinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/prerm.ex	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,40 @@
+#!/bin/sh
+# prerm script for ha-config
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <prerm> `remove'
+#        * <old-prerm> `upgrade' <new-version>
+#        * <new-prerm> `failed-upgrade' <old-version>
+#        * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
+#        * <deconfigured's-prerm> `deconfigure' `in-favour'
+#          <package-being-installed> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    remove|upgrade|deconfigure)
+    ;;
+
+    failed-upgrade)
+    ;;
+
+    *)
+        echo "prerm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/rules	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,98 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+
+
+
+CFLAGS = -Wall -g
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+	CFLAGS += -O0
+else
+	CFLAGS += -O2
+endif
+
+configure: configure-stamp
+configure-stamp:
+	dh_testdir
+	# Add here commands to configure the package.
+
+	touch configure-stamp
+
+
+build: build-stamp
+
+build-stamp: configure-stamp 
+	dh_testdir
+
+	# Add here commands to compile the package.
+	$(MAKE)
+	#docbook-to-man debian/ha-config.sgml > ha-config.1
+
+	touch $@
+
+clean:
+	dh_testdir
+	dh_testroot
+	rm -f build-stamp configure-stamp
+
+	# Add here commands to clean up after the build process.
+	-$(MAKE) clean
+
+	dh_clean 
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_clean -k 
+	dh_installdirs
+
+	# Add here commands to install the package into debian/ha-config.
+	$(MAKE) DESTDIR=$(CURDIR)/debian/ha-config install
+
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs 
+	dh_installdocs
+	dh_installexamples
+#	dh_install
+#	dh_installmenu
+	dh_installdebconf	
+#	dh_installlogrotate
+#	dh_installemacsen
+#	dh_installpam
+#	dh_installmime
+#	dh_python
+#	dh_installinit
+#	dh_installcron
+#	dh_installinfo
+	dh_installman
+	dh_link
+	dh_strip
+	dh_compress
+	dh_fixperms
+#	dh_perl
+#	dh_makeshlibs
+	dh_installdeb
+	dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/watch.ex	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,22 @@
+# Example watch control file for uscan
+# Rename this file to "watch" and then you can run the "uscan" command
+# to check for upstream updates and more.
+# See uscan(1) for format
+
+# Compulsory line, this is a version 3 file
+version=3
+
+# Uncomment to examine a Webpage 
+# <Webpage URL> <string match>
+#http://www.example.com/downloads.php ha-config-(.*)\.tar\.gz
+
+# Uncomment to examine a Webserver directory
+#http://www.example.com/pub/ha-config-(.*)\.tar\.gz
+
+# Uncommment to examine a FTP server
+#ftp://ftp.example.com/pub/ha-config-(.*)\.tar\.gz debian uupdate
+
+# Uncomment to find new files on sourceforge, for debscripts >= 2.9
+# http://sf.net/ha-config/ha-config-(.*)\.tar\.gz
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/exclude.ex	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,32 @@
+/boot/ha-config/current.etc
+/boot/ha-config/current.boot
+/boot/ha-config/links
+
+/shared
+/proc
+/sys
+/dev
+
+/boot/map
+
+/tmp
+/etc/blkid.tab
+/etc/mtab
+/var/lib/amavis
+/var/lib/dhcpd3
+
+
+/var/run/**.pid
+/var/lock/
+/var/lib/heartbeat/hb_*
+/var/lib/heartbeat/rsctmp
+/var/log/*
+
+/etc/udev/rules.d/z25_persistent-net.rules
+/etc/lvm/.cache
+/etc/network/run
+/etc/lvm/archive
+/etc/lvm/backup
+/etc/adjtime
+
+/root/.ssh/known_hosts
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ha-config	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,74 @@
+#! /bin/bash -e
+# © 2006 Heiko Schlittermann <hs@schlittermann.de>
+# 
+# Es wird davon ausgegangen, daß in /ha-config alles liegt, was
+# auf beiden System *unterschiedlich* sein muß.  Oder: beide
+# Systeme sind an allen anderen Stellen *identisch*.
+ME=`basename $0`
+
+source /etc/ha-sync/ha-sync.conf
+
+test "$DIR" || {
+	echo "Need directory" >&2
+	exit 2
+}
+
+# Erst mal sicherstellen, daß das Verzeichnis auch da ist
+
+if ! test -e /etc/fstab; then
+	echo "$ME: /etc/fstab doesn't exist!" >&2
+	exit
+fi
+
+D=; for d in ${DIR//\// }; do
+	test -d $DIR && break
+
+	D=$D/$d
+	egrep -q "^[^#][[:print:]]+[[:space:]]+$D[[:space:]]" /etc/fstab \
+		&& mount $D
+
+done
+
+cd $DIR
+
+# Den aktuellen Hostnamen ermitteln wir von der Kernel-Kommando-Zeile
+# (den letzten dort auftauchenden hostname=XXX Parameter)
+# oder wenn das nicht hilft über das 'hostname'-Kommando
+
+eval `grep -o 'hostname=[-[:alnum:]]\+' /proc/cmdline | tail -1`
+hostname=${hostname-`hostname`}
+
+# Nun laufen wir über alle Verzeichnisse, die unseren Hostnamen
+# haben und gehen davon aus, daß der Rest des Verzeichnisnamens
+# das Zielverzeichnis darstellt.
+# Dann legen wir einen Link 'current.$target' auf dieses Verzeichnis.
+# Warum?  Damit z.B. in /etc/exim4 dann immer *auf jedem Host* ein Link
+# nach /ha-config/current.etc/exim4/exim4.conf liegen kann.  Sonst wären die 
+# /etc-Verzeichnisse ja wieder unterschiedlich.
+# FIXME: Was, wenn es nicht ein Verzeichnis direkt unter / ist?
+for p in $hostname.*; do
+
+	# Ziel ist das, was dem Punkt folgt
+        target=${p#$hostname.}
+
+	echo "$ME: found target $target" >&2
+
+        echo "$ME: `rm -vf current.$target`" >&2
+        echo "$ME: `ln -vs $p current.$target`" >&2
+
+	# Wenn Konflikte auftreten, diese Konflikt-Files
+	# zur Seite legen
+	echo "$ME: resolving possible conflicts" >&2
+        stow --target /$target -ncR current.$target 2>&1 \
+                | sed 's/^.*[[:space:]]vs\.[[:space:]]\+//' \
+	| tee /tmp/$ME.tmp \
+        | xargs -n1 -i{} mv -v {} {}.stow.`date -I`.saved
+
+	echo "$ME: found `wc -l </tmp/$ME.tmp` conflicts" >&2
+	rm -f /tmp/$ME.tmp
+
+	echo "$ME: stowing" >&2
+        stow --target /$target -R current.$target
+done
+
+# vim:ai aw sm:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ha-hostname	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,60 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:          hostname
+# Required-Start:
+# Required-Stop:
+# Default-Start:     S
+# Default-Stop:
+# Short-Description: Set hostname based on /etc/hostname
+# Description:       Read the machines hostname from /etc/hostname, and
+#                    update the kernel value with this value.  If
+#                    /etc/hostname is empty, the current kernel value
+#                    for hostname is used.  If the kernel value is
+#                    empty, the value 'localhost' is used.
+### END INIT INFO
+
+PATH=/sbin:/bin
+
+. /lib/init/vars.sh
+. /lib/lsb/init-functions
+
+do_start () {
+
+	# .hs
+	eval `grep -o '[[:blank:]]hostname=[[:graph:]]\+' /proc/cmdline | tail -1`
+
+	if test "$hostname"; then
+		HOSTNAME="$hostname"
+	else
+		[ -f /etc/hostname ] && HOSTNAME="$(cat /etc/hostname)"
+	fi
+
+	# Keep current name if /etc/hostname is missing.
+	[ -z "$HOSTNAME" ] && HOSTNAME="$(hostname)"
+
+	# And set it to 'localhost' if no setting was found
+	[ -z "$HOSTNAME" ] && HOSTNAME=localhost
+
+	[ "$VERBOSE" != no ] && log_action_begin_msg "Setting hostname to '$HOSTNAME'"
+	hostname "$HOSTNAME"
+	ES=$?
+	[ "$VERBOSE" != no ] && log_action_end_msg $ES
+	exit $ES
+}
+
+case "$1" in
+  start|"")
+	do_start
+	;;
+  restart|reload|force-reload)
+	echo "Error: argument '$1' not supported" >&2
+	exit 3
+	;;
+  stop)
+	# No-op
+	;;
+  *)
+	echo "Usage: hostname.sh [start|stop]" >&2
+	exit 3
+	;;
+esac
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ha-sync	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,33 @@
+#! /bin/bash
+
+source /etc/ha-sync/ha-sync.conf
+NODES="$NODE_A $NODE_B"
+
+
+# No user serviceable parts inside :-)
+SSHID=/etc/ha-sync/id_rsa"
+export RSYNC_RSH="ssh -i $SSHID"
+
+TMP=`getopt -n $0 -o nd -l dry,debug -- "$@"` || exit
+eval set -- $TMP
+
+while true; do
+	case "$1" in
+		-n|--dry) 	opt_dry=1; shift;;
+		-d|--debug) 	opt_debug=1; shift;;
+		--)	  	break; shift;;
+	esac
+done
+
+
+other() { 
+	# we assume that there only two!
+	echo $NODES | tr ' ' '\n' | grep -v `hostname`; 
+}
+
+cd / || exit 1
+for FS in ${FILESYSTEMS%/}/; do
+	${opt_debug+echo} rsync ${opt_dry+-n} --exclude-from /etc/ha-sync/exclude --delete -Ravx .$FS `other`:/
+done
+
+test "$opt_dry" || ${opt_debug+echo} ssh -i $SSHID `other` update-grub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ha-sync.conf.ex	Fri Nov 17 10:15:27 2006 +0000
@@ -0,0 +1,10 @@
+# shell snipped
+
+echo "*** Needs to be configured in /etc/ha-sync/ha-sync.conf" >&2
+exit 1
+
+NODE_A=
+NODE_B=
+
+FILESYSTEMS="/ /boot"
+DIR=/boot/ha-config