--- /dev/null
+#!/bin/sh
+
+. ~/pld-ftp-admin/scripts/functions
+
+if [ "$#" -lt "3" ]; then
+ echo "Not enough parametrs given"
+ echo "check-build.sh tree package1 [package2...]"
+ exit
+fi
+
+if [ ! -d "$FTP_DIR/$1" ]; then
+ echo "$FTP_DIR/$1 does not exist"
+ exit
+fi
+
+if [ ! -d "$FTP_DIR/$1" ]; then
+ echo "$FTP_DIR/$2 does not exist"
+ exit
+fi
+
+# we set $trees and $pkglist
+srctree=$1
+dsttree=$2
+shift 2
+
+init_pkglist "$srctree" "$*"
+
+if [ "$errnum" != "0" ]; then
+ echo "$errnum error(s) encountered... aborting"
+ 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
+
+
+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"
+ exit
+fi
+