Index: bulk/build =================================================================== RCS file: /cvsroot/pkgsrc/mk/bulk/build,v retrieving revision 1.48 diff -u -r1.48 build --- bulk/build 14 Jan 2005 15:32:34 -0000 1.48 +++ bulk/build 31 May 2005 09:23:29 -0000 @@ -356,6 +356,15 @@ #rm $DEPENDSTREEFILE $DEPENDSFILE $SUPPORTSFILE $INDEXFILE $ORDERFILE +# Re-install BULK_PREREQ as we may need functionality (e.g. SMTP) provided by +# them for post-build to run. +echo "Re-installing prerequisite packages specified with BULK_PREREQ..." +for pkgdir in $BULK_PREREQ +do + echo $pkgdir + ( cd ${USR_PKGSRC}/$pkgdir && ${BMAKE} bulk-install ) +done + # Perl was wiped, reinstall it! ( cd pkgtools/pkglint && cd ${PERL5_PKGSRCDIR} && ${BMAKE} bulk-install ) perl mk/bulk/post-build | ${MAIL_CMD} -s "pkgsrc ${OPSYS} ${OS_VERSION}/${MACHINE_ARCH} bulk build results `date +%Y-%m-%d`" $ADMIN Index: bulk/mksandbox =================================================================== RCS file: /cvsroot/pkgsrc/mk/bulk/mksandbox,v retrieving revision 1.39 diff -u -r1.39 mksandbox --- bulk/mksandbox 10 Feb 2005 03:20:00 -0000 1.39 +++ bulk/mksandbox 31 May 2005 09:23:29 -0000 @@ -111,11 +111,11 @@ gtarprog="" idprog=/usr/xpg4/bin/id mkdirprog="/usr/bin/mkdir -p" - mountflags="-F lofs" + mountflags="-F nfs" mountprog=/sbin/mount paxprog=/bin/pax sedprog=/usr/xpg4/bin/sed - 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/ucb /usr/ucblib /usr/xpg4 /var/mail /var/sadm" + sandboxMountDirs="/bin /sbin /kernel /lib /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/ucb /usr/ucblib /usr/xpg4 /var/mail /var/sadm" sandboxEmptyDirs="$sandboxEmptyDirs /usr/tmp /var/tmp" ;; *) @@ -158,13 +158,13 @@ err "pkgsrc directory $pkgsrc does not exist." fi -if [ ! -d $src ]; then - err "source directory $src does not exist." -fi - -if [ ! -d $xsrc ]; then - err "xsrc directory $xsrc does not exist." -fi +#if [ ! -d $src ]; then +# err "source directory $src does not exist." +#fi + +#if [ ! -d $xsrc ]; then +# err "xsrc directory $xsrc does not exist." +#fi sandbox=$1 sandbox_script="$sandbox/sandbox" @@ -226,7 +226,7 @@ $mkdirprog $sandbox/etc case "$paxprog" in "") (cd /etc; $gtarprog -cf - . | (cd $sandbox/etc; $gtarprog xf - )) ;; -*) (cd /etc; $paxprog -rwpe . $sandbox/etc) ;; +*) (cd /etc; $paxprog -rwpe . $sandbox/etc 2>/dev/null) ;; esac rm -f $sandbox/etc/localtime @@ -243,8 +243,17 @@ for d in $sandboxMountDirs; do test -d $d || continue; $mkdirprog $sandbox$d; - $mountprog $mountflags -r $d $sandbox$d; - echo "$d $d ro \\" >> $sandbox_script + case "$opsys" in + SunOS) + /usr/sbin/share -F nfs -o ro=localhost $d; + $mountprog $mountflags -r localhost:$d $sandbox$d; + echo "localhost:$d $d ro \\" >> $sandbox_script + ;; + *) + $mountprog $mountflags -r $d $sandbox$d; + echo "$d $d ro \\" >> $sandbox_script + ;; + esac done echo "Making /tmp in $sandbox" @@ -253,8 +262,14 @@ echo "Making /var/games in $sandbox" $mkdirprog $sandbox/var/games -$chownprog games:games $sandbox/var/games -$chmodprog 2775 $sandbox/var/games +case "$opsys" in +SunOS) + ;; +*) + $chownprog games:games $sandbox/var/games + $chmodprog 2775 $sandbox/var/games + ;; +esac for d in $sandboxEmptyDirs; do test -d $d || continue @@ -268,36 +283,93 @@ $cpprog /dev/null $sandbox$f done -echo "Mount $src from $sandbox" -$mkdirprog $sandbox/usr/src -$mountprog $mountflags -r $src $sandbox/usr/src -echo "$src /usr/src ro \\" >> $sandbox_script +echo "Mount home directories from $sandbox" +$mkdirprog $sandbox/home/sketch +$mkdirprog $sandbox/home/ftp +/usr/sbin/share -F nfs -o ro=localhost /home/sketch +/usr/sbin/share -F nfs -o rw=localhost,root=localhost /home/ftp +$mountprog $mountflags localhost:/home/sketch $sandbox/home/sketch +$mountprog $mountflags localhost:/home/ftp $sandbox/home/ftp +echo "localhost:/home/sketch /home/sketch ro \\" >> $sandbox_script +echo "localhost:/home/ftp /home/ftp rw \\" >> $sandbox_script + +#echo "Mount $src from $sandbox" +#$mkdirprog $sandbox/usr/src +#$mountprog $mountflags -r $src $sandbox/usr/src +#echo "$src /usr/src ro \\" >> $sandbox_script echo "Mount $pkgsrc from $sandbox" $mkdirprog $sandbox/usr/pkgsrc -$mountprog $mountflags $pkgsrc $sandbox/usr/pkgsrc -echo "$pkgsrc /usr/pkgsrc rw \\" >> $sandbox_script +case "$opsys" in +SunOS) + /usr/sbin/share -F nfs -o rw=localhost,root=localhost $pkgsrc + $mountprog $mountflags localhost:$pkgsrc $sandbox/usr/pkgsrc + echo "localhost:$pkgsrc /usr/pkgsrc rw \\" >> $sandbox_script + ;; +*) + $mountprog $mountflags $pkgsrc $sandbox/usr/pkgsrc + echo "$pkgsrc /usr/pkgsrc rw \\" >> $sandbox_script + ;; +esac -echo "Mount $xsrc from $sandbox" -$mkdirprog $sandbox/usr/xsrc -$mountprog $mountflags -r $xsrc $sandbox/usr/xsrc -echo "$xsrc /usr/xsrc ro \\" >> $sandbox_script +#echo "Mount $xsrc from $sandbox" +#$mkdirprog $sandbox/usr/xsrc +#$mountprog $mountflags -r $xsrc $sandbox/usr/xsrc +#echo "$xsrc /usr/xsrc ro \\" >> $sandbox_script echo "Mounting $packages and $distfiles from $sandbox" $mkdirprog $sandbox/$packages $sandbox/$distfiles $mkdirprog $packages $distfiles -$mountprog $mountflags $packages $sandbox/$packages -$mountprog $mountflags $distfiles $sandbox/$distfiles -echo "$packages $packages rw \\" >> $sandbox_script -echo "$distfiles $distfiles rw \\" >> $sandbox_script +case "$opsys" in +SunOS) + # These are usually held under $pkgsrc and will therefore already be + # shared, so ignore warnings + /usr/sbin/share -F nfs -o rw=localhost,root=localhost $packages 2>/dev/null + /usr/sbin/share -F nfs -o rw=localhost,root=localhost $distfiles 2>/dev/null + $mountprog $mountflags localhost:$packages $sandbox/$packages + $mountprog $mountflags localhost:$distfiles $sandbox/$distfiles + echo "localhost:$packages $packages rw \\" >> $sandbox_script + echo "localhost:$distfiles $distfiles rw \\" >> $sandbox_script + ;; +*) + $mountprog $mountflags $packages $sandbox/$packages + $mountprog $mountflags $distfiles $sandbox/$distfiles + echo "$packages $packages rw \\" >> $sandbox_script + echo "$distfiles $distfiles rw \\" >> $sandbox_script + ;; +esac if [ -n "$localpatches" ] && [ -d "$localpatches" ]; then echo "Mounting $localpatches from $sandbox" $mkdirprog $sandbox/$localpatches - $mountprog $mountflags $localpatches $sandbox/$localpatches - echo "$localpatches $localpatches rw \\" >> $sandbox_script + case "$opsys" in + SunOS) + /usr/sbin/share -F nfs -o rw=localhost,root=localhost $localpatches + $mountprog $mountflags localhost:$localpatches $sandbox/$localpatches + echo "localhost:$localpatches $localpatches rw \\" >> $sandbox_script + ;; + *) + $mountprog $mountflags $localpatches $sandbox/$localpatches + echo "$localpatches $localpatches rw \\" >> $sandbox_script + ;; + esac fi +case "$opsys" in +SunOS) + echo "Mount /proc" + $mkdirprog $sandbox/proc + $mountprog -F proc -o rw /proc $sandbox/proc + + echo "Mount /dev/fd" + $mkdirprog $sandbox/dev/fd + $mountprog -F lofs -o rw /dev/fd $sandbox/dev/fd + + echo "Mount /etc/mnttab" + $mountprog -F lofs -o ro /etc/mnttab $sandbox/etc/mnttab + ;; +esac + cat >> $sandbox_script <