]> Zhao Yanbai Git Server - minix.git/commitdiff
- retrieve binary packages and sources from webserver to make a release, incremental...
authorBen Gras <ben@minix3.org>
Wed, 30 Sep 2009 13:11:22 +0000 (13:11 +0000)
committerBen Gras <ben@minix3.org>
Wed, 30 Sep 2009 13:11:22 +0000 (13:11 +0000)
   (so wget required)
 - don't build List file again, but use webserver List file and filter it

tools/release.sh

index 2e2d80b1ffc4865c2802eb0c05b05aa4e0b31ec2..af90d3395f6c0d67af2cd2fb2364675f7e0fd285 100755 (executable)
@@ -2,6 +2,8 @@
 
 set -e
 
+PATH=$PATH:/usr/local/bin
+
 XBIN=usr/xbin
 SRC=src
 
@@ -17,6 +19,9 @@ PACKAGESOURCELIST=package_sources.install
 secs=`expr 32 '*' 64`
 export SHELL=/bin/sh
 
+# SVN trunk repo
+TRUNK=https://gforge.cs.vu.nl/svn/minix/trunk
+
 make_hdimage()
 {
        dd if=$TMPDISK1 of=usrimage bs=$BS count=$USRBLOCKS
@@ -47,6 +52,22 @@ make_hdimage()
        installboot -m hdimage /usr/mdec/masterboot
 }
 
+retrieve()
+{
+       dir=$1
+       list=`pwd`/$2
+       url=http://www.minix3.org/$3
+BIGPORTS=bigports
+       (       
+               cd $dir || exit 1
+               echo  " * Updating $dir
+   from $url
+   with $list"
+               files=`awk <$list '{ print "'$url'/" $1 ".tar.bz2" }'`
+               wget -c $url/List $files || true
+       )
+}
+
 hdemu_root_changes()
 {
        $RELEASEDIR/usr/bin/installboot -d $TMPDISK3 \
@@ -140,7 +161,15 @@ do
 done
 
 if [ ! "$USRMB" ]
-then   USRMB=550
+then   USRMB=570
+fi
+
+if [ $PACKAGES -ne 0 ]
+then   mkdir -p $PACKAGEDIR || true
+       mkdir -p $PACKAGESOURCEDIR || true
+       rm -f $PACKAGEDIR/List
+       retrieve $PACKAGEDIR $PACKAGELIST packages/`uname -p`/`uname -r`.`uname -v`
+       retrieve $PACKAGESOURCEDIR $PACKAGESOURCELIST software
 fi
 
 echo $USRMB MB
@@ -210,26 +239,18 @@ cp -rp /bin/bigsh /bin/sh /bin/echo $RELEASEDIR/bin
 cp -rp /usr/bin/make /usr/bin/install /usr/bin/yacc /usr/bin/flex $RELEASEDIR/usr/bin
 
 if [ -d $PACKAGEDIR -a -d $PACKAGESOURCEDIR -a -f $PACKAGELIST -a -f $PACKAGESOURCELIST -a $PACKAGES -ne 0 ]
-then   echo " * Indexing packages"
-       bintotal=0
-       ( for p in `cat $PACKAGELIST`
-         do    
-               descr="$PACKAGEDIR/../$p/.descr"
-               if [ -f "$descr" ]
-               then    echo "$p|`cat $descr`"
-               fi
-         done | tee $RELEASEPACKAGE/List
-       )
-       echo " * Transfering $PACKAGEDIR to $RELEASEPACKAGE"
+then   echo " * Transfering $PACKAGEDIR to $RELEASEPACKAGE"
+       : >$RELEASEPACKAGE/List
         for p in `cat $PACKAGELIST`
-        do
-               if [ -f $PACKAGEDIR/$p.tar.bz2 ]
+        do     if [ -f $PACKAGEDIR/$p.tar.bz2 ]
                then
                  cp $PACKAGEDIR/$p.tar.bz2 $RELEASEPACKAGE/
+                 grep $p $PACKAGEDIR/List >>$RELEASEPACKAGE/List || echo "$p not found in List"
                else
                   echo "Can't copy $PACKAGEDIR/$p.tar.bz2. Missing."
                fi
         done
+       
        echo " * Transfering $PACKAGESOURCEDIR to $RELEASEPACKAGESOURCES"
         for p in `cat $PACKAGESOURCELIST`
         do
@@ -249,7 +270,7 @@ chmod -R u+w $RELEASEDIR/usr/lib
 if [ "$COPY" -ne 1 ]
 then
        echo " * Doing new svn export"
-       REPO=https://gforge.cs.vu.nl/svn/minix/trunk/$SRC
+       REPO=$TRUNK/$SRC
        REVISION="`svn info $USERNAME $SVNREV $REPO | grep '^Revision: ' | awk '{ print $2 }'`"
        echo "Doing export of revision $REVISION from $REPO."
        ( cd $RELEASEDIR/usr && svn $USERNAME export -r$REVISION $REPO )