[Qa-jenkins-scm] [jenkins.debian.net] 01/01: reproducible: add check_buildinfo() to (soon) automatically rebuild packages where the build environment changed between two builds

Holger Levsen holger at moszumanska.debian.org
Mon Jun 1 17:03: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 53b6a71a47e8d09e45a11214fa9752b2d023826b
Author: Holger Levsen <holger at layer-acht.org>
Date:   Mon Jun 1 19:03:00 2015 +0200

    reproducible: add check_buildinfo() to (soon) automatically rebuild packages where the build environment changed between two builds
---
 TODO                      |  8 --------
 bin/reproducible_build.sh | 15 +++++++++++++++
 2 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/TODO b/TODO
index e968b66..a8745a2 100644
--- a/TODO
+++ b/TODO
@@ -178,14 +178,6 @@ properties:
 ----
 egrep -R -l '(debbindiff had trouble comparing|maybe there is still )' /var/lib/jenkins/userContent/rbuild/
 ----
-* packages build with different dependencies, should be rescheduled:
-** not sure if these should be caught by reproducible_maintenance.sh or reproducible_breakages.py...
-----
-grep '(=.*).,.$' rygel_0.24.2-1.debbindiff.html | uniq -c | sort | grep -c '^\s*1 '
-----
-** if the value is larger than 0, there are differing dependencies...
-** the grepping should probably only done on files younger then $check_frequency
-*** wouldnt it be easier to just compare .buildinfo files? (directly after build even)
 
 * misc
 ** more graphs: graph average build duration by day
diff --git a/bin/reproducible_build.sh b/bin/reproducible_build.sh
index 6a166ae..014a8af 100755
--- a/bin/reproducible_build.sh
+++ b/bin/reproducible_build.sh
@@ -260,6 +260,20 @@ dbd_timeout() {
 	handle_ftbr "$msg"
 }
 
+check_buildinfo() {
+	local TMPFILE1=$(mktemp)
+	local TMPFILE2=$(mktemp)
+	grep-dctrl -s Build-Environment -n ${SRCPACKAGE} ./b1/$BUILDINFO > $TMPFILE1
+	grep-dctrl -s Build-Environment -n ${SRCPACKAGE} ./b2/$BUILDINFO > $TMPFILE2
+	set +e
+	RESULT=$(diff $TMPFILE1 $TMPFILE2)
+	rm $TMPFILE1 $TMPFILE2
+	set -e
+	if [ $RESULT -eq 1 ] ; then
+		irc_message "$BUILDINFO varies, probably due to mirror update. Please investigate ${BUILD_URL} and make reproducible_build.sh deal properly with this."
+	fi
+}
+
 call_debbindiff() {
 	init_debbindiff  # check and set up locks for chroot
 	local TMPLOG=(mktemp --tmpdir=$TMPDIR)
@@ -483,6 +497,7 @@ check_suitability
 check_for_race_conditions
 build_rebuild  # defines FTBFS redefines RBUILDLOG
 if [ $FTBFS -eq 0 ] ; then
+	check_buildinfo
 	call_debbindiff  # defines DBDVERSION, update_db_and_html defines STATUS
 fi
 

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