X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=id-deb-build%2Fid-pbuild.sh;h=f45cbde15541b36316765e17cacb0143662df4ae;hb=d36a30c985272deb4371239e194df7c6b80645d7;hp=c2a09008e76079c8a9ee160222f047d3866a32c9;hpb=b2e774942097790f0f97cf07878ff04e01661798;p=git-tools-moved-to-github.git diff --git a/id-deb-build/id-pbuild.sh b/id-deb-build/id-pbuild.sh index c2a0900..f45cbde 100755 --- a/id-deb-build/id-pbuild.sh +++ b/id-deb-build/id-pbuild.sh @@ -12,6 +12,7 @@ Options: [--ubuntu=distros] [--upload] [--concurrency=N] + [--product=X] EOF exit $1 } @@ -31,17 +32,23 @@ while test $# -gt 0; do esac case $1 in + --debian=*) + DEBIAN_DIST=$optarg + ;; --ubuntu=*) UBUNTU_DIST=$optarg ;; - --debian=*) - DEBIAN_DIST=$optarg + --upload) + upload=true ;; --concurrency=*) concurrency=$optarg ;; - --upload) - upload=true + --product=*) + PRODUCT=$optarg + ;; + --remote=*) + REMOTE=$optarg ;; -*) do_help=yes @@ -54,6 +61,24 @@ if test "$do_help" = "yes"; then usage 1 1>&2 fi +if test "$REMOTE"; then + if test ! -d deb-src; then + echo "deb-src not in current directory" + exit 1 + fi + cd deb-src + PRODUCT=`echo *.dsc|sed 's/_.*//g'` + cd .. + ssh $REMOTE "mkdir -p $PRODUCT/deb-src" + scp IDMETA $REMOTE:$PRODUCT + scp deb-src/*.gz deb-src/*.dsc $REMOTE:$PRODUCT/deb-src + if $upload; then + ssh $REMOTE "cd $PRODUCT; \$HOME/proj/git-tools/id-deb-build/id-pbuild.sh --upload" + else + ssh $REMOTE "cd $PRODUCT; sudo \$HOME/proj/git-tools/id-deb-build/id-pbuild.sh" + fi + exit 0 +fi if test -d deb-src; then cd deb-src fi @@ -71,8 +96,15 @@ if test ! -e "$PKG"; then exit 1 fi PBUILDER=/usr/sbin/pbuilder -PRODUCT=`echo *.dsc|sed 's/_.*//g'` +if test -z "$PRODUCT"; then + PRODUCT=`echo *.dsc|sed 's/_.*//g'` +fi ARCHS="i386 amd64" +if grep "Architecture: all" $PKG >/dev/null; then + USE_ARCHS=i386 +else + USE_ARCHS=$ARCHS +fi echo "Dsc $PKG . Product $PRODUCT" echo "Ubuntu distros: $UBUNTU_DIST" echo "Debian distros: $DEBIAN_DIST" @@ -83,24 +115,36 @@ if $upload; then 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 "" + echo "====================================================" + echo "Remember to update APT on ftp.indexdata.dk !!!" + echo "" + echo "ssh ftp.indexdata.dk" + echo "cd ~/proj/git-tools/update-archive" echo "sudo su" echo "./update-archive.sh" + echo "====================================================" exit 0 fi +# remove existing package directories +for f in [a-z]*; do + if test -d $f; then + rm -fr $f + fi +done +rm -f *.log + i=0 date + for dist in ${DEBIAN_DIST} ${UBUNTU_DIST}; do - for arch in ${ARCHS}; do + for arch in ${USE_ARCHS}; do rm -fr ${dist}-${arch} ( if test ! -f /var/cache/pbuilder/${dist}-${arch}-base.tgz; then DIST=$dist ARCH=$arch $PBUILDER create fi - for f in `find /var/cache/pbuilder/${dist}-${arch}-base.tgz -ctime +7`; do - DIST=$dist ARCH=$arch $PBUILDER update --override-config - done + DIST=$dist ARCH=$arch $PBUILDER update --override-config DIST=$dist ARCH=$arch $PBUILDER --build $PKG ) >${dist}-${arch}.log 2>&1 & i=`expr $i + 1` @@ -112,7 +156,7 @@ for dist in ${DEBIAN_DIST} ${UBUNTU_DIST}; do done wait for dist in ${DEBIAN_DIST} ${UBUNTU_DIST}; do - for arch in ${ARCHS}; do + for arch in ${USE_ARCHS}; do if test -f ${dist}-${arch}/*.dsc; then : else