diff options
author | Holger Levsen <holger@layer-acht.org> | 2015-06-01 19:03:00 +0200 |
---|---|---|
committer | Holger Levsen <holger@layer-acht.org> | 2015-06-01 19:03:00 +0200 |
commit | 53b6a71a47e8d09e45a11214fa9752b2d023826b (patch) | |
tree | 735c6cf0c46c94df4c9fd8b3855ed4d3b3d829a1 | |
parent | 2ed79e62c154d846aa70a4be00e3287800bbbb4c (diff) | |
download | jenkins.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-- | TODO | 8 | ||||
-rwxr-xr-x | bin/reproducible_build.sh | 15 |
2 files changed, 15 insertions, 8 deletions
@@ -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 |