Install redhat-rpm-config to ensure debuginfo packages
[git-tools-moved-to-github.git] / id-deb-build / docker-build.sh
index 780bcfc..4a03468 100755 (executable)
@@ -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"
@@ -204,48 +206,73 @@ fi
 
 if test "${CENTOS_DIST}"; then
     for dist in ${CENTOS_DIST}; do
-       echo -n "$dist "
        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 --rm  -v "$PWD:/build" -w /build/rpmbuild centos:$D ../in-docker-rpm.sh centos $D >log 2>&1
+
+       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
-       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
+       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
-       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
+       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