diff options
-rw-r--r-- | TODO | 9 | ||||
-rwxr-xr-x | bin/reproducible_html_archlinux.sh | 53 | ||||
-rw-r--r-- | job-cfg/reproducible.yaml | 6 |
3 files changed, 63 insertions, 5 deletions
@@ -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 <holger@layer-acht.org> +# © 2015 Reiner Herrmann <reiner@reiner-h.de> +# 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 +<!DOCTYPE html> +<html lang="en-US"> + <head> + <meta charset="UTF-8"> + <title>Repoducible Archlinux ?</title> + </head> + <body> +EOF +cd $BASE/archlinux +write_page "<table><tr><th>source package</th><th>test date</th><th>1st build log</th><th>2nd build log</th><th>diffoscope output for binary packages</th></tr>" +for PKG in $(ls * -d1) ; do + write_page " <td>$PKG</td>" + write_page " <td>$(ls $PKG -dl|cut -d " " -f6-8)</td>" + for LOG in build1.log build2.log ; do + if [ -f $PKG/$LOG ] ; then + write_page " <td><a href=\"$LOG\">$LOG</a></td>" + else + write_page " <td> </td>" + fi + done + if [ -z "$(ls *.pkg.tar.xz.html 2>/dev/null)" ] ; then + write_page " <td>failed to build from source</td>" + else + write_page " <td>" + for ARTIFACT in *.pkg.tar.xz.html ; do + write_page " <a href=\"$ARTIFACT\">${ARTIFACT:0:-5}</a><br />" + done + write_page " </td>" + fi +done + +write_page "</table>" +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: '' |