Pbuilder may read IDMETA to get list distros
[git-tools-moved-to-github.git] / id-deb-build / id-pbuild-all.sh
index 796eddd..b93a9f1 100755 (executable)
@@ -1,6 +1,16 @@
 #!/bin/sh
 update=true
-PKG="$1"
+if test -f IDMETA; then
+       . ./IDMETA
+fi
+if test -d deb-src; then
+       cd deb-src
+fi
+for f in *.dsc; do
+       if test -f "$f"; then
+               PKG=$f
+       fi
+done
 if test -z "$PKG"; then
        echo "Specify .dsc file"
        exit 1
@@ -10,33 +20,60 @@ if test ! -e "$PKG"; then
        exit 1
 fi
 PRODUCT=`echo *.dsc|sed 's/_.*//g'`
-DEBIAN_DIST="squeeze etch lenny"
-UBUNTU_DIST="jaunty intrepid hardy"
+if test -z "$DEBIAN_DIST"; then
+       DEBIAN_DIST="squeeze etch lenny"
+fi
+if test -z "$UBUNTU_DIST"; then
+       UBUNTU_DIST="karmic jaunty intrepid hardy"
+fi
 
-if test "$2" = "upload"; then
+if test "$1" = "upload"; then
        for dist in ${UBUNTU_DIST}; do
                scp ${dist}-*/* ftp.indexdata.dk:/home/ftp/pub/${PRODUCT}/ubuntu/${dist}
        done
        for dist in ${DEBIAN_DIST}; do
                scp ${dist}-*/* ftp.indexdata.dk:/home/ftp/pub/${PRODUCT}/debian/${dist}
        done
+       echo "Remember to update APT on ftp.indexdata.dk"
+       echo "cd git-tools/update-archive"
+       echo "sudo su"
+       echo "./update-archive.sh"
        exit 0
 fi
+i=0
+concurrency=4
+echo "Building $PKG"
+date
 for dist in ${DEBIAN_DIST} ${UBUNTU_DIST}; do
-       for arch in i386 amd64; do
-               if test ! -f /var/cache/pbuilder/${dist}-${arch}-base.tgz; then
-                       DIST=$dist ARCH=$arch pbuilder create
-               fi
-               if $update; then
-                       DIST=$dist ARCH=$arch pbuilder update --override-config
-               fi
-               DIST=$dist ARCH=$arch pbuilder --build $PKG
-               if test -f ${dist}-${arch}/*.dsc; then
-                       :
-               else
-                       echo "No .dsc file for ${dist}-${arch}"
-                       exit 1
-               fi
-       done
+    for arch in i386 amd64; do
+        rm -fr ${dist}-${arch}
+       (
+           if test ! -f /var/cache/pbuilder/${dist}-${arch}-base.tgz; then
+               DIST=$dist ARCH=$arch pbuilder create
+           fi
+           if $update; then
+               DIST=$dist ARCH=$arch pbuilder update --override-config
+           fi
+           DIST=$dist ARCH=$arch pbuilder --build $PKG
+           ) >${dist}-${arch}.log 2>&1 &
+       i=`expr $i + 1`
+       if test $i -eq $concurrency; then
+           i=0
+           wait
+       fi
+    done
 done
-
+wait
+for dist in ${DEBIAN_DIST} ${UBUNTU_DIST}; do
+    for arch in i386 amd64; do
+       
+       if test -f ${dist}-${arch}/*.dsc; then
+           :
+       else
+           echo "No .dsc file for ${dist}-${arch}"
+           exit 1
+       fi
+    done
+done
+date
+echo "Done"