From 2fdac9efed3290c1862f5488458de27cb0caa724 Mon Sep 17 00:00:00 2001 From: "Lance R. Vick" Date: Wed, 7 Oct 2020 18:24:58 -0700 Subject: [PATCH] cleaned up, updated, and more reliable package updates --- Makefile | 26 +++--- config/container/Dockerfile | 16 +--- config/container/apt.conf | 2 + config/container/packages.list | 165 +++++++++++++++++---------------- config/container/sources.list | 7 +- scripts/apt-install | 10 ++ scripts/update-packages | 15 +-- 7 files changed, 125 insertions(+), 116 deletions(-) create mode 100644 config/container/apt.conf create mode 100755 scripts/apt-install diff --git a/Makefile b/Makefile index 8c8b66e..259fdc2 100644 --- a/Makefile +++ b/Makefile @@ -31,7 +31,7 @@ build: build-os build-fw .PHONY: image image: - $(docker) build \ + DOCKER_BUILDKIT=1 $(docker) build \ --tag $(IMAGE) \ --file $(PWD)/config/container/Dockerfile \ $(IMAGE_OPTIONS) \ @@ -129,23 +129,25 @@ vm: .PHONY: update-packages update-packages: - $(docker) run \ + docker rm -f "$(NAME)-update-packages" || : + docker run \ --rm \ --detach \ - --name "$(NAME)" \ + --name "$(NAME)-update-packages" \ --user $(userid):$(groupid) \ - --volume $(PWD)/config:/home/build/config \ - --volume $(PWD)/scripts:/home/build/scripts \ --env GIT_EPOCH="$(GIT_EPOCH)" \ - $(IMAGE) tail -f /dev/null - $(docker) exec -it --user=root "$(NAME)" update-packages - $(docker) cp \ - "$(NAME):/etc/apt/packages.list" \ + --volume $(PWD)/config/container/packages.list:/etc/apt/packages-old.list \ + --volume $(PWD)/config/container/apt.conf:/etc/apt/apt.conf \ + --volume $(PWD)/scripts:/usr/local/bin \ + debian tail -f /dev/null + docker exec -it --user=root "$(NAME)-update-packages" update-packages + docker cp \ + "$(NAME)-update-packages:/etc/apt/packages.list" \ "$(PWD)/config/container/packages.list" - $(docker) cp \ - "$(NAME):/etc/apt/sources.list" \ + docker cp \ + "$(NAME)-update-packages:/etc/apt/sources.list" \ "$(PWD)/config/container/sources.list" - $(docker) rm -f "$(NAME)" + docker rm -f "$(NAME)-update-packages" ## Make Helpers diff --git a/config/container/Dockerfile b/config/container/Dockerfile index 9fa22de..2aabd47 100644 --- a/config/container/Dockerfile +++ b/config/container/Dockerfile @@ -1,3 +1,4 @@ +# syntax=docker/dockerfile:experimental ARG DEBIAN_IMAGE_HASH=4ab3309ba955211d1db92f405be609942b595a720de789286376f030502ffd6f ARG GOLANG_IMAGE_HASH=84349ee862d8bafff35e0d2bfd539da565b536b4dfce654773fc21a1db2da6d7 @@ -51,20 +52,13 @@ RUN chown root:root /usr/local/bin/fixuid \ && printf "user: build\ngroup: build\npaths:\n - /\n - /home/build/build\n" > /etc/fixuid/config.yml ENTRYPOINT ["/usr/local/bin/fixuid", "-q"] +ADD scripts/ /usr/local/bin/ + ## Install packages from packages.list with retry ADD config/container/sources.list /etc/apt/sources.list ADD config/container/packages.list /etc/apt/packages.list -run echo 'Acquire::http::Timeout "30";' >> /etc/apt/apt.conf.d/99apt.conf -run echo 'Acquire::Check-Valid-Until "false";' >> /etc/apt/apt.conf.d/99apt.conf -RUN echo ' \ - set -e; \ - apt-get update; \ - until apt-get install -y $(cat /etc/apt/packages.list); do \ - echo "apt install failed. Likely throttled. Retrying in 10 mins..."; \ - sleep 600; \ - done; \ - rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*;' \ -| bash +ADD config/container/apt.conf /etc/apt/apt.conf +RUN apt-install ## Create build user with sudo privs RUN useradd -G plugdev,sudo -ms /bin/bash build \ diff --git a/config/container/apt.conf b/config/container/apt.conf new file mode 100644 index 0000000..a24c451 --- /dev/null +++ b/config/container/apt.conf @@ -0,0 +1,2 @@ +Acquire::http::Timeout "30"; +Acquire::Check-Valid-Until "false"; diff --git a/config/container/packages.list b/config/container/packages.list index cb2fccf..d6e8701 100644 --- a/config/container/packages.list +++ b/config/container/packages.list @@ -23,7 +23,7 @@ aspell-en=2018.04.16-0-1 at-spi2-core=2.30.0-7 attr=1:2.4.48-4 augeas-lenses=1.11.0-3 -base-files=10.3+deb10u4 +base-files=10.3+deb10u6 base-passwd=3.5.46 bash=5.0-4 bc=1.07.1-2+b1 @@ -63,8 +63,8 @@ curl=7.64.0-4+deb10u1 dash=0.5.10.2-5 db-util=5.3.1+nmu1 db5.3-util=5.3.28+dfsg1-0.5 -dbus=1.12.16-1 -dbus-user-session=1.12.16-1 +dbus=1.12.20-0+deb10u1 +dbus-user-session=1.12.20-0+deb10u1 dconf-gsettings-backend:amd64=0.30.1-2 dconf-service=0.30.1-2 debconf=1.5.71 @@ -135,13 +135,13 @@ gettext-base=0.19.8.1-9 gfortran=4:8.3.0-1 gfortran-8=8.3.0-6 ghc=8.4.4+dfsg1-3 -ghostscript=9.27~dfsg-2+deb10u3 +ghostscript=9.27~dfsg-2+deb10u4 giflib-tools=5.1.4-3 git=1:2.20.1-2+deb10u3 git-man=1:2.20.1-2+deb10u3 -glib-networking:amd64=2.58.0-2 -glib-networking-common=2.58.0-2 -glib-networking-services=2.58.0-2 +glib-networking:amd64=2.58.0-2+deb10u2 +glib-networking-common=2.58.0-2+deb10u2 +glib-networking-services=2.58.0-2+deb10u2 gnat=8.0.1 gnat-8=8.3.0-6 gnome-desktop3-data=3.30.2.1-2 @@ -160,8 +160,8 @@ gpgsm=2.2.12-1+deb10u1 gpgv=2.2.12-1+deb10u1 grep=3.3-1 groff-base=1.22.4-3 -grub-common=2.02+dfsg1-20 -grub2-common=2.02+dfsg1-20 +grub-common=2.02+dfsg1-20+deb10u2 +grub2-common=2.02+dfsg1-20+deb10u2 gsettings-desktop-schemas=3.28.1-1 gsfonts=1:8.11+urwcyr1.0.7~pre44-4.4 gstreamer1.0-gl:amd64=1.14.4-2 @@ -308,7 +308,7 @@ libdata-dump-perl=1.23-1 libdate-manip-perl=6.76-1 libdatrie1:amd64=0.2.12-2 libdb5.3:amd64=5.3.28+dfsg1-0.5 -libdbus-1-3:amd64=1.12.16-1 +libdbus-1-3:amd64=1.12.20-0+deb10u1 libdc1394-22:amd64=2.2.5-1 libdconf1:amd64=0.30.1-2 libde265-0:amd64=1.0.3-1+b1 @@ -318,7 +318,7 @@ libdevmapper1.02.1:amd64=2:1.02.155-3 libdigest-sha-perl=6.02-1+b1 libdjvulibre-text=3.5.27.1-10 libdjvulibre21:amd64=3.5.27.1-10 -libdns-export1104=1:9.11.5.P4+dfsg-5.1+deb10u1 +libdns-export1104=1:9.11.5.P4+dfsg-5.1+deb10u2 libdom4j-java=2.1.1-2 libdpkg-perl=1.19.7 libdrm-amdgpu1:amd64=2.4.97-1 @@ -345,7 +345,7 @@ libevdocument3-4:amd64=3.30.2-3+deb10u1 libevent-2.1-6:amd64=2.1.8-stable-4 libevview3-3:amd64=3.30.2-3+deb10u1 libewf2=20140804-1 -libexif12:amd64=0.6.21-5.1+deb10u1 +libexif12:amd64=0.6.21-5.1+deb10u4 libexpat1:amd64=2.2.6-2+deb10u1 libext2fs2:amd64=1.44.5-1+deb10u3 libfakeroot:amd64=1.23-1 @@ -400,8 +400,8 @@ libgmpxx4ldbl:amd64=2:6.1.2+dfsg-4 libgnat-8:amd64=8.3.0-6 libgnatvsn8:amd64=8.3.0-6 libgnome-desktop-3-17:amd64=3.30.2.1-2 -libgnutls-dane0:amd64=3.6.7-4+deb10u4 -libgnutls30:amd64=3.6.7-4+deb10u4 +libgnutls-dane0:amd64=3.6.7-4+deb10u5 +libgnutls30:amd64=3.6.7-4+deb10u5 libgoffice-0.10-10=0.10.44-1 libgoffice-0.10-10-common=0.10.44-1 libgomp1:amd64=8.3.0-6 @@ -412,8 +412,8 @@ libgphoto2-port12:amd64=2.5.22-3 libgpm2:amd64=1.20.7-5 libgraphene-1.0-0:amd64=1.8.4-1 libgraphite2-3:amd64=1.3.13-7 -libgs9:amd64=9.27~dfsg-2+deb10u3 -libgs9-common=9.27~dfsg-2+deb10u3 +libgs9:amd64=9.27~dfsg-2+deb10u4 +libgs9-common=9.27~dfsg-2+deb10u4 libgsasl7=1.8.0-8+b2 libgsf-1-114:amd64=1.14.45-1 libgsf-1-common=1.14.45-1 @@ -474,12 +474,12 @@ libio-socket-ssl-perl=2.060-3 libio-stringy-perl=2.111-3 libip4tc0:amd64=1.8.2-4 libipc-system-simple-perl=1.25-4 -libisc-export1100:amd64=1:9.11.5.P4+dfsg-5.1+deb10u1 +libisc-export1100:amd64=1:9.11.5.P4+dfsg-5.1+deb10u2 libisl19:amd64=0.20-2 libitm1:amd64=8.3.0-6 libjack-jackd2-0:amd64=1.9.12~dfsg-2 libjansson4:amd64=2.12-1 -libjavascriptcoregtk-4.0-18:amd64=2.28.3-2~deb10u1 +libjavascriptcoregtk-4.0-18:amd64=2.28.4-1~deb10u1 libjaxen-java=1.1.6-4 libjaxp1.3-java=1.3.05-5 libjbig0:amd64=2.1-3.1+b2 @@ -493,7 +493,7 @@ libjpeg62-turbo-dev:amd64=1:1.5.2-2+b1 libjq1:amd64=1.5+dfsg-2+b1 libjs-jquery=3.3.1~dfsg-3 libjs-jquery-ui=1.12.1+dfsg-5 -libjson-c3:amd64=0.12.1+ds-2 +libjson-c3:amd64=0.12.1+ds-2+deb10u1 libjson-glib-1.0-0:amd64=1.4.4-2 libjson-glib-1.0-common=1.4.4-2 libjsoncpp1:amd64=1.7.4-3 @@ -516,7 +516,7 @@ libldap-2.4-2:amd64=2.4.47+dfsg-3+deb10u2 libldap-common=2.4.47+dfsg-3+deb10u2 libldm-1.0-0:amd64=0.2.4-2 liblilv-0-0:amd64=0.24.2~dfsg0-2 -libllvm7:amd64=1:7.0.1-8 +libllvm7:amd64=1:7.0.1-8+deb10u2 liblocale-gettext-perl=1.07-3+b4 liblqr-1-0:amd64=0.4.2-2.1 liblsan0:amd64=8.3.0-6 @@ -535,8 +535,8 @@ libmagickcore-6.q16-6:amd64=8:6.9.10.23+dfsg-2.1+deb10u1 libmagickcore-6.q16-6-extra:amd64=8:6.9.10.23+dfsg-2.1+deb10u1 libmagickwand-6.q16-6:amd64=8:6.9.10.23+dfsg-2.1+deb10u1 libmailtools-perl=2.18-1 -libmailutils5:amd64=1:3.5-3 -libmariadb3:amd64=1:10.3.22-0+deb10u1 +libmailutils5:amd64=1:3.5-4 +libmariadb3:amd64=1:10.3.23-0+deb10u1 libmng1:amd64=1.0.10+dfsg-3.1+b5 libmnl0:amd64=1.0.4-2 libmono-btls-interface4.0-cil=5.18.0.240+dfsg-3 @@ -580,7 +580,7 @@ libnspr4:amd64=2:4.20-1 libnss-systemd:amd64=241-7~deb10u4 libnss3:amd64=2:3.42.1-1+deb10u3 libntfs-3g883=1:2017.3.23AR.3-3 -libntlm0:amd64=1.5-1 +libntlm0:amd64=1.5-1+deb10u1 libnuma1:amd64=2.0.12-1 libogg0:amd64=1.3.2-1+b1 libonig5:amd64=6.9.1-1 @@ -588,7 +588,7 @@ libopenal-data=1:1.19.1-1 libopenal1:amd64=1:1.19.1-1 libopencore-amrnb0:amd64=0.1.3-2.1+b2 libopencore-amrwb0:amd64=0.1.3-2.1+b2 -libopenexr23:amd64=2.2.1-4.1 +libopenexr23:amd64=2.2.1-4.1+deb10u1 libopenjp2-7:amd64=2.3.0-2+deb10u1 libopenmpt0:amd64=0.4.3-1+deb10u1 libopus0:amd64=1.3-1 @@ -616,7 +616,7 @@ libpcre32-3:amd64=2:8.39-12 libpcrecpp0v5:amd64=2:8.39-12 libpcsclite1:amd64=1.8.24-1 libperl4-corelibs-perl=0.004-1+deb10u1 -libperl5.28:amd64=5.28.1-6 +libperl5.28:amd64=5.28.1-6+deb10u1 libpgm-5.2-0:amd64=5.2.122~dfsg-3 libpipeline1:amd64=1.5.1-2 libpixman-1-0:amd64=0.36.0-1 @@ -642,25 +642,25 @@ libpython2.7:amd64=2.7.16-2+deb10u1 libpython2.7-minimal:amd64=2.7.16-2+deb10u1 libpython2.7-stdlib:amd64=2.7.16-2+deb10u1 libpython3-stdlib:amd64=3.7.3-1 -libpython3.7-minimal:amd64=3.7.3-2+deb10u1 -libpython3.7-stdlib:amd64=3.7.3-2+deb10u1 -libqt4-dbus:amd64=4:4.8.7+dfsg-18 -libqt4-declarative:amd64=4:4.8.7+dfsg-18 -libqt4-designer:amd64=4:4.8.7+dfsg-18 -libqt4-help:amd64=4:4.8.7+dfsg-18 -libqt4-network:amd64=4:4.8.7+dfsg-18 -libqt4-script:amd64=4:4.8.7+dfsg-18 -libqt4-scripttools:amd64=4:4.8.7+dfsg-18 -libqt4-sql:amd64=4:4.8.7+dfsg-18 -libqt4-sql-mysql:amd64=4:4.8.7+dfsg-18 -libqt4-svg:amd64=4:4.8.7+dfsg-18 -libqt4-test:amd64=4:4.8.7+dfsg-18 -libqt4-xml:amd64=4:4.8.7+dfsg-18 -libqt4-xmlpatterns:amd64=4:4.8.7+dfsg-18 +libpython3.7-minimal:amd64=3.7.3-2+deb10u2 +libpython3.7-stdlib:amd64=3.7.3-2+deb10u2 +libqt4-dbus:amd64=4:4.8.7+dfsg-18+deb10u1 +libqt4-declarative:amd64=4:4.8.7+dfsg-18+deb10u1 +libqt4-designer:amd64=4:4.8.7+dfsg-18+deb10u1 +libqt4-help:amd64=4:4.8.7+dfsg-18+deb10u1 +libqt4-network:amd64=4:4.8.7+dfsg-18+deb10u1 +libqt4-script:amd64=4:4.8.7+dfsg-18+deb10u1 +libqt4-scripttools:amd64=4:4.8.7+dfsg-18+deb10u1 +libqt4-sql:amd64=4:4.8.7+dfsg-18+deb10u1 +libqt4-sql-mysql:amd64=4:4.8.7+dfsg-18+deb10u1 +libqt4-svg:amd64=4:4.8.7+dfsg-18+deb10u1 +libqt4-test:amd64=4:4.8.7+dfsg-18+deb10u1 +libqt4-xml:amd64=4:4.8.7+dfsg-18+deb10u1 +libqt4-xmlpatterns:amd64=4:4.8.7+dfsg-18+deb10u1 libqtassistantclient4:amd64=4.6.3-7+b1 -libqtcore4:amd64=4:4.8.7+dfsg-18 -libqtdbus4:amd64=4:4.8.7+dfsg-18 -libqtgui4:amd64=4:4.8.7+dfsg-18 +libqtcore4:amd64=4:4.8.7+dfsg-18+deb10u1 +libqtdbus4:amd64=4:4.8.7+dfsg-18+deb10u1 +libqtgui4:amd64=4:4.8.7+dfsg-18+deb10u1 libquadmath0:amd64=8.3.0-6 libraw1394-11:amd64=2.1.2-1+b1 librdmacm1:amd64=22.1-1 @@ -704,8 +704,8 @@ libsmartcols1:amd64=2.33.1-0.1 libsnappy1v5:amd64=1.1.7-1 libsndfile1:amd64=1.0.28-6 libsndio7.0:amd64=1.5.0-3 -libsnmp-base=5.7.3+dfsg-5 -libsnmp30:amd64=5.7.3+dfsg-5 +libsnmp-base=5.7.3+dfsg-5+deb10u1 +libsnmp30:amd64=5.7.3+dfsg-5+deb10u1 libsodium23:amd64=1.0.17-1 libsord-0-0:amd64=0.16.0~dfsg0-1+b1 libsoup-gnome2.4-1:amd64=2.64.2-2 @@ -782,7 +782,7 @@ libwayland-client0:amd64=1.16.0-1 libwayland-cursor0:amd64=1.16.0-1 libwayland-egl1:amd64=1.16.0-1 libwayland-server0:amd64=1.16.0-1 -libwebkit2gtk-4.0-37:amd64=2.28.3-2~deb10u1 +libwebkit2gtk-4.0-37:amd64=2.28.4-1~deb10u1 libwebp6:amd64=0.6.1-2 libwebpdemux2:amd64=0.6.1-2 libwebpmux3:amd64=0.6.1-2 @@ -791,10 +791,10 @@ libwoff1:amd64=1.0.2-1 libwrap0:amd64=7.6.q-28 libwww-perl=6.36-2 libwww-robotrules-perl=6.02-1 -libx11-6:amd64=2:1.6.7-1 -libx11-data=2:1.6.7-1 +libx11-6:amd64=2:1.6.7-1+deb10u1 +libx11-data=2:1.6.7-1+deb10u1 libx11-protocol-perl=0.56-7 -libx11-xcb1:amd64=2:1.6.7-1 +libx11-xcb1:amd64=2:1.6.7-1+deb10u1 libx264-155:amd64=2:0.155.2917+git0a84d98-2 libx265-165:amd64=2.9-4 libxau6:amd64=1:1.0.8-1+b2 @@ -813,15 +813,15 @@ libxcomposite1:amd64=1:0.4.4-2 libxcursor1:amd64=1:1.1.15-2 libxdamage1:amd64=1:1.1.4-3+b3 libxdmcp6:amd64=1:1.1.2-3 -libxencall1:amd64=4.11.4+24-gddaaccbbab-1~deb10u1 -libxendevicemodel1:amd64=4.11.4+24-gddaaccbbab-1~deb10u1 -libxenevtchn1:amd64=4.11.4+24-gddaaccbbab-1~deb10u1 -libxenforeignmemory1:amd64=4.11.4+24-gddaaccbbab-1~deb10u1 -libxengnttab1:amd64=4.11.4+24-gddaaccbbab-1~deb10u1 -libxenmisc4.11:amd64=4.11.4+24-gddaaccbbab-1~deb10u1 -libxenstore3.0:amd64=4.11.4+24-gddaaccbbab-1~deb10u1 -libxentoolcore1:amd64=4.11.4+24-gddaaccbbab-1~deb10u1 -libxentoollog1:amd64=4.11.4+24-gddaaccbbab-1~deb10u1 +libxencall1:amd64=4.11.4+37-g3263f257ca-1 +libxendevicemodel1:amd64=4.11.4+37-g3263f257ca-1 +libxenevtchn1:amd64=4.11.4+37-g3263f257ca-1 +libxenforeignmemory1:amd64=4.11.4+37-g3263f257ca-1 +libxengnttab1:amd64=4.11.4+37-g3263f257ca-1 +libxenmisc4.11:amd64=4.11.4+37-g3263f257ca-1 +libxenstore3.0:amd64=4.11.4+37-g3263f257ca-1 +libxentoolcore1:amd64=4.11.4+37-g3263f257ca-1 +libxentoollog1:amd64=4.11.4+37-g3263f257ca-1 libxerces2-java=2.12.0-1 libxext6:amd64=2:1.3.3-1+b2 libxfixes3:amd64=1:5.0.3-1 @@ -864,18 +864,19 @@ libyaml-snake-java=1.23-1 libyara3:amd64=3.9.0-1 libyelp0:amd64=3.31.90-1 libzip4:amd64=1.5.1-4 -libzmq5:amd64=4.3.1-4+deb10u1 +libzmq5:amd64=4.3.1-4+deb10u2 libzstd1:amd64=1.3.8+dfsg-3 libzvbi-common=0.2.35-16 libzvbi0:amd64=0.2.35-16 linux-base=4.6 +linux-image-4.19.0-11-amd64=4.19.146-1 linux-image-4.19.0-9-amd64=4.19.118-2+deb10u1 -linux-image-amd64=4.19+105+deb10u4 -linux-libc-dev:amd64=4.19.118-2+deb10u1 +linux-image-amd64=4.19+105+deb10u6 +linux-libc-dev:amd64=4.19.146-1 llvm=1:7.0-47 -llvm-7=1:7.0.1-8 -llvm-7-dev=1:7.0.1-8 -llvm-7-runtime=1:7.0.1-8 +llvm-7=1:7.0.1-8+deb10u2 +llvm-7-dev=1:7.0.1-8+deb10u2 +llvm-7-runtime=1:7.0.1-8+deb10u2 llvm-runtime=1:7.0-47 login=1:4.5-1.1 lp-solve=5.5.0.15-4+b1 @@ -886,13 +887,13 @@ lvm2=2.03.02-3 lz4=1.8.3-1 lzop=1.03-4+b1 m4=1.4.18-2 -mailutils=1:3.5-3 -mailutils-common=1:3.5-3 +mailutils=1:3.5-4 +mailutils-common=1:3.5-4 make=4.2.1-1.2 man-db=2.8.5-2 manpages=4.16-2 manpages-dev=4.16-2 -mariadb-common=1:10.3.22-0+deb10u1 +mariadb-common=1:10.3.23-0+deb10u1 mawk=1.3.3-17+b3 mdadm=4.1-1 mesa-va-drivers:amd64=18.3.6-2+deb10u1 @@ -922,8 +923,8 @@ ocaml-interp=4.05.0-11 ocaml-nox=4.05.0-11 odt2txt=0.5-1+b2 oggvideotools=0.9.1-5 -openjdk-11-jdk-headless:amd64=11.0.7+10-3~deb10u1 -openjdk-11-jre-headless:amd64=11.0.7+10-3~deb10u1 +openjdk-11-jdk-headless:amd64=11.0.8+10-1~deb10u1 +openjdk-11-jre-headless:amd64=11.0.8+10-1~deb10u1 openssh-client=1:7.9p1-10+deb10u2 openssl=1.1.1d-0+deb10u3 os-prober=1.77 @@ -934,9 +935,9 @@ p7zip-full=16.02+dfsg-6 parted=3.2-25 passwd=1:4.5-1.1 patch=2.7.6-3+deb10u1 -perl=5.28.1-6 -perl-base=5.28.1-6 -perl-modules-5.28=5.28.1-6 +perl=5.28.1-6+deb10u1 +perl-base=5.28.1-6+deb10u1 +perl-modules-5.28=5.28.1-6+deb10u1 perl-openssl-defaults:amd64=3 pgpdump=0.33-1 pigz=2.4-1 @@ -998,7 +999,7 @@ python3-minimal=3.7.3-1 python3-numpy=1:1.16.2-1 python3-olefile=0.46-1 python3-opengl=3.1.0+dfsg-2 -python3-pil:amd64=5.4.1-2+deb10u1 +python3-pil:amd64=5.4.1-2+deb10u2 python3-pkg-resources=40.8.0-1 python3-progressbar=2.5-1 python3-pyparsing=2.2.0+dfsg1-2 @@ -1011,17 +1012,17 @@ python3-sip=4.19.14+dfsg-2 python3-six=1.12.0-1 python3-tk:amd64=3.7.3-1 python3-tlsh=3.4.4+20151206-1.1 -python3.7=3.7.3-2+deb10u1 -python3.7-minimal=3.7.3-2+deb10u1 -qdbus=4:4.8.7+dfsg-18 -qemu-system-common=1:3.1+dfsg-8+deb10u7 -qemu-system-data=1:3.1+dfsg-8+deb10u7 -qemu-system-gui=1:3.1+dfsg-8+deb10u7 -qemu-system-x86=1:3.1+dfsg-8+deb10u7 -qemu-utils=1:3.1+dfsg-8+deb10u7 +python3.7=3.7.3-2+deb10u2 +python3.7-minimal=3.7.3-2+deb10u2 +qdbus=4:4.8.7+dfsg-18+deb10u1 +qemu-system-common=1:3.1+dfsg-8+deb10u8 +qemu-system-data=1:3.1+dfsg-8+deb10u8 +qemu-system-gui=1:3.1+dfsg-8+deb10u8 +qemu-system-x86=1:3.1+dfsg-8+deb10u8 +qemu-utils=1:3.1+dfsg-8+deb10u8 qt-at-spi:amd64=0.4.0-9 qtchooser=66-2 -qtcore4-l10n=4:4.8.7+dfsg-18 +qtcore4-l10n=4:4.8.7+dfsg-18+deb10u1 r-base-core=3.5.2-1 r-base-dev=3.5.2-1 r-cran-boot=1.3-20-2 diff --git a/config/container/sources.list b/config/container/sources.list index ca36c2f..b6e6605 100644 --- a/config/container/sources.list +++ b/config/container/sources.list @@ -1,7 +1,6 @@ - deb http://deb.debian.org/debian buster main -deb http://snapshot.debian.org/archive/debian/20200724T000000Z buster main +deb http://snapshot.debian.org/archive/debian/20200910T000000Z buster main deb http://security.debian.org/debian-security buster/updates main -deb http://snapshot.debian.org/archive/debian-security/20200724T000000Z buster/updates main +deb http://snapshot.debian.org/archive/debian-security/20200910T000000Z buster/updates main deb http://deb.debian.org/debian buster-updates main -deb http://snapshot.debian.org/archive/debian/20200724T000000Z buster-updates main +deb http://snapshot.debian.org/archive/debian/20200910T000000Z buster-updates main diff --git a/scripts/apt-install b/scripts/apt-install new file mode 100755 index 0000000..49b5da4 --- /dev/null +++ b/scripts/apt-install @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -e; + +apt-get update +until apt-get install -y $(cat /etc/apt/packages.list); do + echo "apt install failed. Likely throttled. Retrying in 10 mins..."; + sleep 600; +done; + +rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*; diff --git a/scripts/update-packages b/scripts/update-packages index db7a4cb..3cf74a1 100755 --- a/scripts/update-packages +++ b/scripts/update-packages @@ -2,16 +2,11 @@ [ -f /.dockerenv ] || { echo "please run in supplied container"; exit 1; } set -e -apt update -y -apt upgrade -y - -dpkg -l | awk '{ if ($1 == "ii") print $2 "=" $3 }' > /etc/apt/packages.list - - +cat /etc/apt/packages-old.list | sed 's/=.*//g' \ + > /etc/apt/packages.list snapshot_date=$(date -d @${GIT_EPOCH} +"%Y%m%dT000000Z") cat <<-EOF > /etc/apt/sources.list - deb http://deb.debian.org/debian buster main deb http://snapshot.debian.org/archive/debian/${snapshot_date} buster main deb http://security.debian.org/debian-security buster/updates main @@ -19,3 +14,9 @@ deb http://snapshot.debian.org/archive/debian-security/${snapshot_date} buster/u deb http://deb.debian.org/debian buster-updates main deb http://snapshot.debian.org/archive/debian/${snapshot_date} buster-updates main EOF + +set -e; + +apt-install + +dpkg -l | awk '{ if ($1 == "ii") print $2 "=" $3 }' > /etc/apt/packages.list