Reformat
[git-tools-moved-to-github.git] / id-deb-build / id-pbuild.sh
index abb65fd..888b482 100755 (executable)
@@ -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,16 +115,30 @@ 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
@@ -110,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