X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=id-deb-build%2Fid-pbuild.sh;h=8e131a606dddf3e66508f97c45b5f2c231363c6c;hb=863c4277ac9212d165ad5fbde7a9c7bbbaa3c996;hp=51cb8e0164beba1ede7bb558bc41b2d0777f84fe;hpb=3deaab8b50c52d9dc2a09ebe4173911bbe46b7d5;p=git-tools-moved-to-github.git diff --git a/id-deb-build/id-pbuild.sh b/id-deb-build/id-pbuild.sh index 51cb8e0..8e131a6 100755 --- a/id-deb-build/id-pbuild.sh +++ b/id-deb-build/id-pbuild.sh @@ -32,16 +32,15 @@ while test $# -gt 0; do -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; *) optarg= ;; esac - case $1 in --debian=*) - DEBIAN_DIST=$optarg + DEBIAN_DIST_A=$optarg ;; --ubuntu=*) - UBUNTU_DIST=$optarg + UBUNTU_DIST_A=$optarg ;; --centos=*) - CENTOS_DIST=$optarg + CENTOS_DIST_A=$optarg ;; --upload) upload=true @@ -59,10 +58,22 @@ while test $# -gt 0; do shift done +if test "$DEBIAN_DIST_A" -o "$UBUNTU_DIST_A" -o "$CENTOS_DIST_A"; then + DEBIAN_DIST=$DEBIAN_DIST_A + UBUNTU_DIST=$UBUNTU_DIST_A + CENTOS_DIST=$CENTOS_DIST_A +fi + 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 +91,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 @@ -155,15 +190,9 @@ if $upload; then done echo "" echo "====================================================" - echo "Remember to update APT/YUM on ftp.indexdata.dk !!!" - echo "" - echo "ssh ftp.indexdata.dk" - echo "cd ~/proj/git-tools/update-archive" - echo "sudo su" - echo "./update-archive.sh" - if test ${CENTOS_DIST}; then - echo "./update-yum-archive.sh" - fi + echo "APT/YUM should be updated via cron every 15 minutes " + echo " from July 11 2013 and later." + echo "No need to call update archive on kebab" echo "====================================================" exit 0 fi @@ -180,10 +209,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