]> git.pld-linux.org Git - projects/pld-ftp-admin.git/commitdiff
- finished
authorMariusz Mazur <mmazur@pld-linux.org>
Thu, 30 Sep 2004 17:17:35 +0000 (17:17 +0000)
committerMariusz Mazur <mmazur@pld-linux.org>
Thu, 30 Sep 2004 17:17:35 +0000 (17:17 +0000)
Changed files:
    bin/check-move.sh -> 1.2
    bin/functions -> 1.6
    bin/move.sh -> 1.11

bin/check-move.sh
bin/functions
bin/move.sh

index 73a765cb0afe81a8808c773d57798e3a354b2d6b..abcda94fb999f8ee6172ad69606435eb275f2c9b 100755 (executable)
@@ -30,61 +30,12 @@ if [ "$errnum" != "0" ]; then
        exit
 fi
 
-cd ~/tmp
-rm -f queue.txt
-wget -nv "http://ep09.pld-linux.org/~builderth/queue.txt"
-cat queue.txt|grep '^group:\|builders:'| \
-       sed -e 's,^[ ]*,,' -e 's,^group.*id=\(.*\) pri=.*$,\1:,' |\
-       perl -e '$_=join("",<STDIN>);~s/\nbuilders://g;print;'>q.txt
+check_buildids "$srctree"
 
+check_built_archs
 
-cd "$FTP_DIR/$srctree/SRPMS/.metadata/"
-waserror=0
-for pkg in $pkglist; do
-       for buildid in `grep ^info:buildid: $pkg.src.rpm.info|cut -d: -f 3`; do
-               if [ -n "`grep ^$buildid: ~/tmp/q.txt|grep '?'`" ]; then
-                       waserror=$(($waserror+1))
-                       echo "Building of package $pkg (buildid $buildid) not finished"
-               fi
-       done
-done
-
-cd "$FTP_DIR/$dsttree/SRPMS/.metadata/"
-for pkg in $pkglist; do
-       olderpkgs=`find_other_pkgs "$dsttree" "$pkg"`
-       if [ -z "$olderpkgs" ]; then
-               continue
-       fi
-       # Archs that are already provided by the package that's in dest tree
-       availablearchs=""
-       for oldpkg in $olderpkgs; do
-               tmparchs="`cat $oldpkg.src.rpm.info|grep ^file:|cut -d: -f 2|sort|uniq`"
-               availablearchs="$tmparchs $availablearchs" 
-       done
-       availablearchs="`echo \"$availablearchs\"|sort|uniq`"
-       grepstring=`echo $availablearchs| \
-                               sed -e 's,^,^,' -e 's,$,$,' -e 's, ,$\\\|^,g'`
-       newarchs="`cat $FTP_DIR/$srctree/SRPMS/.metadata/$pkg.src.rpm.info| \
-                               grep ^file:|cut -d: -f 2|sort|uniq`"
-       # Number of archs already provided by the package that's in dest tree
-       availablearchsnum="`echo \"$availablearchs\"|wc -l`"
-       # Number of archs supported by dst pkg that are supported by src pkg
-       diffnum="`echo \"$newarchs\"|grep $grepstring|wc -l`"
-
-       if [ $availablearchsnum != $diffnum ]; then
-               waserror=$(($waserror+1))
-               echo "$availablearchs">~/tmp/a.list
-               echo "$newarchs" > ~/tmp/n.list
-               missingarchs=`diff ~/tmp/{a,n}.list |grep '^<'|sed -e 's,^..,,'`
-               echo "Moving package $pkg would mean removal of archs: $missingarchs"
-       fi
-       
-done
-
-
-
-if [ "$waserror" != "0" ]; then
-       echo "$waserror error(s) encountered... move will fail"
+if [ "$errnum" != "0" ]; then
+       echo "$errnum error(s) encountered... move will fail"
        exit
 fi
 
index f6153e0dff737ab9059e0533e24f4eea1fe78c32..28a95ad4b1b1ead45f692c87a7c53a35eea7a4cd 100644 (file)
@@ -54,6 +54,67 @@ init_pkglist()
        done
 }
 
+# Check if all builders said they're finished with the package
+# Args: 1 - ftp tree
+#       pkglist
+check_buildids()
+{
+       cd ~/tmp
+       rm -f queue.txt
+       wget -nv "http://ep09.pld-linux.org/~builderth/queue.txt"
+       echo "------------------------------------------"
+       cat queue.txt|grep '^group:\|builders:'| \
+               sed -e 's,^[ ]*,,' -e 's,^group.*id=\(.*\) pri=.*$,\1:,' |\
+               perl -e '$_=join("",<STDIN>);~s/\nbuilders://g;print;'>q.txt
+
+       cd "$FTP_DIR/$1/SRPMS/.metadata/"
+       for pkg in $pkglist; do
+               for buildid in `grep ^info:buildid: $pkg.src.rpm.info|cut -d: -f 3`; do
+                       if [ -n "`grep ^$buildid: ~/tmp/q.txt|grep '?'`" ]; then
+                               errnum=$(($errnum+1))
+                               echo "Building of package $pkg (buildid $buildid) not finished"
+                       fi
+               done
+       done
+}
+
+# Check if we won't remove some arch when moving
+# Args: pkglist, srctree, dsttree
+check_built_archs()
+{
+       cd "$FTP_DIR/$dsttree/SRPMS/.metadata/"
+       for pkg in $pkglist; do
+               olderpkgs=`find_other_pkgs "$dsttree" "$pkg"`
+               if [ -z "$olderpkgs" ]; then
+                       continue
+               fi
+               # Archs that are already provided by the package that's in dest tree
+               availablearchs=""
+               for oldpkg in $olderpkgs; do
+                       tmparchs="`cat $oldpkg.src.rpm.info|grep ^file:| \
+                                       cut -d: -f 2|sort|uniq`"
+                       availablearchs="$tmparchs $availablearchs" 
+               done
+               availablearchs="`echo \"$availablearchs\"|sort|uniq`"
+               grepstring=`echo $availablearchs| \
+                                       sed -e 's,^,^,' -e 's,$,$,' -e 's, ,$\\\|^,g'`
+               newarchs="`cat $FTP_DIR/$srctree/SRPMS/.metadata/$pkg.src.rpm.info| \
+                                       grep ^file:|cut -d: -f 2|sort|uniq`"
+               # Number of archs already provided by the package that's in dest tree
+               availablearchsnum="`echo \"$availablearchs\"|wc -l`"
+               # Number of archs supported by dst pkg that are supported by src pkg
+               diffnum="`echo \"$newarchs\"|grep $grepstring|wc -l`"
+
+               if [ $availablearchsnum != $diffnum ]; then
+                       errnum=$(($errnum+1))
+                       echo "$availablearchs">~/tmp/a.list
+                       echo "$newarchs" > ~/tmp/n.list
+                       missingarchs=`diff ~/tmp/{a,n}.list |grep '^<'|sed -e 's,^..,,'`
+                       echo "Moving package $pkg would remove archs: $missingarchs"
+               fi
+       done
+}
+
 
 # Return a list of packages that differ only by version than the one given
 # Args: $1 - the package we're intersted in (in N-V-R format)
index 089e6a6c6e1dae122254eed1749101c15d8edce7..cfe81d7aae7962af8fdded8e758112587a7656ef 100755 (executable)
@@ -18,7 +18,6 @@ if [ ! -d "$FTP_DIR/$2" ]; then
        exit
 fi
 
-
 # we set $srctree, $dsttree and $pkglist
 srctree=$1
 dsttree=$2
@@ -31,6 +30,20 @@ if [ "$errnum" != "0" ]; then
        exit
 fi
 
+check_buildids "$srctree"
+
+if [ "$errnum" != "0" ]; then
+       echo "$errnum error(s) encountered... aborting"
+       exit
+fi
+
+check_built_archs
+
+if [ "$errnum" != "0" ]; then
+       echo "$errnum error(s) encountered... aborting"
+       exit
+fi
+
 # Remove packages older than the ones we're moving in $srctree tree
 olderpkgs=`find_older_pkgs "$srctree" "$pkglist"`
 remove_pkgs "$srctree" "$olderpkgs"
This page took 0.104889 seconds and 4 git commands to generate.