[Qa-jenkins-scm] [Git][qa/jenkins.debian.net][master] Debian reproducible: Pass nocheck, nopgo and nolto when building gcc-*

Holger Levsen (@holger) gitlab at salsa.debian.org
Mon May 15 21:35:28 BST 2023



Holger Levsen pushed to branch master at Debian QA / jenkins.debian.net


Commits:
c51432de by Vagrant Cascadian at 2023-05-15T22:35:14+02:00
Debian reproducible: Pass nocheck, nopgo and nolto when building gcc-*
and binutils.

This works around some issues with non-determinism in Profile Guided
Optimization (PGO), Link Time Optimization (LTO), and embedded test suite logs:

  https://bugs.debian.org/950585
  https://tests.reproducible-builds.org/debian/issues/test_suite_logs_issue.html

Someday, we dream of being able to revert this, but this at least lets
us work on fixing the other issues in these build-essential packages.

Signed-off-by: Holger Levsen <holger at layer-acht.org>

- - - - -


1 changed file:

- bin/reproducible_build.sh


Changes:

=====================================
bin/reproducible_build.sh
=====================================
@@ -607,6 +607,11 @@ first_build() {
 		bullseye) reproducible_buildflags="+all,-fixfilepath" ;;
 		*) reproducible_buildflags="+all" ;;
 	esac
+	# Disable tests, PGO and LTO on some important packages
+	extra_deb_build_options=""
+	case "${SRCPACKAGE}" in
+		gcc-*|binutils) extra_deb_build_options="nocheck nopgo nolto" ;;
+	esac
 	local TMPCFG=$(mktemp -t pbuilderrc_XXXX --tmpdir=$TMPDIR)
 	cat > "$TMPCFG" << EOF
 BUILDUSERID=1111
@@ -614,7 +619,7 @@ export BUILDUSERNAME=pbuilder1
 export BUILDUSERGECOS="first user,first room,first work-phone,first home-phone,first other"
 # pbuilder sets HOME to the value of BUILD_HOME…
 BUILD_HOME=/nonexistent/first-build
-export DEB_BUILD_OPTIONS="buildinfo=+all reproducible=${reproducible_buildflags} parallel=$NUM_CPU"
+export DEB_BUILD_OPTIONS="buildinfo=+all reproducible=${reproducible_buildflags} parallel=$NUM_CPU ${extra_deb_build_options}"
 export TZ="/usr/share/zoneinfo/Etc/GMT+12"
 export LANG="C.UTF-8"
 unset LC_ALL
@@ -721,13 +726,18 @@ second_build() {
 		bullseye) reproducible_buildflags="+all,-fixfilepath" ;;
 		*) reproducible_buildflags="+all" ;;
 	esac
+	# Disable tests, PGO and LTO on some important packages
+	extra_deb_build_options=""
+	case "${SRCPACKAGE}" in
+		gcc-*|binutils) extra_deb_build_options="nocheck nopgo nolto" ;;
+	esac
 	cat > "$TMPCFG" << EOF
 BUILDUSERID=2222
 export BUILDUSERNAME=pbuilder2
 export BUILDUSERGECOS="second user,second room,second work-phone,second home-phone,second other"
 # pbuilder sets HOME to the value of BUILD_HOME…
 BUILD_HOME=/nonexistent/second-build
-export DEB_BUILD_OPTIONS="buildinfo=+all reproducible=${reproducible_buildflags} parallel=$NUM_CPU"
+export DEB_BUILD_OPTIONS="buildinfo=+all reproducible=${reproducible_buildflags} parallel=$NUM_CPU ${extra_deb_build_options}"
 export TZ="/usr/share/zoneinfo/Etc/GMT-14"
 export LANG="$locale.UTF-8"
 export LC_ALL="$locale.UTF-8"



View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/c51432de52c1dde9eb2c374b0656ab8b58c4b9c3

-- 
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/c51432de52c1dde9eb2c374b0656ab8b58c4b9c3
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/qa-jenkins-scm/attachments/20230515/bb8e8396/attachment-0001.htm>


More information about the Qa-jenkins-scm mailing list