--- a/ha-config Wed Nov 30 16:19:44 2011 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-#! /bin/bash -e
-### BEGIN INIT INFO
-# Provides: ha-config
-# Required-Start: $local_fs
-# Required-Stop: $local_fs
-# Default-Start: S
-# Default-Stop:
-# Short-Description: ha-config
-### END INIT INFO
-
-# © 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*.
-# $Id$
-# $URL$
-
-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: