umount $BUILD_ROOT/proc/sys/fs/binfmt_misc
authorLudwig Nussel <ludwig.nussel@suse.de>
Thu, 14 Jan 2010 09:51:16 +0000 (10:51 +0100)
committerLudwig Nussel <ludwig.nussel@suse.de>
Thu, 14 Jan 2010 09:53:50 +0000 (10:53 +0100)
some packages' %post script mount /proc/sys/fs/binfmt_misc:
http://lists.opensuse.org/archive/opensuse-buildservice/2009-09/msg00144.html

build
init_buildsystem

diff --git a/build b/build
index 85f0174..f2b4ca1 100755 (executable)
--- a/build
+++ b/build
@@ -216,6 +216,7 @@ cleanup_and_exit () {
        exec /bin/bash -c 'mount -n -o remount,ro / ; halt -f -p'
        halt -f -p
     else
+       umount -n $BUILD_ROOT/proc/sys/fs/binfmt_misc 2> /dev/null || true
        umount -n $BUILD_ROOT/proc 2>/dev/null || true
        umount -n $BUILD_ROOT/dev/pts 2>/dev/null || true
        test "$VM_IMAGE" = 1 && VM_IMAGE=
@@ -1096,6 +1097,7 @@ for SPECFILE in "${SPECFILES[@]}" ; do
        echo -n "repos=(" >> $BUILD_ROOT/.build/build.data
        shellquote "${repos[@]}" >> $BUILD_ROOT/.build/build.data
        echo ")" >> $BUILD_ROOT/.build/build.data
+       umount -n $BUILD_ROOT/proc/sys/fs/binfmt_misc 2> /dev/null || true
        umount -n $BUILD_ROOT/proc 2> /dev/null || true
        umount -n $BUILD_ROOT/dev/pts 2> /dev/null || true
        umount -n $BUILD_ROOT/mnt 2> /dev/null || true
index 8de2860..84eadcc 100755 (executable)
@@ -92,6 +92,7 @@ function cleanup_and_exit {
     [ "$BUILD_ROOT" != / ] || chown $browner $BUILD_ROOT
     # umount so init_buildsystem can be used standalone
 # XXX: use stat -f /dev/pts/ -c %T  to check whether it's mounted and not suppress errors then?
+    umount -n $BUILD_ROOT/proc/sys/fs/binfmt_misc 2> /dev/null || true
     umount -n $BUILD_ROOT/proc 2> /dev/null || true
     umount -n $BUILD_ROOT/dev/pts 2> /dev/null || true
     umount -n $BUILD_ROOT/mnt 2> /dev/null || true
@@ -100,6 +101,7 @@ function cleanup_and_exit {
 
 function clean_build_root () {
        test -n "$BUILD_ROOT" && {
+           umount -n $BUILD_ROOT/proc/sys/fs/binfmt_misc 2> /dev/null || true
            umount -n $BUILD_ROOT/proc 2> /dev/null || true
            umount -n $BUILD_ROOT/dev/pts 2> /dev/null || true
            umount -n $BUILD_ROOT/mnt 2> /dev/null || true
@@ -328,6 +330,7 @@ fi
 if test -e $BUILD_IS_RUNNING ; then
     echo It seems that there was an incomplete setup of $BUILD_ROOT.
     echo To be sure, we will build it again completely...
+    umount -n $BUILD_ROOT/proc/sys/fs/binfmt_misc 2> /dev/null || true
     umount -n $BUILD_ROOT/proc 2> /dev/null
     umount -n $BUILD_ROOT/dev/pts 2> /dev/null
     umount -n $BUILD_ROOT/mnt 2> /dev/null