Sync snapshots tools with pkgbox64's current.
authorSascha Wildner <saw@online.de>
Fri, 10 Oct 2014 07:44:46 +0000 (09:44 +0200)
committerSascha Wildner <saw@online.de>
Fri, 10 Oct 2014 07:47:39 +0000 (09:47 +0200)
tools/snapshots/config
tools/snapshots/dobuild
tools/snapshots/doclean
tools/snapshots/docron

index e136823..1909607 100644 (file)
@@ -2,9 +2,9 @@
 #
 
 set build = /build/snapshots
-set dflygit = /repository/git/dragonfly.git
-set pkgsrcgit = /repository/git/pkgsrc.git
+set dflygit = git://crater.dragonflybsd.org/dragonfly.git
+set dportsgit = git://crater.dragonflybsd.org/dports.git
 set dfly_branch = master
-set pkgsrc_branch = vendor
+set dports_branch = master
 set snapshots = /archive/snapshots
 set relsname = DEV
index ccef987..6b3f578 100755 (executable)
@@ -9,6 +9,10 @@ set ncpu = `sysctl -n hw.ncpu`
 set pushdsilent
 set xdate = "date"
 
+# needed for ports 'ex' script execution
+#
+setenv TERM xterm
+
 echo "`$xdate` - SNAPSHOTS DOBUILD BEGIN"
 
 # Options
@@ -29,7 +33,7 @@ foreach arg ( $argv )
     default:
        echo "`$xdate` - Unknown option $arg"
        echo "`$xdate` - SNAPSHOTS DOBUILD END"
-       exit 1
+       exit 1
     endsw
 end
 
@@ -38,13 +42,17 @@ if ( ! -e $build/root/dev/null ) then
     mount_devfs dummy $build/root/dev
 endif
 
-umount $build/root/usr/pkgsrc/distfiles >& /dev/null
-mount_null $build/distfiles $build/root/usr/pkgsrc/distfiles
-
-setenv PKGSRC_PATH /usr/pkgsrc
+sync; sleep 1
+umount $build/root/usr/distfiles >& /dev/null
+umount $build/root/usr/src >& /dev/null
+umount $build/root/usr/dports >& /dev/null
+sync; sleep 1
+mount_null $build/distfiles $build/root/usr/distfiles
+mount_null $build/src $build/root/usr/src
+mount_null $build/dports $build/root/usr/dports
 
 echo "`$xdate` - Build is running nrelease, tail -f $build/nrelease-build.out"
-chroot $build/root csh -c "cd /usr/src/nrelease; make -DNOPROFILE -DWITHOUT_SRCS img $nrelease_args" >& $build/nrelease-build.out
+chroot $build/root csh -c "cd /usr/src/nrelease; make -DNOPROFILE -DWITHOUT_SRCS MAKE_JOBS=1 img $nrelease_args" >& $build/nrelease-build.out
 
 if ( $? > 0 ) then
     echo "`$xdate` - NRelease build had a problem, see $build/nrelease-build.out"
@@ -82,13 +90,16 @@ chmod 644 $filepath/images/$basename.iso.bz2
 chmod 644 $filepath/images/$basename.img.bz2
 chmod 644 $filepath/kernels/$basename.boot.tar.bz2
 sync
+umask 022
 pushd $filepath/images
 md5 $basename.iso.bz2 >> CHECKSUM.MD5
 md5 $basename.img.bz2 >> CHECKSUM.MD5
+chmod 644 CHECKSUM.MD5
 popd
 
 pushd $filepath/kernels
 md5 $basename.boot.tar.bz2 >> CHECKSUM.MD5
+chmod 644 CHECKSUM.MD5
 popd
 
 # Only adjust the 'latest' softlink shortcuts for
@@ -112,6 +123,10 @@ if ( "$relsname" == "DEV" ) then
     popd
 endif
 
-sync
+sync; sleep 1
+umount $build/root/usr/distfiles >& /dev/null
+umount $build/root/usr/src >& /dev/null
+umount $build/root/usr/dports >& /dev/null
+umount $build/root/dev >& /dev/null
 
 echo "`$xdate` - SNAPSHOTS DOBUILD END"
index 680b202..78e3dab 100755 (executable)
@@ -5,10 +5,17 @@
 
 source config
 
-set ncpu = `sysctl -n hw.ncpu`
+# slow and steady wins the race, don't interfere
+# with other stuff
+set ncpu = 1
+#set ncpu = `sysctl -n hw.ncpu`
 set pushdsilent
 set xdate = "date"
 
+# needed for ports 'ex' script execution
+#
+setenv TERM xterm
+
 echo "`$xdate` - SNAPSHOTS DOCLEAN BEGIN"
 
 # Options
@@ -25,7 +32,7 @@ foreach arg ( $argv )
     default:
        echo "Unknown option $arg"
        echo "`$xdate` - SNAPSHOTS DOCLEAN END"
-       exit 1
+       exit 1
     endsw
 end
 
@@ -37,7 +44,13 @@ if ( "$build" == "" ) then
     exit 1
 endif
 
+if ( -e $build/root/usr/src/nrelease && -e $build/root/dev/null ) then
+    echo "`$xdate` - Cleanup previous nrelease"
+    chroot $build/root csh -c "cd /usr/src/nrelease; make -DNOPROFILE -DWITHOUT_SRCS clean"
+endif
+
 if ( -e $build/root/dev/null ) then
+    sync; sleep 1
     echo "`$xdate` - Unmount devfs from $build/root/dev"
     umount $build/root/dev
     if ( $? > 0 ) then
@@ -47,10 +60,10 @@ if ( -e $build/root/dev/null ) then
     endif
 endif
 
-# remount the nullfs mount read-only just in case the umount fails.
-#
-umount $build/root/usr/pkgsrc/distfiles >& /dev/null
-mount -u -o ro $build/root/usr/pkgsrc/distfiles >& /dev/null
+sync; sleep 1
+umount $build/root/usr/distfiles >& /dev/null
+umount $build/root/usr/src >& /dev/null
+umount $build/root/usr/dports >& /dev/null
 
 if ( $?quick == 0 ) then
     echo "`$xdate` - Destroying root environment at $build/root"
@@ -73,11 +86,11 @@ echo "`$xdate` - Log files are in $build/*.out"
 if ( ! -e $build/root/etc/networks ) then
     unset realquick
 endif
-if ( ! -d $build/root/usr/src ) then
+if ( ! -d $build/src ) then
     unset quick
     unset realquick
 endif
-if ( ! -d $build/root/usr/pkgsrc ) then
+if ( ! -d $build/dports ) then
     unset quick
     unset realquick
 endif
@@ -87,14 +100,13 @@ endif
 #
 # DragonFly sources
 #
-pushd $build/root/usr
-if ( $?quick == 0 ) then
+pushd $build
+
+if ( ! -d src ) then
     echo "`$xdate` - Cloning $dflygit"
-    rm -rf src
     git clone -n $dflygit src
 endif
-popd
-pushd $build/root/usr/src
+pushd $build/src
 if ( "`git branch | fgrep $dfly_branch`" == "" ) then
     echo "`$xdate` - Branching-src $dfly_branch"
     git branch $dfly_branch origin/$dfly_branch
@@ -106,23 +118,34 @@ popd
 
 # Package sources
 #
-pushd $build/root/usr
-if ( $?quick == 0 ) then
-    echo "`$xdate` - Cloning $pkgsrcgit"
-    rm -rf pkgsrc
-    git clone -n $pkgsrcgit pkgsrc
+if ( ! -d dports ) then
+    echo "`$xdate` - Cloning $dportsgit"
+    git clone -n $dportsgit dports
 endif
-popd
-pushd $build/root/usr/pkgsrc
-if ( "`git branch | fgrep $pkgsrc_branch`" == "" ) then
-    echo "`$xdate` - Branching-pkgsrc $pkgsrc_branch"
-    git branch $pkgsrc_branch origin/$pkgsrc_branch
+pushd $build/dports
+if ( "`git branch | fgrep $dports_branch`" == "" ) then
+    echo "`$xdate` - Branching-dports $dports_branch"
+    git branch $dports_branch origin/$dports_branch
 endif
-echo "`$xdate` - Updating pkgsrc"
-git checkout $pkgsrc_branch
+echo "`$xdate` - Updating dports"
+git checkout $dports_branch
 git pull
 popd
 
+# null mounts
+#
+mkdir -p $build/root/usr/src
+mkdir -p $build/root/usr/dports
+mkdir -p $build/root/usr/distfiles
+
+echo "`$xdate` - Mounting src, dports, distfiles"
+mount_null $build/src $build/root/usr/src
+mount_null $build/dports $build/root/usr/dports
+mount_null $build/distfiles $build/root/usr/distfiles
+
+popd
+# popped build
+
 # Install/upgrade environment
 #
 pushd $build/root/usr/src
@@ -159,8 +182,6 @@ if ( $?realquick == 0 ) then
     make upgrade DESTDIR=$build/root >& $build/upgrade.out
 endif
 
-popd
-
 # Setup the chroot environment, including packages nrelease needs to
 # build.
 #
@@ -169,8 +190,6 @@ echo "`$xdate` - Mounting devfs"
 if ( ! -e $build/root/dev/null ) then
     mount_devfs dummy $build/root/dev
 endif
-echo "`$xdate` - Mounting distfiles"
-mount_null $build/distfiles $build/root/usr/pkgsrc/distfiles
 
 #mkdir -m 1777 $build/root/tmp
 #mkdir -m 1777 $build/root/var/tmp
@@ -180,40 +199,49 @@ if ( $?realquick == 0 ) then
     chroot $build/root /etc/rc.d/ldconfig start
 endif
 cp /etc/resolv.conf $build/root/etc/
+rm -rf $build/root/usr/obj/dports
+mkdir -p $build/root/usr/obj/dports
 
-if ( ! -e $build/root/usr/pkg/bin/bmake ) then
-    echo "`$xdate` - Bootstrapping pkgsrc, tail -f $build/bootstrap.out"
-    chroot $build/root csh -c "cd /usr/pkgsrc/bootstrap; rm -rf /usr/obj/bootstrap; ./bootstrap --workdir=/usr/obj/bootstrap" >& $build/bootstrap.out
-    if ( $? > 0 ) then
-       echo "`$xdate` - pkgsrc bootstrap had problems"
-       echo "`$xdate` - SNAPSHOTS DOCLEAN END"
-       exit 1
-    endif
-endif
+cat > $build/root/etc/make.conf << EOF
 
-if ( ! -e $build/root/usr/pkg/bin/mkisofs ) then
-    echo "`$xdate` - Setting up cdrecord and friends, tail -f $build/nrelease1.out"
-    setenv PKGSRC_PATH /usr/pkgsrc
-    chroot $build/root csh -c "cd /usr/src/nrelease; make fetch pkgsrc_cdrecord" >& $build/nrelease1.out
+# set by doclean
+#
+git_UNSET=CONTRIB PERL DIALOG
+
+EOF
+
+if ( ! -e $build/root/usr/local/bin/bmake ) then
+    echo "`$xdate` - Bootstrapping dports, tail -f $build/bootstrap.out"
+    chroot $build/root csh -c "cd /usr/dports/devel/bmake; make all install" >& $build/bootstrap.out
     if ( $? > 0 ) then
-       echo "`$xdate` - nrelease had problems"
+       echo "`$xdate` - dports bootstrap had problems"
        echo "`$xdate` - SNAPSHOTS DOCLEAN END"
        exit 1
     endif
 endif
 
-# The nrelease build needs scmgit as well.  Try to get the binary package
+# The nrelease build needs cdrecord and git.  Try to get the binary package
 # first and then build whatever else is needed from source.  These packages
 # are not part of the nrelease snapshot build, they are used by nrelease
 # to do the build.
 #
-if ( ! -e $build/root/usr/pkg/bin/git ) then
-    echo "`$xdate` - Setting up scmgit from pkgsrc, tail -f $build/nrelease2.out"
-    chroot $build/root csh -c "pkg_radd scmgit"
-    if ( ! -e $build/root/usr/pkg/bin/git ) then
+if ( ! -e $build/root/usr/local/bin/mkisofs ) then
+    echo "`$xdate` - Setting up cdrecord and friends, tail -f $build/nrelease1.out"
+    #chroot $build/root csh -c "pkg_radd cdrecord"
+    if ( ! -e $build/root/usr/local/bin/mkisofs ) then
+           echo "`$xdate` - Binary package not found, building from source"
+           chroot $build/root csh -c "cd /usr/dports/sysutils/cdrtools; make -DBATCH all install"
+    endif
+endif
+
+if ( ! -e $build/root/usr/local/bin/git ) then
+    echo "`$xdate` - Setting up git from dports, tail -f $build/nrelease2.out"
+    #chroot $build/root csh -c "pkg_radd git"
+    if ( ! -e $build/root/usr/local/bin/git ) then
            echo "`$xdate` - Binary package not found, building from source"
-           chroot $build/root csh -c "cd /usr/pkgsrc/devel/scmgit; bmake update"
+           chroot $build/root csh -c "cd /usr/dports/devel/git; make -DBATCH all install"
     endif
 endif
 
 echo "`$xdate` - SNAPSHOTS DOCLEAN END"
+
index a7ec0d5..656d4be 100755 (executable)
@@ -1,9 +1,11 @@
 #!/bin/csh
 #
 
-./doclean quick
+umask 022
+./doclean >& /build/snapshots/docron.out
 if ( $? > 0 ) then
     echo "doclean script failed, aborting build"
     exit 1
 endif
-./dobuild
+./dobuild >>& /build/snapshots/docron.out
+