Merge branch 'master' of ssh://kebab.indexdata.dk:222/home/git/pub/git-tools
authorWolfram Schneider <wosch@indexdata.dk>
Tue, 2 Apr 2013 09:10:19 +0000 (09:10 +0000)
committerWolfram Schneider <wosch@indexdata.dk>
Tue, 2 Apr 2013 09:10:19 +0000 (09:10 +0000)
id-deb-build/id-pbuild.sh
id-release
update-archive/update-yum-archive.sh

index 004f892..8985207 100755 (executable)
@@ -55,7 +55,7 @@ while test $# -gt 0; do
        -*)
            do_help=yes
            ;;
-    esac
+    esac 
     shift
 done
 
@@ -63,6 +63,12 @@ if test "$do_help" = "yes"; then
     usage 1 1>&2
 fi
 
+if test "$DEBIAN_DIST" -o "$UBUNTU_DIST"; then
+    debian=true
+else
+    debian=false
+fi
+
 D0=`dirname $0`
 ID_DEB_BUILD=`cd $D0; pwd`
 PBUILDROOT=${ID_DEB_BUILD}/id-pbuild-root.sh
@@ -80,69 +86,93 @@ fi
 if $upload; then
     :
 else
-    if test "${SUDO_USER}"; then
-       if test ! -d deb-src; then
+    if $debian; then
+       if test "${SUDO_USER}"; then
+           if test ! -d deb-src; then
+               $MKDEBSRC
+           fi
+       else
+           if test -d deb-src; then
+               rm -f deb-src/*.gz
+               if test $? -ne 0; then
+                   echo "deb-src could not be removed. Remove deb-src manually"
+                   exit 1
+               fi
+           fi
            $MKDEBSRC
        fi
     else
-       if test -d deb-src; then
-           rm -f deb-src/*.gz
-           if test $? -ne 0; then
-               echo "deb-src could not be removed. Remove deb-src manually"
-               exit 1
-           fi
-       fi
-       $MKDEBSRC
+       mkdir -p deb-src
     fi
 fi
+
 cd deb-src
 
-for f in *.dsc; do
-    if test -f "$f"; then
-       PKG=$f
+if $debian; then
+    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
+    fi
+    if test ! -e "$PKG"; then
+       echo "${PKG} does not exist"
+       exit 1
+    fi
+    if grep "Architecture: all" $PKG >/dev/null; then
+       USE_ARCHS=i386
+    else
+       USE_ARCHS=$ARCHS
     fi
-done
-if test -z "$PKG"; then
-    echo "Specify .dsc file"
-    exit 1
-fi
-if test ! -e "$PKG"; then
-    echo "${PKG} does not exist"
-    exit 1
 fi
+
 if test -z "$PRODUCT"; then
-    PRODUCT=`echo *.dsc|sed 's/_.*//g'`
+    PRODUCT=$NAME
 fi
-if grep "Architecture: all" $PKG >/dev/null; then
-    USE_ARCHS=i386
-else
-    USE_ARCHS=$ARCHS
+if test -z "$PRODUCT"; then
+    if $debian; then
+       PRODUCT=`echo *.dsc|sed 's/_.*//g'`
+    else
+       PRODUCT=`cd ..;rpm -q --specfile *.spec --queryformat "%{NAME};" | cut -d ";" -f1`
+    fi
 fi
 echo "Dsc $PKG . Product $PRODUCT"
 echo "Ubuntu distros: $UBUNTU_DIST"
 echo "Debian distros: $DEBIAN_DIST"
 echo "Centos distros: $CENTOS_DIST"
-if test "${SUDO_USER}"; then
-    echo "Running as sudo."
-    echo "Tip: You can avoid it by adding the following in /etc/sudoers"
-    echo "${SUDO_USER} ALL=NOPASSWD: ${ID_DEB_BUILD}/id-pbuild-root.sh"
-    HOME_EXPORT=/home/${SUDO_USER}
-else
-    sudo -k
-    HOME_EXPORT=$HOME
-fi
-if test ! -f ${HOME_EXPORT}/.pbuilderrc; then
-    echo "${HOME_EXPORT}/.pbuilderrc missing"
-    exit 1
+
+if $debian; then
+    if test "${SUDO_USER}"; then
+       echo "Running as sudo."
+       echo "Tip: You can avoid it by adding the following in /etc/sudoers"
+       echo "${SUDO_USER} ALL=NOPASSWD: ${ID_DEB_BUILD}/id-pbuild-root.sh"
+       HOME_EXPORT=/home/${SUDO_USER}
+    else
+       sudo -k
+       HOME_EXPORT=$HOME
+    fi
+    if test ! -f ${HOME_EXPORT}/.pbuilderrc; then
+       echo "${HOME_EXPORT}/.pbuilderrc missing"
+       exit 1
+    fi
 fi
 
 if $upload; then
     for dist in ${CENTOS_DIST}; do
        arch=amd64
        prodver=${PRODUCT}-${VERSION}
-       if ssh $dist "cd rpmbuild/SOURCES/${prodver} && ../../../proj/git-tools/id-rpm-build/upload-rpms.sh ${PRODUCT}.spec"; then
+       if scp ${ID_DEB_BUILD}/../id-rpm-build/upload-rpms.sh ${dist}:rpmbuild/SOURCES/${prodver}/; then
            :
-           else
+       else
+           echo "Copy of upload-rpms.sh to $dist failed"
+           exit 1
+       fi
+       if ssh $dist "cd rpmbuild/SOURCES/${prodver} && chmod +x upload-rpms.sh && ./upload-rpms.sh ${PRODUCT}.spec"; then
+           :
+       else
            echo "Upload failed for $dist"
            exit 1
        fi
@@ -180,10 +210,10 @@ for dist in ${CENTOS_DIST}; do
        exit 1
     fi
 
-    if ssh $dist "test -f .rpmmacros && test -d rpmbuild/SOURCES && test -d rpmbuild/RPMS && test -d rpmbuild/SRPMS && test -x proj/git-tools/id-rpm-build/upload-rpms.sh"; then
+    if ssh $dist "test -f .rpmmacros && test -d rpmbuild/SOURCES && test -d rpmbuild/RPMS && test -d rpmbuild/SRPMS"; then
        :
     else
-       echo "Host $dist does not seem to be prepared with git-tools and rpmbuild directories"
+       echo "Host $dist does not seem to be prepared with rpmbuild directories"
        exit 1
     fi
 
index 4edeeb7..fd71ce8 100755 (executable)
@@ -76,7 +76,7 @@ perl -i.bak -npe "s,^Version: \d+.*,Version: $version," $spec
 ######################################################################
 echo ""
 echo "# Please commit the version updates now"
-echo "git commit -a"
+echo "git commit -a -m'new release v$version'"
 echo ""
 echo "# Please run now"
 echo "git push"
index f280e64..4983186 100755 (executable)
@@ -98,7 +98,7 @@ for vdist in centos/5.5 rhel/5.5 centos/6; do
                 fi
                 if $mustsign; then
                   ln -sf $f $d/${arch}/Packages/
-                 if rpm -K $f|grep -q ' gpg' >/dev/null; then
+                 if rpm -K $f|grep -q 'GPG' >/dev/null; then
                    echo "Already signed $f"
                   else
                    expect << __EOF
@@ -123,7 +123,10 @@ echo "Updating repository meta:"
 for rdir in ${dirs_to_upd}; do
   echo "Section ${rdir}"
   if test -d $rdir && ls -A $rdir; then
-       createrepo --update ${rdir}
+       # Get rid of createrepo warnings
+       # https://bugs.launchpad.net/ubuntu/+source/createrepo/+bug/530015
+       createrepo --update ${rdir} 2>&1 |
+               grep -v DeprecationWarning:|grep -v '  import'
        if test -f ${rdir}/repodata/repomd.xml.asc; then
                rm ${rdir}/repodata/repomd.xml.asc
        fi