Options:
[--debian=distros]
[--ubuntu=distros]
+ [--verbose]
[--upload]
EOF
exit $1
}
-set -x
D0=`dirname $0`
ID_DEB_BUILD=`cd $D0; pwd`
--centos=*)
CENTOS_DIST_A=$optarg
;;
- --concurrency=*)
- concurrency=$optarg
- ;;
--upload)
upload=true
;;
+ --verbose)
+ set -x
+ ;;
-*)
do_help=yes
;;
fi
if test "$CENTOS_DIST"; then
- echo "CentOS not yet supported"
- exit 1
+ RNAME=`awk '/Name:/ {print $2}' *.spec`
+ if test "$NAME" -a "$NAME" != "$RNAME"; then
+ echo "NAME in IDMETA ($NAME) does not match RPM spec NAME ($RNAME)"
+ exit 1
+ fi
+ PRODUCT=$RNAME
centos=true
else
centos=false
debian=false
fi
+TAR=${PRODUCT}-${VERSION}.tar.gz
+if test ! -f "$TAR"; then
+ echo "tar $TAR missing"
+ exit 1
+fi
+
if $upload; then
UPLOAD_URI=${UPLOAD_HOST}:${UPLOAD_PATH}/${PRODUCT}
echo "Uploading to ${UPLOAD_URI}"
+ if $centos; then
+ for dist in ${CENTOS_DIST}; do
+ case $dist in
+ centos6)
+ D=6;;
+ centos7)
+ D=7;;
+ *)
+ echo "$dist not supported"
+ exit 1
+ esac
+ ssh ${UPLOAD_HOST} "mkdir -p ${UPLOAD_PATH}/${PRODUCT}/redhat/centos/$D/RPMS"
+ ssh ${UPLOAD_HOST} "mkdir -p ${UPLOAD_PATH}/${PRODUCT}/redhat/centos/$D/SRPMS"
+ scp -r build/centos/$dist/rpmbuild/RPMS ${UPLOAD_URI}/redhat/centos/$D
+ scp -r build/centos/$dist/rpmbuild/SRPMS ${UPLOAD_URI}/redhat/centos/$D
+ done
+ if ! ssh ${UPLOAD_HOST} "sudo -n /home/indexdata/proj/git-tools/update-archive/update-yum-archive.sh" >yum-update.log 2>&1; then
+ echo "update-yum-archive.sh failed; inspect yum-update.log"
+ exit 1
+ fi
+ fi
if $debian; then
if test -n "${DEBIAN_DIST}"; then
for dist in ${DEBIAN_DIST}; do
exit 0
fi
+
+if $centos; then
+ for dist in ${CENTOS_DIST}; do
+ test -d build/centos/$dist && sudo rm -fr build/centos/$dist
+ mkdir -p build/centos/$dist/rpmbuild
+ mkdir -p build/centos/$dist/rpmbuild/BUILD
+ mkdir -p build/centos/$dist/rpmbuild/BUILDROOT
+ mkdir -p build/centos/$dist/rpmbuild/RPMS/noarch
+ mkdir -p build/centos/$dist/rpmbuild/RPMS/x86_64
+ mkdir -p build/centos/$dist/rpmbuild/SOURCES
+ mkdir -p build/centos/$dist/rpmbuild/SPECS
+ mkdir -p build/centos/$dist/rpmbuild/SRPMS
+ cp ${TAR} build/centos/$dist/rpmbuild/SOURCES
+ SPEC=${PRODUCT}.spec
+ cp ${SPEC} build/centos/$dist/rpmbuild/SPECS
+ cp IDMETA build/centos/$dist/rpmbuild
+ cp ${ID_DEB_BUILD}/in-docker-rpm.sh build/centos/$dist
+ done
+
+fi
+
if $debian; then
MKDEBSRC=${ID_DEB_BUILD}/id-mk-deb-src.sh
if test ! -x $MKDEBSRC; then
if test "${DEBIAN_DIST}"; then
for dist in ${DEBIAN_DIST}; do
- sudo rm -fr build/debian/$dist
+ test -f build/debian/$dist && sudo rm -fr build/debian/$dist
mkdir -p build/debian
cp -a deb-src build/debian/$dist
cp ${ID_DEB_BUILD}/in-docker.sh build/debian/$dist
cp ${ID_DEB_BUILD}/in-docker.sh build/ubuntu/$dist
done
fi
- if test "${DEBIAN_DIST}"; then
- for dist in ${DEBIAN_DIST}; do
- cd build/debian/$dist
- docker run -it --rm -v "$PWD:/build" -w /build/$PRODUCT-$VERSION debian:$dist ../in-docker.sh debian $dist
- cd ../../..
- done
- fi
- if test "${UBUNTU_DIST}"; then
- for dist in ${UBUNTU_DIST}; do
- cd build/ubuntu/$dist
- docker run -it --rm -v "$PWD:/build" -w /build/$PRODUCT-$VERSION ubuntu:$dist ../in-docker.sh ubuntu $dist
- cd ../../..
- done
- fi
+fi
+
+if test "${CENTOS_DIST}"; then
+ for dist in ${CENTOS_DIST}; do
+ echo -n "$dist "
+ case $dist in
+ centos6)
+ D=6;;
+ centos7)
+ D=7;;
+ *)
+ echo "$dist not supported"
+ exit 1
+ esac
+ cd build/centos/$dist
+ docker run --rm -v "$PWD:/build" -w /build/rpmbuild centos:$D ../in-docker-rpm.sh centos $D >log 2>&1
+ if test $? -eq 0; then
+ echo Done
+ else
+ echo "Fail. Inspect build/centos/$dist/log"
+ fi
+ cd ../../..
+ done
+fi
+if test "${DEBIAN_DIST}"; then
+ for dist in ${DEBIAN_DIST}; do
+ echo -n "Debian $dist "
+ cd build/debian/$dist
+ docker run --rm -v "$PWD:/build" -w /build/$PRODUCT-$VERSION debian:$dist ../in-docker.sh debian $dist >log 2>&1
+ if test $? -eq 0; then
+ echo Done
+ else
+ echo "Fail. Inspect build/debian/$dist/log"
+ fi
+ cd ../../..
+ done
+fi
+if test "${UBUNTU_DIST}"; then
+ for dist in ${UBUNTU_DIST}; do
+ echo -n "Ubuntu $dist"
+ cd build/ubuntu/$dist
+ docker run --rm -v "$PWD:/build" -w /build/$PRODUCT-$VERSION ubuntu:$dist ../in-docker.sh ubuntu $dist >log 2>&1
+ if test $? -eq 0; then
+ echo Done
+ else
+ echo "Fail. Inspect build/ubuntu/$dist/log"
+ fi
+ cd ../../..
+ done
fi
# Local Variables: