From 9e0734ea6051292bbdd7ce1866e97ac6f3eb8c19 Mon Sep 17 00:00:00 2001 From: Holger Levsen Date: Sat, 17 Oct 2015 13:37:51 +0200 Subject: reproducible arch: automatically use the latest bootstrap.tgz --- TODO | 5 ++--- bin/reproducible_arch_schroot_setup.sh | 14 ++++++++++---- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/TODO b/TODO index e880c449..2596bf10 100644 --- a/TODO +++ b/TODO @@ -292,9 +292,8 @@ properties: ==== reproducible Arch Linux -* create a job, to bootstrap an arch schroot: done. needs to be made idempotent. -** BOOTSTRAP_TAR_GZ=2015.08.01/archlinux-bootstrap-2015.08.01-x86_64.tar.gz needs to be replaced with a future proof filename -** download bootstrap.tar.gz sig and verify +* job, to bootstrap an arch schroot needs to be made idempotent +** needs to download bootstrap.tar.gz sig and verify * use regular maintenace job to update the arch schroot: 'schroot --directory /tmp -c source:jenkins-reproducible-arch -u root -- pacman -Syu --noconfirm' * arch build.sh: ** introduce variations: USER, TZ, LANG, LC_ALL, umask diff --git a/bin/reproducible_arch_schroot_setup.sh b/bin/reproducible_arch_schroot_setup.sh index d0d9e92a..d9a78e3e 100755 --- a/bin/reproducible_arch_schroot_setup.sh +++ b/bin/reproducible_arch_schroot_setup.sh @@ -12,13 +12,19 @@ DEBUG=true . /srv/jenkins/bin/common-functions.sh common_init "$@" -# define URL for bootstrap.tgz -BOOTSTRAP_BASE=http://mirror.one.com/archlinux/iso/ -BOOTSTRAP_DATE=2015.10.01 -BOOTSTRAP_TAR_GZ=$BOOTSTRAP_DATE/archlinux-bootstrap-$BOOTSTRAP_DATE-x86_64.tar.gz bootstrap() { + # define URL for bootstrap.tgz + BOOTSTRAP_BASE=http://mirror.one.com/archlinux/iso/ + echo "$(date -u) - downloading Archlinux latest/sha1sums.txt" + BOOTSTRAP_DATE=$(curl $BOOTSTRAP_BASE/latest/sha1sums.txt 2>/dev/null| grep x86_64.tar.gz| cut -d " " -f3|cut -d "-" -f3|egrep '[0-9.]{9}') + if [ -z $BOOTSTRAP_DATE ] ; then + echo "Cannot determine version of boostrap file, aborting." + curl $BOOTSTRAP_BASE/latest/sha1sums.txt | grep x86_64.tar.gz + exit 1 + fi + BOOTSTRAP_TAR_GZ=$BOOTSTRAP_DATE/archlinux-bootstrap-$BOOTSTRAP_DATE-x86_64.tar.gz echo "$(date -u) - downloading Archlinux bootstrap.tar.gz." curl -O $BOOTSTRAP_BASE/$BOOTSTRAP_TAR_GZ tar xzf archlinux-bootstrap-$BOOTSTRAP_DATE-x86_64.tar.gz -- cgit v1.2.3-70-g09d2