Only fiddle inside the chroot if the makedb program exists
authorjoey <>
Tue, 23 Nov 2004 10:42:16 +0000 (10:42 +0000)
committerjoey <>
Tue, 23 Nov 2004 10:42:16 +0000 (10:42 +0000)
ud-replicate

index 3f3921f..9903428 100755 (executable)
@@ -60,12 +60,15 @@ ln -sf `pwd -P`/ssh_known_hosts /etc/ssh
 if [ -x /usr/bin/dchroot ]; then
        CHROOTS=`dchroot --listpaths`
        for c in $CHROOTS; do
-               test ! -d "$c/var/lib/misc/HOST" || mkdir -p "$c/var/lib/misc/HOST"
+               if [ -x "$c/usr/bin/makedb" ]
+               then
 
-               rsync -a ${verbose} $HOST/group.tdb $HOST/passwd.tdb $HOST/ssh* "$c/var/lib/misc/$HOST"
+                       test ! -d "$c/var/lib/misc/HOST" || mkdir -p "$c/var/lib/misc/HOST"
 
-               test ! -f "$c/var/lib/misc/$HOST/shadow.tdb" || rm -f "$c/var/lib/misc/$HOST/shadow.tdb"
-               test ! -f "$c/var/lib/misc/shadow.db" || rm -f "$c/var/lib/misc/shadow.db"
+                       rsync -a ${verbose} $HOST/group.tdb $HOST/passwd.tdb $HOST/ssh* "$c/var/lib/misc/$HOST"
+
+                       test ! -f "$c/var/lib/misc/$HOST/shadow.tdb" || rm -f "$c/var/lib/misc/$HOST/shadow.tdb"
+                       test ! -f "$c/var/lib/misc/shadow.db" || rm -f "$c/var/lib/misc/shadow.db"
 
                        chroot "$c" makedb "/var/lib/misc/$HOST/passwd.tdb" -o /var/lib/misc/passwd.db.t
                        chroot "$c" makedb "/var/lib/misc/$HOST/group.tdb" -o /var/lib/misc/group.db.t
@@ -73,6 +76,7 @@ if [ -x /usr/bin/dchroot ]; then
                        mv -f "$c/var/lib/misc/group.db.t" "$c/var/lib/misc/group.db"
                        ln -sf "$c/var/lib/misc/$HOST/ssh_known_hosts" "$c/var/lib/misc/"
                        ln -sf ../../var/lib/misc/ssh_known_hosts "$c/etc/ssh"
+               fi
        done
 fi