X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=id-rpm-build%2Fupload-rpms.sh;h=9450fbe750cae55b0e288ee3b10bb7fe419919de;hb=fbd311a18ca0ebf2fa303be7317f693f811fc23e;hp=471d249427dc343577a53f6582647086c110bb59;hpb=4daa435a1c71f35a6ee193895c92bb975ac326be;p=git-tools-moved-to-github.git diff --git a/id-rpm-build/upload-rpms.sh b/id-rpm-build/upload-rpms.sh index 471d249..9450fbe 100755 --- a/id-rpm-build/upload-rpms.sh +++ b/id-rpm-build/upload-rpms.sh @@ -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