Subject: pkg/36230: mksandbox FreeBSD patch
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <alnsn@yandex.ru>
List: pkgsrc-bugs
Date: 04/27/2007 07:25:02
>Number:         36230
>Category:       pkg
>Synopsis:       mksandbox FreeBSD patch
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Apr 27 07:25:02 +0000 2007
>Originator:     Alexander Nasonov
>Release:        
>Organization:
>Environment:
FreeBSD fbx1000 6.2-STABLE FreeBSD 6.2-STABLE #0: Fri Feb  2 01:35:39 MSK 2007     alnsn@fbx1000:/home/obj/MAKEOBJDIRPREFIX/usr/src/sys/GENERIC  i386
>Description:
Attached patch lets me use mksandbox on FreeBSD 6.2.
>How-To-Repeat:

>Fix:
%cvs diff -u mk/bulk/mksandbox
Index: mk/bulk/mksandbox
===================================================================
RCS file: /cvsroot/pkgsrc/mk/bulk/mksandbox,v
retrieving revision 1.45
diff -u -r1.45 mksandbox
--- mk/bulk/mksandbox   15 Dec 2006 13:15:06 -0000      1.45
+++ mk/bulk/mksandbox   27 Apr 2007 07:15:15 -0000
@@ -133,6 +133,19 @@
        sandboxMountDirs="/bin /sbin /kernel /lib /proc /opt/SUNWspro /usr/X11R6 /usr/5bin /usr/bin /usr/ccs /usr/dt /usr/games /usr/include /usr/lib /usr/openwin /usr/share /usr/sbin /usr/sadm /usr/ucb /usr/ucblib /usr/xpg4 /var/mail /var/sadm"
        sandboxEmptyDirs="$sandboxEmptyDirs /usr/tmp /var/tmp"
        ;;
+FreeBSD)
+       bmakeprog=bmake
+       chmodprog=/bin/chmod
+       chownprog=/usr/sbin/chown
+       cpprog=/bin/cp
+       gtarprog=/usr/bin/tar
+       idprog=/usr/bin/id
+       mkdirprog="/bin/mkdir -p"
+       mountflags="-t nullfs"
+       mountprog=/sbin/mount
+       paxprog=/bin/pax
+       sedprog=/usr/bin/sed
+       ;;
 *)
        echo "Unknown Operating System ($opsys) - good luck"
        bmakeprog=bmake
@@ -232,6 +245,10 @@
        $cpprog /dev/MAKEDEV* $sandbox/dev
        (cd $sandbox/dev; ./MAKEDEV generic)
        ;;
+FreeBSD)
+       $mountprog -t devfs none $sandbox/dev
+       echo "none /dev devfs \\" >> $sandbox_script
+    ;;
 *)
        $cpprog /dev/MAKEDEV* $sandbox/dev
        (cd $sandbox/dev; ./MAKEDEV all)
@@ -330,6 +347,7 @@
                case \$rwro in
                        ro) mount $mountflags -r \$fs \$sandbox/\$mntpoint || exit 1 ;;
                        rw) mount $mountflags \$fs \$sandbox/\$mntpoint || exit 1 ;;
+                       devfs) mount -t devfs \$fs \$sandbox/\$mntpoint || exit 1 ;;
                esac
        done
        ;;