From 43dc2d76ae80a3dfaf91f6a533c6872f8b0318c3 Mon Sep 17 00:00:00 2001 From: dave Date: Wed, 9 Jun 2021 19:53:33 -0700 Subject: [PATCH] use intermediate dockerfile --- Dockerfile.bionic | 2 +- Dockerfile.disco | 2 +- Dockerfile.focal | 14 ++++++++++++++ Dockerfile.trusty | 2 +- Dockerfile.xenial | 2 +- build.sh | 11 ++++++++++- images.sh | 3 ++- scripts/bootstrap.sh | 4 ---- 8 files changed, 30 insertions(+), 10 deletions(-) create mode 100644 Dockerfile.focal diff --git a/Dockerfile.bionic b/Dockerfile.bionic index e442f50..326c60e 100644 --- a/Dockerfile.bionic +++ b/Dockerfile.bionic @@ -3,7 +3,7 @@ FROM ubuntu:bionic RUN sed -i -E 's/(archive|security).ubuntu.com/192.168.1.142/' /etc/apt/sources.list && \ sed -i -E 's/^deb-src/# deb-src/' /etc/apt/sources.list && \ apt-get update && \ - apt-get install -y dpkg-dev debhelper build-essential sudo wget curl + DEBIAN_FRONTEND=noninteractive apt-get install -y dpkg-dev debhelper build-essential sudo wget curl RUN useradd builder && \ install -d /build -o builder -g builder diff --git a/Dockerfile.disco b/Dockerfile.disco index b969964..aa596ef 100644 --- a/Dockerfile.disco +++ b/Dockerfile.disco @@ -3,7 +3,7 @@ FROM ubuntu:disco RUN sed -i -E 's/(archive|security).ubuntu.com/192.168.1.142/' /etc/apt/sources.list && \ sed -i -E 's/^deb-src/# deb-src/' /etc/apt/sources.list && \ apt-get update && \ - apt-get install -y dpkg-dev debhelper build-essential sudo wget curl + DEBIAN_FRONTEND=noninteractive apt-get install -y dpkg-dev debhelper build-essential sudo wget curl RUN useradd builder && \ install -d /build -o builder -g builder diff --git a/Dockerfile.focal b/Dockerfile.focal new file mode 100644 index 0000000..ef58148 --- /dev/null +++ b/Dockerfile.focal @@ -0,0 +1,14 @@ +FROM ubuntu:focal + +RUN sed -i -E 's/(archive|security).ubuntu.com/192.168.1.142/' /etc/apt/sources.list && \ + sed -i -E 's/^deb-src/# deb-src/' /etc/apt/sources.list && \ + apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y dpkg-dev debhelper build-essential sudo wget curl + +RUN useradd builder && \ + install -d /build -o builder -g builder + +ADD scripts/bootstrap.sh /bootstrap.sh +ADD scripts/build.sh /build.sh + +ENTRYPOINT ["/bootstrap.sh"] diff --git a/Dockerfile.trusty b/Dockerfile.trusty index d103ec6..fdc5331 100644 --- a/Dockerfile.trusty +++ b/Dockerfile.trusty @@ -3,7 +3,7 @@ FROM ubuntu:trusty RUN sed -i -E 's/(archive|security).ubuntu.com/192.168.1.142/' /etc/apt/sources.list && \ sed -i -E 's/^deb-src/# deb-src/' /etc/apt/sources.list && \ apt-get update && \ - apt-get install -y dpkg-dev debhelper build-essential sudo wget curl + DEBIAN_FRONTEND=noninteractive apt-get install -y dpkg-dev debhelper build-essential sudo wget curl RUN useradd builder && \ install -d /build -o builder -g builder diff --git a/Dockerfile.xenial b/Dockerfile.xenial index 7d7e938..7074f01 100644 --- a/Dockerfile.xenial +++ b/Dockerfile.xenial @@ -3,7 +3,7 @@ FROM ubuntu:xenial RUN sed -i -E 's/(archive|security).ubuntu.com/192.168.1.142/' /etc/apt/sources.list && \ sed -i -E 's/^deb-src/# deb-src/' /etc/apt/sources.list && \ apt-get update && \ - apt-get install -y dpkg-dev debhelper build-essential sudo wget curl + DEBIAN_FRONTEND=noninteractive apt-get install -y dpkg-dev debhelper build-essential sudo wget curl RUN useradd builder && \ install -d /build -o builder -g builder diff --git a/build.sh b/build.sh index a356b67..8502e89 100755 --- a/build.sh +++ b/build.sh @@ -4,4 +4,13 @@ VARSFILE=$1 . src/$VARSFILE -time docker run -it --rm -e "VARSFILE=$VARSFILE" -v $PWD/src:/src extbuilder-$EXTPYTHON_DIST + +echo "FROM extbuilder-$EXTPYTHON_DIST" > Dockerfile.temp +echo "RUN apt-get update && \\" >> Dockerfile.temp +echo " DEBIAN_FRONTEND=noninteractive apt-get install -y -o Dpkg::Options::=\"--force-confdef\" -o Dpkg::Options::=\"--force-confold\" $CPYTHON_DEPS" >> Dockerfile.temp + +# build image with just the deps +docker build -t extbuilder-${EXTPYTHON_DIST}-deps -f Dockerfile.temp . +rm -f Dockerfile.temp + +time docker run -it --rm -e "VARSFILE=$VARSFILE" -v $PWD/src:/src extbuilder-${EXTPYTHON_DIST}-deps diff --git a/images.sh b/images.sh index 8c9b68c..cdebee2 100755 --- a/images.sh +++ b/images.sh @@ -1,7 +1,8 @@ #!/bin/bash -ex -RELEASES="trusty xenial bionic disco" +RELEASES="trusty xenial bionic focal" for release in $RELEASES ; do + docker pull ubuntu:${release} docker build -t extbuilder-${release} -f Dockerfile.${release} . done diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh index e9e2d3a..77c3b19 100755 --- a/scripts/bootstrap.sh +++ b/scripts/bootstrap.sh @@ -5,10 +5,6 @@ ln -s /src/$VARSFILE /tmp/vars.sh . /tmp/vars.sh . /etc/lsb-release #for DISTRIB_CODENAME -# install deps -apt-get update -DEBIAN_FRONTEND=noninteractive apt-get install -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" $CPYTHON_DEPS - # run the build sudo -Hu builder /build.sh