[Qa-jenkins-scm] [jenkins.debian.net] 01/01: reproducible debian: replace bash write_page_footer with mustache template

Holger Levsen holger at layer-acht.org
Tue Jul 5 15:42:55 UTC 2016


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 a8d02c004bb864307c297db5af5e5730d9ee6f9a
Author: Valerie R Young <spectranaut at riseup.net>
Date:   Tue Jul 5 08:35:41 2016 -0400

    reproducible debian: replace bash write_page_footer with mustache template
    
    Signed-off-by: Mattia Rizzolo <mattia at debian.org>
    Signed-off-by: Holger Levsen <holger at layer-acht.org>
---
 bin/reproducible_common.py                 |  7 ++---
 bin/reproducible_common.sh                 | 41 +++++++++++++++++-------------
 bin/templates/default_page_footer.mustache |  5 +++-
 3 files changed, 29 insertions(+), 24 deletions(-)

diff --git a/bin/reproducible_common.py b/bin/reproducible_common.py
index f7a2a7d..ed095e0 100755
--- a/bin/reproducible_common.py
+++ b/bin/reproducible_common.py
@@ -171,17 +171,14 @@ try:
 except KeyError:
     JOB_URL = ''
     JOB_NAME = ''
-    JOB_FOOTER = ''
 else:
     JOB_NAME = os.path.basename(JOB_URL[:-1])
-    JOB_FOOTER = 'This page was built by the jenkins job <a href="'+JOB_URL+'">'
-    JOB_FOOTER += JOB_NAME+'</a> which is configured via this '
-    JOB_FOOTER += '<a href="https://anonscm.debian.org/git/qa/jenkins.debian.net.git/">git repo</a>.'
 
 def create_default_page_footer(date):
     return renderer.render(default_page_footer_template, {
             'date': date,
-            'job_footer': JOB_FOOTER,
+            'job_url': JOB_URL,
+            'job_name': JOB_NAME,
             'jenkins_url': JENKINS_URL,
         })
 
diff --git a/bin/reproducible_common.sh b/bin/reproducible_common.sh
index 651299b..9e5f38f 100755
--- a/bin/reproducible_common.sh
+++ b/bin/reproducible_common.sh
@@ -42,6 +42,7 @@ REPRODUCIBLE_DOT_ORG_URL=https://reproducible-builds.org
 JENKINS_URL=${JENKINS_URL:0:-1}
 DBDSUITE="unstable"
 BIN_PATH=/srv/jenkins/bin
+TEMPLATE_PATH=$BIN_PATH/templates
 
 # Debian suites being tested
 SUITES="testing unstable experimental"
@@ -103,6 +104,9 @@ do
 	META_PKGSET[$col1]=$col2
 done < $BIN_PATH/meta_pkgset.csv
 
+# mustache templates
+PAGE_FOOTER_TEMPLATE=$TEMPLATE_PATH/default_page_footer.mustache
+
 # sleep 1-23 secs to randomize start times
 delay_start() {
 	/bin/sleep $(echo "scale=1 ; $(shuf -i 1-230 -n 1)/10" | bc )
@@ -367,33 +371,34 @@ write_page_intro() {
 	fi
 }
 
-# See the python equivalent of this function: reproducible_common.py's create_default_page_footer
 write_page_footer() {
-	write_page "<hr id=\"footer_separator\" /><p style=\"font-size:0.9em;\"><div id=\"page_footer\">"
-	if [ -n "$JOB_URL" ] ; then
-		write_page "This page was built by the jenkins job"
-		write_page "<a href=\"$JOB_URL\">$(basename $JOB_URL)</a> which is configured"
-		write_page "via this <a href=\"https://anonscm.debian.org/git/qa/jenkins.debian.net.git/\">git repo</a>."
-	fi
-	write_page "There is more information <a href=\"https://jenkins.debian.net/userContent/about.html\">about jenkins.debian.net</a> and about <a href=\"https://wiki.debian.org/ReproducibleBuilds\"> reproducible builds of Debian</a> available elsewhere."
-	write_page "<br /> Last update: $(date +'%Y-%m-%d %H:%M %Z'). Copyright 2014-2016 <a href=\"mailto:holger at layer-acht.org\">Holger Levsen</a> and <a href=\"https://jenkins.debian.net//userContent/thanks.html\">many others</a>."
-	write_page "The code of <a href=\"https://anonscm.debian.org/git/qa/jenkins.debian.net.git/\">jenkins.debian.net.git</a> is mostly GPL-2 licensed. The weather icons are public domain and have been taken from the <a href=\"http://tango.freedesktop.org/Tango_Icon_Library\" target=\"_blank\">Tango Icon Library</a>."
-	write_page "<br />"
 	if [ "$1" = "coreboot" ] ; then
-		write_page "The <a href=\"http://www.coreboot.org\">Coreboot</a> logo is Copyright © 2008 by Konsult Stuge and coresystems GmbH and can be freely used to refer to the Coreboot project."
+		other_distro_details="The <a href=\"http://www.coreboot.org\">Coreboot</a> logo is Copyright © 2008 by Konsult Stuge and coresystems GmbH and can be freely used to refer to the Coreboot project."
 	elif [ "$1" = "NetBSD" ] ; then
-		write_page "NetBSD® is a registered trademark of The NetBSD Foundation, Inc."
+		other_distro_details="NetBSD® is a registered trademark of The NetBSD Foundation, Inc."
 	elif [ "$1" = "FreeBSD" ] ; then
-		write_page "FreeBSD is a registered trademark of The FreeBSD Foundation. The FreeBSD logo and The Power to Serve are trademarks of The FreeBSD Foundation."
+		other_distro_details="FreeBSD is a registered trademark of The FreeBSD Foundation. The FreeBSD logo and The Power to Serve are trademarks of The FreeBSD Foundation."
 	elif [ "$1" = "Arch Linux" ] ; then
-		write_page "The <a href=\"https://www.archlinux.org\">Arch Linux</a> name and logo are recognized trademarks. Some rights reserved. The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis."
+		other_distro_details="The <a href=\"https://www.archlinux.org\">Arch Linux</a> name and logo are recognized trademarks. Some rights reserved. The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis."
 	elif [ "$1" = "fedora-23" ] ; then
-		write_page "FIXME: add fedora copyright+trademark disclaimers here."
+		other_distro_details="FIXME: add fedora copyright+trademark disclaimers here."
+	else
+		other_distro_details=''
 	fi
-	write_page "</div></p>"
+	now=$(date +'%Y-%m-%d %H:%M %Z')
+
+	# The context for pystache3 CLI must be json
+	context=$(printf '{
+		"job_url" : "%s",
+		"job_name" : "%s",
+		"date" : "%s",
+		"other_distro_details" : "%s"
+	}' "${JOB_URL:-""}" "${JOB_NAME:-""}" "$now" "$other_distro_details")
+
+	write_page "$(pystache3 $PAGE_FOOTER_TEMPLATE "$context")"
 	write_page "</div>"
 	write_page "</body></html>"
-}
+ }
 
 # A mustache equivalent of this function has been created. See TEMPLATE_PATH/pkg_list_key.mustache
 write_page_meta_sign() {
diff --git a/bin/templates/default_page_footer.mustache b/bin/templates/default_page_footer.mustache
index 1a8c46c..a2160d3 100644
--- a/bin/templates/default_page_footer.mustache
+++ b/bin/templates/default_page_footer.mustache
@@ -1,7 +1,10 @@
 <hr id="footer_separator" />
 <p style="font-size:0.9em;">
   <div id="page_footer">
-    {{job_footer}}
+    {{#job_url}}
+    This page was built by the jenkins job <a href="{{job_url}}"> {{job_name}}</a>
+    which is configured via this <a href="https://anonscm.debian.org/git/qa/jenkins.debian.net.git/">git repo</a>.
+    {{/job_url}}
     There is more information
     <a href="{{jenkins_url}}/userContent/about.html">about jenkins.debian.net</a>
     and about <a href="https://wiki.debian.org/ReproducibleBuilds"> reproducible builds of Debian</a>

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