[Qa-jenkins-scm] [jenkins.debian.net] 01/01: reproducible arch: build simple web page

Holger Levsen holger at moszumanska.debian.org
Fri Oct 16 21:25:10 UTC 2015


This is an automated email from the git hooks/post-receive script.

holger pushed a commit to branch master
in repository jenkins.debian.net.

commit 379420067139a2c8d71578e9d42b00d411f86336
Author: Holger Levsen <holger at layer-acht.org>
Date:   Fri Oct 16 23:24:17 2015 +0200

    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(-)

diff --git a/TODO b/TODO
index 84a026a..64a9309 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 0000000..80f99ec
--- /dev/null
+++ b/bin/reproducible_html_archlinux.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+# Copyright 2014-2015 Holger Levsen <holger at layer-acht.org>
+#         © 2015 Reiner Herrmann <reiner at 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 ad573aa..9940852 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 at 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 at lists.alioth.debian.org'
+            my_node: ''
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/qa/jenkins.debian.net.git



More information about the Qa-jenkins-scm mailing list