[Qa-jenkins-scm] [jenkins.debian.net] 01/02: reproducible debian: introduce buster

Holger Levsen holger at layer-acht.org
Fri Jun 16 18:23:59 UTC 2017


This is an automated email from the git hooks/post-receive script.

holger pushed a commit to branch buster
in repository jenkins.debian.net.

commit 3d36acd7d093c31987177e2a2893be211c5a43e3
Author: Mattia Rizzolo <mattia at debian.org>
Date:   Fri Jun 16 14:48:35 2017 +0200

    reproducible debian: introduce buster
    
    Signed-off-by: Mattia Rizzolo <mattia at debian.org>
---
 TODO4stretch_rename.txt                            |  7 +++++--
 bin/jenkins_node_wrapper.sh                        |  5 +++++
 bin/reproducible_blacklist.sh                      |  2 +-
 bin/reproducible_build.sh                          | 10 ++++-----
 bin/reproducible_common.py                         |  2 +-
 bin/reproducible_common.sh                         |  4 ++--
 bin/reproducible_db_maintenance.py                 | 20 ++++++++++++++++++
 bin/reproducible_html_breakages.py                 |  7 ++++---
 bin/reproducible_json.py                           |  4 ++--
 bin/reproducible_maintenance.sh                    |  2 +-
 bin/reproducible_scheduler.py                      | 24 ++++++++++++++++++++--
 bin/reproducible_setup_pbuilder.sh                 |  4 ++--
 bin/schroot-create.sh                              |  8 ++++----
 .../sites-available/jenkins.debian.net.conf        |  4 ++--
 14 files changed, 76 insertions(+), 27 deletions(-)

diff --git a/TODO4stretch_rename.txt b/TODO4stretch_rename.txt
index 0c24b7b..0c5f3b7 100644
--- a/TODO4stretch_rename.txt
+++ b/TODO4stretch_rename.txt
@@ -12,6 +12,9 @@ special deployement needed for this:
 
 changes not yet prepared in git
 -------------------------------
-completly prepare to add buster on 2017-06-17
-(including changing the apache redirect testing→stretch to testing→buster)
+missing bits for the buster coming:
+ * _common.sh
+ * _dashboard.sh
+ * _repository_comparison.sh
+ * create the needed jenkins jobs
 finally, remove this file again.
diff --git a/bin/jenkins_node_wrapper.sh b/bin/jenkins_node_wrapper.sh
index eab6973..6167450 100755
--- a/bin/jenkins_node_wrapper.sh
+++ b/bin/jenkins_node_wrapper.sh
@@ -2,6 +2,7 @@
 
 # Copyright (c) 2009, 2010, 2012, 2015 Peter Palfrader
 #               2015-2017 Holger Levsen
+#               2017      Mattia Rizzolo <mattia at debian.org>
 #
 # Permission is hereby granted, free of charge, to any person obtaining
 # a copy of this software and associated documentation files (the
@@ -101,6 +102,8 @@ elif [[ "$*" =~ ^rm\ -r\ /srv/reproducible-results/rbuild.* ]] ; then
 	exec rm -r "$3" ; croak "Exec failed";
 elif [[ "$*" =~ ^rm\ -r\ /var/lib/jenkins/jobs/.*/workspace/results ]] ; then
 	exec rm -r "$3" ; croak "Exec failed";
+elif [[ "$*" =~ ^reproducible_setup_pbuilder_buster_.*_.* ]] ; then
+	exec /srv/jenkins/bin/reproducible_setup_pbuilder.sh buster ; croak "Exec failed";
 elif [[ "$*" =~ ^reproducible_setup_pbuilder_unstable_.*_.* ]] ; then
 	exec /srv/jenkins/bin/reproducible_setup_pbuilder.sh unstable ; croak "Exec failed";
 elif [[ "$*" =~ ^reproducible_setup_pbuilder_stretch_.*_.* ]] ; then
@@ -113,6 +116,8 @@ elif [[ "$*" =~ ^reproducible_node_health_check_.*_.* ]] ; then
 	exec /srv/jenkins/bin/reproducible_node_health_check.sh ; croak "Exec failed";
 elif [[ "$*" =~ ^reproducible_setup_schroot_unstable_diffoscope_.*_.* ]] ; then
 	exec /srv/jenkins/bin/schroot-create.sh reproducible reproducible-unstable-diffoscope unstable diffoscope locales-all ; croak "Exec failed";
+elif [[ "$*" =~ ^reproducible_setup_schroot_buster_.*_.* ]] ; then
+	exec /srv/jenkins/bin/schroot-create.sh reproducible reproducible-buster buster ; croak "Exec failed";
 elif [[ "$*" =~ ^reproducible_setup_schroot_unstable_.*_.* ]] ; then
 	exec /srv/jenkins/bin/schroot-create.sh reproducible reproducible-unstable unstable botch ; croak "Exec failed";
 elif [[ "$*" =~ ^reproducible_setup_schroot_stretch_.*_.* ]] ; then
diff --git a/bin/reproducible_blacklist.sh b/bin/reproducible_blacklist.sh
index e60639e..7a2c5c0 100755
--- a/bin/reproducible_blacklist.sh
+++ b/bin/reproducible_blacklist.sh
@@ -74,7 +74,7 @@ case $SUITE in
 	sid) 	echo "WARNING: sid has been renamed to unstable."
 		SUITE=unstable
 		;;
-	stretch|unstable|experimental) ;;
+	stretch|buster|unstable|experimental) ;;
 	*)	echo "$SUITE is not a valid suite".
 		explain_syntax
 		exit 1
diff --git a/bin/reproducible_build.sh b/bin/reproducible_build.sh
index 5185a12..2746c06 100755
--- a/bin/reproducible_build.sh
+++ b/bin/reproducible_build.sh
@@ -133,7 +133,7 @@ update_db_and_html() {
 	local OLD_STATUS=$(query_db "SELECT status FROM results WHERE package_id='${SRCPKGID}'" || \
 			   query_db "SELECT status FROM results WHERE package_id='${SRCPKGID}'")
 	# irc+mail notifications for changing status in unstable and experimental
-	if [ "$SUITE" != "stretch" ] ; then
+	if [ "$SUITE" = "unstable" ] || [ "$SUITE" = "experimental" ] ; then
 		if [ "${OLD_STATUS}" = "reproducible" ] && [ "$STATUS" != "depwait" ] && \
 		  ( [ "$STATUS" = "unreproducible" ] || [ "$STATUS" = "FTBFS" ] ) ; then
 			MESSAGE="${DEBIAN_URL}/${SUITE}/${ARCH}/${SRCPACKAGE} : reproducible ➤ ${STATUS}"
@@ -626,8 +626,8 @@ export LANG="C"
 unset LC_ALL
 export LANGUAGE="en_US:en"
 EOF
-	# build path is not yet varied on stretch
-	if [ "${SUITE}" != "stretch" ]; then
+	# build path is only varied on unstable and experimental
+	if [ "${SUITE}" = "unstable" ] || [ "$SUITE" = "experimental" ]; then
 		echo "BUILDDIR=/build/1st" >> "$TMPCFG"
 	else
 		echo "BUILDDIR=/build" >> "$TMPCFG"
@@ -689,8 +689,8 @@ export LC_ALL="$locale.UTF-8"
 export LANGUAGE="$locale:$language"
 umask 0002
 EOF
-	# build path is not yet varied on stretch
-	if [ "${SUITE}" != "stretch" ]; then
+	# build path is only varied on unstable and experimental
+	if [ "${SUITE}" = "unstable" ] || [ "$SUITE" = "experimental" ]; then
 		local src_dir_name="$(perl -mDpkg::Source::Package -e '$_ = Dpkg::Source::Package->new(filename => $ARGV[0])->get_basename; s/_/-/g; print' -- "${SRCPACKAGE}_${EVERSION}.dsc")"
 		echo "BUILDDIR=/build/$src_dir_name" >> "$TMPCFG"
 		echo "BUILDSUBDIR=2nd" >> "$TMPCFG"
diff --git a/bin/reproducible_common.py b/bin/reproducible_common.py
index 368b70c..afcadc4 100755
--- a/bin/reproducible_common.py
+++ b/bin/reproducible_common.py
@@ -39,7 +39,7 @@ if os.uname()[1] == 'jenkins-test-vm':
     sys.exit()
 
 # tested suites
-SUITES = ['stretch', 'unstable', 'experimental']
+SUITES = ['buster', 'unstable', 'stretch', 'experimental']
 # tested architectures
 ARCHS = ['amd64', 'i386', 'arm64', 'armhf']
 # defaults
diff --git a/bin/reproducible_common.sh b/bin/reproducible_common.sh
index 0ffbc05..948fac4 100755
--- a/bin/reproducible_common.sh
+++ b/bin/reproducible_common.sh
@@ -32,7 +32,7 @@ BIN_PATH=/srv/jenkins/bin
 TEMPLATE_PATH=/srv/jenkins/mustache-templates/reproducible
 
 # Debian suites being tested
-SUITES="stretch unstable experimental"
+SUITES="buster unstable stretch experimental"
 # Debian architectures being tested
 ARCHS="amd64 i386 arm64 armhf"
 
@@ -416,7 +416,7 @@ write_variation_table() {
 		write_page "<tr><td>uid</td><td>uid=1111</td><td>uid=2222</td></tr>"
 		write_page "<tr><td>gid</td><td>gid=1111</td><td>gid=2222</td></tr>"
 		write_page "<tr><td>/bin/sh</td><td>/bin/dash</td><td>/bin/bash</td></tr>"
-		write_page "<tr><td>build path</td><td>/build/1st/\$pkg-\$ver <em>(not varied for stretch)</em></td><td>/build/\$pkg-\$ver/2nd <em>(not varied for stretch)</em></td></tr>"
+		write_page "<tr><td>build path</td><td>/build/1st/\$pkg-\$ver <em>(not varied for stretch/buster)</em></td><td>/build/\$pkg-\$ver/2nd <em>(not varied for stretch/buster)</em></td></tr>"
 		write_page "<tr><td>user's login shell</td><td>/bin/sh</td><td>/bin/bash</td></tr>"
 		write_page "<tr><td>user's <a href="https://en.wikipedia.org/wiki/Gecos_field">GECOS</a></td><td>first user,first room,first work-phone,first home-phone,first other</td><td>second user,second room,second work-phone,second home-phone,second other</td></tr>"
 		write_page "<tr><td>env DEB_BUILD_OPTIONS</td><td>DEB_BUILD_OPTIONS=\"parallel=XXX\"<br />  XXX on amd64: 16 or 15<br />  XXX on i386: 10 or 9<br />  XXX on armhf: 8, 4 or 2</td><td>DEB_BUILD_OPTIONS=\"parallel=YYY\"<br />  YYY on amd64: 16 or 15 (!= the first build)<br />  YYY on i386: 10 or 9 (!= the first build)<br />  YYY is the same as XXX on arm64<br />  YYY on armhf: 8, 4, or 2 (not varied systematically)</td></tr>"
diff --git a/bin/reproducible_db_maintenance.py b/bin/reproducible_db_maintenance.py
index 825a38a..27f3f56 100755
--- a/bin/reproducible_db_maintenance.py
+++ b/bin/reproducible_db_maintenance.py
@@ -606,6 +606,26 @@ schema_updates = {
                 "stats_builds_age", "stats_meta_pkg_state", "stats_build")] + [
         "INSERT INTO rb_schema (version, date) VALUES (31, '" + now + "')"
     ],
+    32: [ # copy stretch packages (includng results) in buster
+        """INSERT INTO sources (name, version, suite, architecture, notify_maintainer)
+            SELECT name, version, 'buster', architecture, notify_maintainer
+            FROM sources
+            WHERE suite = 'stretch'"""
+        """WITH buster AS (
+                SELECT id, name, suite, architecture, version
+                FROM sources WHERE suite = 'buster'),
+            sr AS (
+                SELECT s.name, s.architecture, r.id, r.version, r.status,
+                    r.build_date, r.build_duration, r.node1, r.node2, r.job
+                FROM sources AS s JOIN results AS r ON s.id=r.package_id
+                WHERE s.suite = 'stretch')
+            INSERT INTO results (package_id, version, status, build_date,
+                    build_duration, node1, node2, job)
+                SELECT b.id, sr.version, sr.status, sr.build_date,
+                    sr.build_duration, sr.node1, sr.node2, sr.job
+                FROM buster AS b JOIN sr ON b.name=sr.name
+                    AND b.architecture=sr.architecture""",
+        "INSERT INTO rb_schema (version, date) VALUES (32, '" + now + "')"
 }
 
 
diff --git a/bin/reproducible_html_breakages.py b/bin/reproducible_html_breakages.py
index 929da61..708056f 100755
--- a/bin/reproducible_html_breakages.py
+++ b/bin/reproducible_html_breakages.py
@@ -109,12 +109,13 @@ def lack_buildinfo():
 def pbuilder_dep_fail():
     log.info('running pbuilder_dep_fail check...')
     bad_pkgs = []
-    # we only care about these failures in the stretch suite as they happen
-    # all the time in other suites, as packages are buggy
+    # we only care about these failures in the !unstable !experimental suites
+    # as they happen all the time in there, as packages are buggy
     # and specific versions also come and go
     query = '''SELECT s.name, r.version, s.suite, s.architecture
                FROM sources AS s JOIN results AS r ON r.package_id=s.id
-               WHERE r.status = 'FTBFS' AND s.suite = 'stretch'
+               WHERE r.status = 'FTBFS'
+               AND s.suite NOT IN ('unstable', 'experimental')
                ORDER BY s.name ASC, s.suite DESC, s.architecture ASC'''
     results = query_db(query)
     for pkg, version, suite, arch in results:
diff --git a/bin/reproducible_json.py b/bin/reproducible_json.py
index 33e218b..b8bd286 100755
--- a/bin/reproducible_json.py
+++ b/bin/reproducible_json.py
@@ -48,8 +48,8 @@ for row in result:
     log.debug(pkg)
     output.append(pkg)
 
-    # tracker.d.o should only care about results in stretch
-    if pkg['suite'] == 'stretch':
+    # tracker.d.o should only care about results in testing
+    if pkg['suite'] == 'buster':
 
         package = pkg['package']
         if package in crossarch:
diff --git a/bin/reproducible_maintenance.sh b/bin/reproducible_maintenance.sh
index ffc5c80..3e50852 100755
--- a/bin/reproducible_maintenance.sh
+++ b/bin/reproducible_maintenance.sh
@@ -419,7 +419,7 @@ fi
 
 # find + chmod files with bad permissions
 echo "$(date -u) - Checking for files with bad permissions."
-BADPERMS=$(find $DEBIAN_BASE/{buildinfo,dbd,rbuild,artifacts,unstable,experimental,stretch,rb-pkg} ! -perm 644 -type f 2>/dev/null|| true)
+BADPERMS=$(find $DEBIAN_BASE/{buildinfo,dbd,rbuild,artifacts,stretch,buster,unstable,experimental,rb-pkg} ! -perm 644 -type f 2>/dev/null|| true)
 if [ ! -z "$BADPERMS" ] ; then
     DIRTY=true
     echo
diff --git a/bin/reproducible_scheduler.py b/bin/reproducible_scheduler.py
index 9138e17..686db7e 100755
--- a/bin/reproducible_scheduler.py
+++ b/bin/reproducible_scheduler.py
@@ -41,7 +41,7 @@ packages are already scheduled in that category, in a 3 steps process.
 
 Only when scheduling old versions MINIMUM_AGE is respected.
 
-
+(
 Let's go by an example:
     'unstable': {1: (250, 40), 2: (350, 20), '*': 5},
 is translated to:
@@ -72,21 +72,25 @@ LIMITS = {
     'untested': {
         'amd64': {
             'stretch': {'*': 100},
+            'buster': {'*': 100},
             'unstable': {'*': 100},
             'experimental': {'*': 100},
         },
         'i386': {
             'stretch': {'*': 100},
+            'buster': {'*': 100},
             'unstable': {'*': 100},
             'experimental': {'*': 100},
         },
        'arm64': {
             'stretch': {'*': 100},
+            'buster': {'*': 100},
             'unstable': {'*': 100},
             'experimental': {'*': 100},
         },
        'armhf': {
             'stretch': {'*': 100},
+            'buster': {'*': 100},
             'unstable': {'*': 100},
             'experimental': {'*': 100},
         },
@@ -94,21 +98,25 @@ LIMITS = {
     'new': {
         'amd64': {
             'stretch': {1: (100, 250), 2: (200, 200), '*': 100},
+            'buster': {1: (100, 250), 2: (200, 200), '*': 100},
             'unstable': {1: (100, 250), 2: (200, 200), '*': 150},
             'experimental': {1: (100, 250), 2: (200, 200), '*': 50},
         },
         'i386': {
             'stretch': {1: (100, 250), 2: (200, 200), '*': 100},
+            'buster': {1: (100, 250), 2: (200, 200), '*': 100},
             'unstable': {1: (100, 250), 2: (200, 200), '*': 150},
             'experimental': {1: (100, 250), 2: (200, 200), '*': 50},
         },
         'arm64': {
             'stretch': {1: (100, 250), 2: (200, 200), '*': 50},
+            'buster': {1: (100, 250), 2: (200, 200), '*': 50},
             'unstable': {1: (100, 250), 2: (200, 200), '*': 75},
             'experimental': {1: (100, 200), 2: (200, 200), '*': 25},
         },
         'armhf': {
             'stretch': {1: (100, 200), 2: (200, 200), '*': 50},
+            'buster': {1: (100, 200), 2: (200, 200), '*': 50},
             'unstable': {1: (100, 200), 2: (200, 200), '*': 75},
             'experimental': {1: (100, 200), 2: (200, 200), '*': 25},
         },
@@ -116,21 +124,25 @@ LIMITS = {
     'ftbfs': {
         'amd64': {
             'stretch': {1: (700, 40), 2: (500, 20), '*': 5},
+            'buster': {1: (700, 40), 2: (500, 20), '*': 5},
             'unstable': {1: (700, 40), 2: (500, 20), '*': 5},
             'experimental': {1: (700, 40), 2: (500, 20), '*': 2},
         },
         'i386': {
             'stretch': {1: (700, 40), 2: (500, 20), '*': 5},
+            'buster': {1: (700, 40), 2: (500, 20), '*': 5},
             'unstable': {1: (700, 40), 2: (500, 20), '*': 5},
             'experimental': {1: (700, 40), 2: (500, 20), '*': 2},
         },
         'arm64': {
             'stretch': {1: (700, 40), 2: (500, 20), '*': 5},
+            'buster': {1: (700, 40), 2: (500, 20), '*': 5},
             'unstable': {1: (700, 40), 2: (500, 20), '*': 5},
             'experimental': {1: (700, 40), 2: (500, 20), '*': 2},
         },
         'armhf': {
             'stretch': {1: (575, 20), 2: (450, 10), '*': 5},
+            'buster': {1: (575, 20), 2: (450, 10), '*': 5},
             'unstable': {1: (575, 20), 2: (450, 10), '*': 5},
             'experimental': {1: (575, 20), 2: (450, 10), '*': 2},
         }
@@ -138,21 +150,25 @@ LIMITS = {
     'depwait': {
         'amd64': {
             'stretch': {1: (700, 400), 2: (500, 200), '*': 50},
+            'buster': {1: (700, 400), 2: (500, 200), '*': 50},
             'unstable': {1: (700, 400), 2: (500, 200), '*': 50},
             'experimental': {1: (700, 400), 2: (500, 200), '*': 20},
         },
         'i386': {
             'stretch': {1: (700, 400), 2: (500, 200), '*': 50},
+            'buster': {1: (700, 400), 2: (500, 200), '*': 50},
             'unstable': {1: (700, 400), 2: (500, 200), '*': 50},
             'experimental': {1: (700, 400), 2: (500, 200), '*': 20},
         },
         'arm64': {
             'stretch': {1: (700, 400), 2: (500, 200), '*': 50},
+            'buster': {1: (700, 400), 2: (500, 200), '*': 50},
             'unstable': {1: (700, 400), 2: (500, 200), '*': 50},
             'experimental': {1: (700, 400), 2: (500, 200), '*': 20},
         },
         'armhf': {
             'stretch': {1: (575, 200), 2: (450, 100), '*': 50},
+            'buster': {1: (575, 200), 2: (450, 100), '*': 50},
             'unstable': {1: (575, 200), 2: (450, 100), '*': 50},
             'experimental': {1: (575, 200), 2: (450, 100), '*': 20},
         }
@@ -160,21 +176,25 @@ LIMITS = {
     'old': {
         'amd64': {
             'stretch': {1: (700, 1000), 2: (1100, 850), '*': 0},
+            'buster': {1: (700, 1000), 2: (1100, 850), '*': 0},
             'unstable': {1: (700, 1200), 2: (1100, 1050), '*': 0},
             'experimental': {1: (700, 70), 2: (1100, 50), '*': 0},
         },
         'i386': {
             'stretch': {1: (700, 1000), 2: (1100, 850), '*': 0},
+            'buster': {1: (700, 1000), 2: (1100, 850), '*': 0},
             'unstable': {1: (700, 1200), 2: (1100, 1050), '*': 0},
             'experimental': {1: (700, 70), 2: (1100, 50), '*': 0},
         },
         'arm64': {
             'stretch': {1: (700, 1000), 2: (1100, 850), '*': 0},
+            'buster': {1: (700, 1000), 2: (1100, 850), '*': 0},
             'unstable': {1: (700, 1200), 2: (1100, 1050), '*': 0},
             'experimental': {1: (700, 70), 2: (1100, 50), '*': 0},
         },
         'armhf': {
             'stretch': {1: (600, 800), 2: (850, 500), '*': 0},
+            'buster': {1: (600, 800), 2: (850, 500), '*': 0},
             'unstable': {1: (600, 1000), 2: (850, 700), '*': 0},
             'experimental': {1: (600, 70), 2: (850, 50), '*': 0},
         }
@@ -449,7 +469,7 @@ def query_new_versions(suite, arch, limit):
                LIMIT {limit}""".format(suite=suite, arch=arch, limit=limit)
     pkgs = query_db(query)
     # the next line avoids constant rescheduling of packages:
-    # packages in our repository != sid or stretch,
+    # packages in our repository != official repo,
     # so they will always be selected by the query above
     # so we only accept them if there version is greater than the already tested one
     packages = [(x[0], x[1]) for x in pkgs if version_compare(x[2], x[3]) > 0]
diff --git a/bin/reproducible_setup_pbuilder.sh b/bin/reproducible_setup_pbuilder.sh
index c64e2fa..43943d5 100755
--- a/bin/reproducible_setup_pbuilder.sh
+++ b/bin/reproducible_setup_pbuilder.sh
@@ -127,8 +127,8 @@ setup_pbuilder() {
 	sudo pbuilder --execute $pbuilder_http_proxy --save-after-exec --basetgz /var/cache/pbuilder/${NAME}-new.tgz -- ${TMPFILE} | tee ${LOG}
 	rm ${TMPFILE}
 
-	# add repo only for experimental and sid - keep stretch "real" (and sid progressive!)
-	if [ "$SUITE" != "stretch" ] ; then
+	# add repo only for experimental and unstable - keep stretch/buster "real" (and sid progressive!)
+	if [ "$SUITE" = "unstable" ] || [ "$SUITE" = "experimental" ]; then
 		# apply further customisations, eg. install $PACKAGES from our repo
 		create_setup_our_repo_tmpfile ${TMPFILE} "${PACKAGES}"
 		if [ "$DEBUG" = "true" ] ; then
diff --git a/bin/schroot-create.sh b/bin/schroot-create.sh
index 94a2fbb..e956adc 100755
--- a/bin/schroot-create.sh
+++ b/bin/schroot-create.sh
@@ -182,14 +182,14 @@ bootstrap() {
 		fi
 		robust_chroot_apt install -y --no-install-recommends sudo
 		robust_chroot_apt install -y --no-install-recommends $@
-		# try to use diffoscope from experimental
-		if ([ "$SUITE" = "unstable" ] || [ "$SUITE" = "stretch" ] ) && [ "$1" = "diffoscope" ] ; then
+		# try to use diffoscope from experimental if available
+		if [ "$SUITE" != "experimental" ] && [ "$1" = "diffoscope" ] ; then
 			echo "deb $MIRROR experimental main"        | sudo tee -a $SCHROOT_TARGET/etc/apt/sources.list > /dev/null
 			robust_chroot_apt update
 			# install diffoscope from experimental without re-adding all recommends...
 			sudo chroot $SCHROOT_TARGET apt-get install -y -t experimental --no-install-recommends diffoscope || echo "Warning: diffoscope from experimental is uninstallable at the moment."
-		elif [ "$SUITE" = "stretch" ] && [ "$1" = "diffoscope" ] ; then
-			# always try to use diffoscope from unstable on stretch
+        elif ([ "$SUITE" != "unstable" ] && [ "$SUITE" != "experimental" ]) && [ "$1" = "diffoscope" ] ; then
+			# always try to use diffoscope from unstable on stretch/buster
 			echo "deb $MIRROR unstable main"        | sudo tee -a $SCHROOT_TARGET/etc/apt/sources.list > /dev/null
 			robust_chroot_apt update
 			# install diffoscope from unstable without re-adding all recommends...
diff --git a/hosts/jenkins/etc/apache2/sites-available/jenkins.debian.net.conf b/hosts/jenkins/etc/apache2/sites-available/jenkins.debian.net.conf
index eb2585a..5f6c4f8 100644
--- a/hosts/jenkins/etc/apache2/sites-available/jenkins.debian.net.conf
+++ b/hosts/jenkins/etc/apache2/sites-available/jenkins.debian.net.conf
@@ -268,11 +268,11 @@ Use common-debian-service-https-redirect www.reproducible-builds.org
 	RewriteCond %{REQUEST_URI} ^/(debian/|)index_all_abc.html$
 	RewriteRule ^/(debian/|)?(.+) /debian/unstable/amd64/$2 [R=301,L]
 
-	# redirect /testing to /stretch
+	# redirect /testing to /buster
 	# note: no flags on the rule, will cause apache to continue after rewriting
 	#       the url and apply the next rule
 	Rewritecond %{REQUEST_URI} ^/(debian/|)testing(/|)$
-	RewriteRule ^/(debian/|)(.*) /debian/stretch/
+	RewriteRule ^/(debian/|)(.*) /debian/buster/
 
 	# redirect /$suite to /$suite/index_suite_amd64_stats.html
 	# note: the missing slash in the RewriteRule is wanted to avoid a double slash

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