Less verbose id-mk-deb-src.sh
[git-tools-moved-to-github.git] / id-rpm-build / upload-rpms.sh
index 471d249..9450fbe 100755 (executable)
@@ -1,20 +1,37 @@
-BUILD_DIR=/usr/src/redhat/
+#!/bin/sh
 PWD=`pwd`
-UPLOAD_PATH=/home/ftp/pub
-UPLOAD_HOST=flurry
-UPLOAD_DIR=`basename $PWD`
-UPLOAD_URI=${UPLOAD_HOST}:${UPLOAD_PATH}/${UPLOAD_DIR}
-DISTRO="centos/5.5"
-project=`basename $PWD`
-if test ! -f ${project}.spec; then
-       echo "Missing ${project}.spec file. Are you in the project directory?"
+UPLOAD_PATH=${UPLOAD_PATH:=/home/ftp/pub}
+UPLOAD_HOST=${UPLOAD_HOST:=ftp.indexdata.dk}
+specfile=$1
+if test ! -f "${specfile}"; then
+       echo "Missing .spec file argument."
        exit 1
 fi
 if test ! -x /bin/rpm; then
         echo "$0: /bin/rpm missing. Install rpm"
         exit 1
 fi
-pkg_names=`rpm -q --specfile ${project}.spec`
+if test ! -f /etc/redhat-release; then
+       echo "/etc/redhat-release missing"
+       exit 1
+fi
+if test -z "$DISTRO"; then
+       if grep 'release 6' /etc/redhat-release >/dev/null; then
+               DISTRO="centos/6"
+        elif grep 'release 7' /etc/redhat-release > /dev/null; then
+                DISTRO="centos/7"
+       else
+               DISTRO="centos/5.5"
+       fi
+fi
+topdir=`rpm --eval "%{_topdir}"`
+BUILD_DIR=${BUILD_DIR:=${topdir}}
+pkg_names=`rpm -q --specfile ${specfile} --queryformat "%{NAME}-%{VERSION}-%{RELEASE}\n"`
+pkg_short=`rpm -q --specfile ${specfile} --queryformat "%{NAME};" | cut -d ";" -f1`
+
+UPLOAD_DIR=${UPLOAD_DIR:=${pkg_short}}
+UPLOAD_URI=${UPLOAD_HOST}:${UPLOAD_PATH}/${UPLOAD_DIR}
+echo "Uploading to ${UPLOAD_URI}..."
 inc_src=true
 if test ! -d ${BUILD_DIR}/SRPMS; then 
        echo "No SRPMS dir under ${BUILD_DIR}"
@@ -27,21 +44,24 @@ if test ! -d ${BUILD_DIR}/RPMS; then
 fi
 
 for pkg in ${pkg_names}; do
+       copy=false
        if $inc_src; then
-               if test ! -f ${BUILD_DIR}/SRPMS/${pkg}.src.rpm; then
-                       echo "No SRPM for ${pkg}"
-               else
+               if test -f ${BUILD_DIR}/SRPMS/${pkg}.src.rpm; then
                        scp ${BUILD_DIR}/SRPMS/${pkg}.src.rpm ${UPLOAD_URI}/redhat/${DISTRO}/SRPMS/
-               fi      
-       fi  
+                       copy=true
+               fi
+       fi
        if $inc_bin; then
                for dir in ${BUILD_DIR}/RPMS/*; do
                        arch=`basename ${dir}`
                        if test -f ${dir}/${pkg}.${arch}.rpm; then
+                               copy=true
                                scp ${dir}/${pkg}.${arch}.rpm ${UPLOAD_URI}/redhat/${DISTRO}/RPMS/${arch}/
-                       else
-                               echo "No ${pkg} in arch ${arch}"
                        fi
                done
+               if ! $copy; then
+                       echo "FAILED: No RPM copied for: ${pkg}"
+                       exit 1
+               fi
        fi
 done