summaryrefslogtreecommitdiffstats
path: root/bind-chroot-admin.in
diff options
context:
space:
mode:
authorMartin Stransky <stransky@fedoraproject.org>2006-11-03 15:04:41 +0000
committerMartin Stransky <stransky@fedoraproject.org>2006-11-03 15:04:41 +0000
commit5c5cdca146912e990e7db49e4ca7d7ba9e456fa8 (patch)
tree328a06bb9569d7ed0bac00e2802b36310c9268e8 /bind-chroot-admin.in
parent6766d81e824958fc0fb8a5cab4fa990b8477b5ec (diff)
downloadbind-5c5cdca146912e990e7db49e4ca7d7ba9e456fa8.tar.gz
bind-5c5cdca146912e990e7db49e4ca7d7ba9e456fa8.tar.xz
bind-5c5cdca146912e990e7db49e4ca7d7ba9e456fa8.zip
fix for #212961: bind-chroot doesn't clean up its mess on %preunbind-9_3_3-6_fc7
Diffstat (limited to 'bind-chroot-admin.in')
-rw-r--r--bind-chroot-admin.in20
1 files changed, 20 insertions, 0 deletions
diff --git a/bind-chroot-admin.in b/bind-chroot-admin.in
index eaf51eb..bdd4a1d 100644
--- a/bind-chroot-admin.in
+++ b/bind-chroot-admin.in
@@ -279,6 +279,25 @@ function sync_files()
fi;
}
+function clean_root()
+{
+ if ! rootdir ; then # chroot is disabled, clean it up
+ if [ -n "${BIND_CHROOT_PREFIX}" -a "x${BIND_CHROOT_PREFIX}" != "x/" ]; then
+ rm -r ${BIND_CHROOT_PREFIX}/dev >/dev/null 2>&1 || :;
+ rmdir ${BIND_CHROOT_PREFIX}/proc >/dev/null 2>&1 || :;
+ rmdir ${BIND_CHROOT_PREFIX}/etc >/dev/null 2>&1 || :;
+ rmdir ${BIND_CHROOT_PREFIX}/var/run/named >/dev/null 2>&1 || :;
+ rmdir ${BIND_CHROOT_PREFIX}/var/run/dbus >/dev/null 2>&1 || :;
+ rmdir ${BIND_CHROOT_PREFIX}/var/run >/dev/null 2>&1 || :;
+ rmdir ${BIND_CHROOT_PREFIX}/var/named/slaves >/dev/null 2>&1 || :;
+ rmdir ${BIND_CHROOT_PREFIX}/var/named/data >/dev/null 2>&1 || :;
+ rmdir ${BIND_CHROOT_PREFIX}/var/named >/dev/null 2>&1 || :;
+ rmdir ${BIND_CHROOT_PREFIX}/var/tmp >/dev/null 2>&1 || :;
+ rmdir ${BIND_CHROOT_PREFIX}/var >/dev/null 2>&1 || :;
+ fi;
+ fi;
+}
+
case $1 in
-e|--enable)
enable_bind_chroot;
@@ -290,6 +309,7 @@ case $1 in
sync_files;
/bin/umount ${BIND_CHROOT_PREFIX}/proc >/dev/null 2>&1 || :;
/bin/umount ${BIND_CHROOT_PREFIX}/var/run/dbus >/dev/null 2>&1 || :;
+ clean_root;
exit $?;
;;
-s|--sync)