diff options
| author | Martin Stransky <stransky@fedoraproject.org> | 2006-11-03 15:04:41 +0000 |
|---|---|---|
| committer | Martin Stransky <stransky@fedoraproject.org> | 2006-11-03 15:04:41 +0000 |
| commit | 76f372ad1bad47e5f9e257c0bbf17f95a43b9c8a (patch) | |
| tree | 0a21f83bd70dab4a59669559004ecadef06bc050 /bind-chroot-admin.in | |
| parent | 00e700762ef3a88d452a3e58cba0d85f9dfeda30 (diff) | |
fix for #212961: bind-chroot doesn't clean up its mess on %preun
Diffstat (limited to 'bind-chroot-admin.in')
| -rw-r--r-- | bind-chroot-admin.in | 20 |
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) |
