From b00e46682a41257cb4646a62491d3c8ede6a9a42 Mon Sep 17 00:00:00 2001 From: Holger Levsen Date: Fri, 16 Oct 2015 16:49:13 +0200 Subject: reproducible arch: first stab at _build_arch_pkg.sh (WIP) --- TODO | 12 ++++-------- bin/jenkins_node_wrapper.sh | 2 ++ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/TODO b/TODO index 8a27e01f..94b4c825 100644 --- a/TODO +++ b/TODO @@ -295,13 +295,8 @@ properties: * create a job, to bootstrap an arch schroot: done. needs to be made idempotent. * use regular maintenace job to update the arch schroot: 'schroot --directory /tmp -c source:jenkins-reproducible-arch -u root -- pacman -Syu --noconfirm' * create another job, to build a single package and a webpage for it… ----- - - PKG=sudo - schroot --directory /tmp -c source:jenkins-reproducible-arch -- cp -r /var/abs/core/$PKG /tmp - schroot --directory /tmp -c source:jenkins-reproducible-arch -- grep ^validpgpkeys= $PKG/PKGBUILD|cut -d "'" -f2|xargs schroot --directory /tmp -c source:jenkins-reproducible-arch -- gpg --recv-keys - schroot --directory /tmp/$PKG -c source:jenkins-reproducible-arch -- makepkg --skippgpcheck # YOLO ----- +** WIP… +** introduce variations: USER, TZ, LANG, LC_ALL, umask * create a simple scheduler and build a few more packages… ** schroot, find packages in /var/abs/core/, schedule those *** idea: reschedule reverse build depends too @@ -310,7 +305,8 @@ properties: ** 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 ** build with -j X -** 'echo "keyserver-options auto-key-retrieve" >> ~/.gnupg/gpg.conf' +** 'makepkg --skippgpcheck' should be replaced by 'makepkg' and 'echo "keyserver-options auto-key-retrieve" >> ~/.gnupg/gpg.conf' +*** this should make this obselete: 'schroot --directory /tmp -c source:jenkins-reproducible-arch -- grep ^validpgpkeys= $PKG/PKGBUILD|cut -d "'" -f2|xargs schroot --directory /tmp -c source:jenkins-reproducible-arch -- gpg --recv-keys' ** patch pacman to create .buildinfo files - or better: wait ---- diff --git a/bin/jenkins_node_wrapper.sh b/bin/jenkins_node_wrapper.sh index 5ef287a6..949a4648 100755 --- a/bin/jenkins_node_wrapper.sh +++ b/bin/jenkins_node_wrapper.sh @@ -101,6 +101,8 @@ elif [[ "$*" =~ reproducible_freebsd ]] ; then exec /srv/jenkins/bin/reproducible_freebsd.sh ; croak "Exec failed"; elif [[ "$*" =~ reproducible_setup_schroot_arch ]] ; then exec /srv/jenkins/bin/reproducible_arch_schroot_setup.sh ; croak "Exec failed"; +elif [ "$1" = "/srv/jenkins/bin/reproducible_build_arch_pkg.sh" ] && ( [ "$2" = "1" ] || [ "$2" = "2" ] ) ; then + exec /srv/jenkins/bin/reproducible_build_arch_pkg.sh "$2" "$3" "$4" ; croak "Exec failed"; elif [ "$*" = "some_jenkins_job_name" ] ; then exec echo run any commands here ; croak "Exec failed"; fi -- cgit v1.2.3-70-g09d2