summaryrefslogtreecommitdiff
path: root/Tools
diff options
context:
space:
mode:
authorKris Kennaway <kris@FreeBSD.org>2004-07-14 10:45:26 +0000
committerKris Kennaway <kris@FreeBSD.org>2004-07-14 10:45:26 +0000
commit62b5c51fcb2c6c1ae5153f12f11b6b35eca21a5f (patch)
treeccf3975f95fba059c8247065c72209059414c7e2 /Tools
parentAtomically claim an unused chroot directory. The previous algorithm (diff)
Clean up the specified chroot (umount filesystems, and scrub the
directories likely to contain changed files).
Notes
Notes: svn path=/head/; revision=113628
Diffstat (limited to 'Tools')
-rwxr-xr-xTools/portbuild/scripts/clean-chroot36
1 files changed, 36 insertions, 0 deletions
diff --git a/Tools/portbuild/scripts/clean-chroot b/Tools/portbuild/scripts/clean-chroot
new file mode 100755
index 000000000000..196dc373a5f3
--- /dev/null
+++ b/Tools/portbuild/scripts/clean-chroot
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+arch=$1
+branch=$2
+chroot=$3
+noclean=$4
+
+# directories to clean
+cleandirs="/usr/local /usr/X11R6 /compat /var/db/pkg"
+
+#umount ${chroot}/proc
+
+if [ ${arch} = "i386" ]; then
+ chroot ${chroot} umount -f /compat/linux/proc
+fi
+
+umount -f ${chroot}/a/ports
+umount -f ${chroot}/usr/opt/doc
+umount -f ${chroot}/usr/src
+umount -f ${chroot}/dev
+
+if [ $noclean = 0 ]; then
+ rm -rf ${chroot}/tmp/*
+ for dir in ${cleandirs}; do
+ if ! rm -rf ${chroot}${dir} >/dev/null 2>&1; then
+ chflags -R noschg ${chroot}${dir}
+ rm -rf ${chroot}${dir} >/dev/null 2>&1
+ fi
+ done
+ chroot ${chroot} /sbin/ldconfig -R
+ if [ ${arch} = "i386" ]; then
+ chroot ${chroot} /sbin/ldconfig -aout -R
+ fi
+ rm -rf ${chroot}/var/db/pkg/*
+ rm -rf ${chroot}/used
+fi