X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=id-deb-build%2Fdocker-build.sh;h=4a034685fed15c9c9499f64676ad4f88086bca58;hb=60380be593adab08eb160b2abc6f355a72c4e5c7;hp=e608f79603f367c2f45c2d2503f41fcc66e41bdd;hpb=edc85c45c79b5e340fb759a273d63590b144f05a;p=git-tools-moved-to-github.git diff --git a/id-deb-build/docker-build.sh b/id-deb-build/docker-build.sh index e608f79..4a03468 100755 --- a/id-deb-build/docker-build.sh +++ b/id-deb-build/docker-build.sh @@ -6,11 +6,11 @@ Usage: docker-build.sh [OPTIONS] Options: [--debian=distros] [--ubuntu=distros] + [--verbose] [--upload] EOF exit $1 } -set -x D0=`dirname $0` ID_DEB_BUILD=`cd $D0; pwd` @@ -32,12 +32,12 @@ while test $# -gt 0; do --centos=*) CENTOS_DIST_A=$optarg ;; - --concurrency=*) - concurrency=$optarg - ;; --upload) upload=true ;; + --verbose) + set -x + ;; -*) do_help=yes ;; @@ -92,18 +92,20 @@ if $upload; then if $centos; then for dist in ${CENTOS_DIST}; do case $dist in + centos5) + F=5.5;; centos6) - D=6;; + F=6;; centos7) - D=7;; + F=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 + ssh ${UPLOAD_HOST} "mkdir -p ${UPLOAD_PATH}/${PRODUCT}/redhat/centos/$F/RPMS" + ssh ${UPLOAD_HOST} "mkdir -p ${UPLOAD_PATH}/${PRODUCT}/redhat/centos/$F/SRPMS" + scp -r build/centos/$dist/rpmbuild/RPMS ${UPLOAD_URI}/redhat/centos/$F + scp -r build/centos/$dist/rpmbuild/SRPMS ${UPLOAD_URI}/redhat/centos/$F 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" @@ -141,7 +143,7 @@ fi if $centos; then for dist in ${CENTOS_DIST}; do - sudo rm -fr build/centos/$dist + 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 @@ -186,7 +188,7 @@ if $debian; 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 @@ -205,30 +207,73 @@ fi if test "${CENTOS_DIST}"; then for dist in ${CENTOS_DIST}; do case $dist in + centos5) + F=5.5 + D=5;; centos6) + F=6 D=6;; centos7) + F=7 D=7;; *) echo "$dist not supported" exit 1 esac cd build/centos/$dist - docker run -it --rm -v "$PWD:/build" -w /build/rpmbuild centos:$D ../in-docker-rpm.sh centos $D + + echo "FROM centos:$D" >Dockerfile + echo "RUN yum install -y wget yum-utils redhat-rpm-config rpm-build gcc gcc-c++ make" >>Dockerfile + echo "RUN rpm --import http://ftp.indexdata.com/pub/yum/centos/$F/RPM-GPG-KEY-indexdata" >>Dockerfile + echo "RUN wget http://ftp.indexdata.com/pub/yum/centos/$F/indexdata.repo -P /etc/yum.repos.d/" >>Dockerfile + echo 'ENTRYPOINT ["/bin/sh", "-c"]' >>Dockerfile + docker build -t indexdata-build-centos-$D . + echo -n "$dist " + docker run --rm -v "$PWD:/build" -w /build/rpmbuild indexdata-build-centos-$D ../in-docker-rpm.sh >log 2>&1 + if test $? -eq 0; then + echo Done + else + echo "Fail. Inspect build/centos/$dist/log" + exit 1 + fi cd ../../.. 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 + echo "FROM debian:$dist" >Dockerfile + echo 'RUN apt-get update && apt-get -q install -y wget devscripts equivs' >>Dockerfile + echo 'RUN wget -q -O - http://ftp.indexdata.dk/debian/indexdata.asc|apt-key add -' >>Dockerfile + echo "RUN echo \"deb http://ftp.indexdata.dk/debian $dist main\" >/etc/apt/sources.list.d/indexdata.list" >>Dockerfile + docker build -t indexdata-build-debian-$dist . + echo -n "Debian $dist " + docker run --rm -v "$PWD:/build" -w /build/$PRODUCT-$VERSION indexdata-build-debian-$dist ../in-docker.sh >log 2>&1 + if test $? -eq 0; then + echo Done + else + echo "Fail. Inspect build/debian/$dist/log" + exit 1 + fi 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 + echo "FROM ubuntu:$dist" >Dockerfile + echo 'RUN apt-get update && apt-get -q install -y wget devscripts equivs' >>Dockerfile + echo 'RUN wget -q -O - http://ftp.indexdata.dk/debian/indexdata.asc|apt-key add -' >>Dockerfile + echo "RUN echo \"deb http://ftp.indexdata.dk/ubuntu $dist main\" >/etc/apt/sources.list.d/indexdata.list" >>Dockerfile + docker build -t indexdata-build-ubuntu-$dist . + echo -n "Ubuntu $dist " + docker run --rm -v "$PWD:/build" -w /build/$PRODUCT-$VERSION indexdata-build-ubuntu-$dist ../in-docker.sh >log 2>&1 + if test $? -eq 0; then + echo Done + else + echo "Fail. Inspect build/ubuntu/$dist/log" + exit 1 + fi cd ../../.. done fi