[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