X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=id-deb-build%2Fid-pbuild-all.sh;h=b93a9f1df09c4b5e1ad7776df2b4e85e2749a9fb;hb=ccb9839ac8f63b8b5418e7ef050c9a723018bb01;hp=265c8c95e3bee6b9b610a417d34e8ad5a026cc18;hpb=c47cbdcd498c3ab1d72c7ca0dd78a61525b9f23f;p=git-tools-moved-to-github.git diff --git a/id-deb-build/id-pbuild-all.sh b/id-deb-build/id-pbuild-all.sh index 265c8c9..b93a9f1 100755 --- a/id-deb-build/id-pbuild-all.sh +++ b/id-deb-build/id-pbuild-all.sh @@ -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 @@ -9,11 +19,61 @@ if test ! -e "$PKG"; then echo "${PKG} does not exist" exit 1 fi -for dist in jaunty intrepid hardy etch lenny; do - for arch in i386 amd64; do - if $update; then - DIST=$dist ARCH=$arch pbuilder update --override-config - fi - DIST=$dist ARCH=$arch pbuilder --build $PKG +PRODUCT=`echo *.dsc|sed 's/_.*//g'` +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 "$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 + 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"