From 379420067139a2c8d71578e9d42b00d411f86336 Mon Sep 17 00:00:00 2001 From: Holger Levsen Date: Fri, 16 Oct 2015 23:24:17 +0200 Subject: reproducible arch: build simple web page --- TODO | 9 +++---- bin/reproducible_html_archlinux.sh | 53 ++++++++++++++++++++++++++++++++++++++ job-cfg/reproducible.yaml | 6 +++++ 3 files changed, 63 insertions(+), 5 deletions(-) create mode 100755 bin/reproducible_html_archlinux.sh diff --git a/TODO b/TODO index 84a026ac..64a93094 100644 --- a/TODO +++ b/TODO @@ -294,18 +294,17 @@ 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' -* created another job (WIP), to build a single package and a webpage for it… +* created another job (WIP), to build a single package ** 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 +* create a working scheduler job +** idea: reschedule reverse build depends too * more random notes: -** use -source schroot ** 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 ** '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 +** rename arch scripts and jobs to archlinux ---- notes on source and binary versions: diff --git a/bin/reproducible_html_archlinux.sh b/bin/reproducible_html_archlinux.sh new file mode 100755 index 00000000..80f99ec2 --- /dev/null +++ b/bin/reproducible_html_archlinux.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +# Copyright 2014-2015 Holger Levsen +# © 2015 Reiner Herrmann +# released under the GPLv=2 + +DEBUG=false +. /srv/jenkins/bin/common-functions.sh +common_init "$@" + +# common code defining db access +. /srv/jenkins/bin/reproducible_common.sh + +# +# finally create the webpage +# +PAGE=archlinux/archlinux.html +cat > $PAGE <<- EOF + + + + + Repoducible Archlinux ? + + +EOF +cd $BASE/archlinux +write_page "" +for PKG in $(ls * -d1) ; do + write_page " " + write_page " " + for LOG in build1.log build2.log ; do + if [ -f $PKG/$LOG ] ; then + write_page " " + else + write_page " " + fi + done + if [ -z "$(ls *.pkg.tar.xz.html 2>/dev/null)" ] ; then + write_page " " + else + write_page " " + fi +done + +write_page "
source packagetest date1st build log2nd build logdiffoscope output for binary packages
$PKG$(ls $PKG -dl|cut -d " " -f6-8)$LOG failed to build from source" + for ARTIFACT in *.pkg.tar.xz.html ; do + write_page " ${ARTIFACT:0:-5}
" + done + write_page "
" +write_page_footer Archlinux +publish_page + diff --git a/job-cfg/reproducible.yaml b/job-cfg/reproducible.yaml index ad573aa1..99408529 100644 --- a/job-cfg/reproducible.yaml +++ b/job-cfg/reproducible.yaml @@ -1268,4 +1268,10 @@ my_shell: '/srv/jenkins/bin/reproducible_build_arch_pkg.sh' my_recipients: 'qa-jenkins-scm@lists.alioth.debian.org' my_node: '' + - '{name}_html_archlinux': + my_description: 'Build a simple webpage for Archlinux reproducibility tests' + my_timed: '42 H/2 * * *' + my_shell: '/srv/jenkins/bin/reproducible_html_archlinux.sh' + my_recipients: 'qa-jenkins-scm@lists.alioth.debian.org' + my_node: '' -- cgit v1.2.3-70-g09d2