summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Levsen <holger@layer-acht.org>2015-06-01 19:03:00 +0200
committerHolger Levsen <holger@layer-acht.org>2015-06-01 19:03:00 +0200
commit53b6a71a47e8d09e45a11214fa9752b2d023826b (patch)
tree735c6cf0c46c94df4c9fd8b3855ed4d3b3d829a1
parent2ed79e62c154d846aa70a4be00e3287800bbbb4c (diff)
downloadjenkins.debian.net-53b6a71a47e8d09e45a11214fa9752b2d023826b.tar.xz
reproducible: add check_buildinfo() to (soon) automatically rebuild packages where the build environment changed between two builds
-rw-r--r--TODO8
-rwxr-xr-xbin/reproducible_build.sh15
2 files changed, 15 insertions, 8 deletions
diff --git a/TODO b/TODO
index e968b664..a8745a2d 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 6a166aec..014a8af2 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