Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package Rivet for openSUSE:Factory checked in at 2026-08-30 19:08:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/Rivet (Old) and /work/SRC/openSUSE:Factory/.Rivet.new.1265 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "Rivet" Sun Aug 30 19:08:16 2026 rev:33 rq:1374665 version:4.1.2 Changes: -------- --- /work/SRC/openSUSE:Factory/Rivet/Rivet.changes 2025-11-24 14:13:32.324247849 +0100 +++ /work/SRC/openSUSE:Factory/.Rivet.new.1265/Rivet.changes 2026-08-30 19:08:26.375510745 +0200 @@ -1,0 +2,7 @@ +Wed Aug 19 10:11:14 UTC 2026 - Bernhard M. Wiedemann <[email protected]> + +- Add Rivet-reproducible-plugin-build.patch to make plugin + libraries build reproducibly independent of CPU count + and temp file names (boo#1102408) + +------------------------------------------------------------------- New: ---- Rivet-reproducible-plugin-build.patch ----------(New B)---------- New: - Add Rivet-reproducible-plugin-build.patch to make plugin libraries build reproducibly independent of CPU count ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ Rivet.spec ++++++ --- /var/tmp/diff_new_pack.xk8GeO/_old 2026-08-30 19:08:27.296542612 +0200 +++ /var/tmp/diff_new_pack.xk8GeO/_new 2026-08-30 19:08:27.298542681 +0200 @@ -27,6 +27,8 @@ Patch0: sover.diff # PATCH-FEATURE-OPENSUSE Rivet-disable-testCmdLine.patch [email protected] -- Disable an outdated and failing test Patch1: Rivet-disable-testCmdLine.patch +# PATCH-FIX-UPSTREAM Rivet-reproducible-plugin-build.patch [email protected] -- Make plugin .so builds independent of CPU count and tmp file names +Patch2: Rivet-reproducible-plugin-build.patch BuildRequires: HepMC-devel >= 3.2 BuildRequires: YODA-devel >= 2.0 BuildRequires: bash-completion ++++++ Rivet-reproducible-plugin-build.patch ++++++ From: Bernhard M. Wiedemann <[email protected]> Date: 2026-08-19 Subject: Make rivet-build output independent of the build machine Split plugin sources into a fixed number of buckets instead of one bucket per CPU core, so that the code compiled into each plugin .so does not vary with the core count of the build machine. Parallelism is unaffected, because it comes from make -j. Also give the concatenated temporary .cc files deterministic names, because these names end up in generated symbol names (e.g. _GLOBAL__sub_I_tmp.EbeVPlcG.cc.cold) and in debug info. This patch was done while working on reproducible builds for openSUSE. --- a/bin/rivet-build.in 2026-08-19 12:10:07.135116702 +0200 +++ b/bin/rivet-build.in 2026-08-19 12:10:25.434788951 +0200 @@ -75,7 +75,9 @@ ## Remove options shift $((OPTIND-1)) -if [[ -n "$RIVET_BUILD_ALLCAT" ]]; then num_jobs=1; fi +## Fixed bucket count, so the built library does not depend on the core count +let max_buckets=16 +if [[ -n "$RIVET_BUILD_ALLCAT" ]]; then num_jobs=1; max_buckets=1; fi ## Check num_jobs is a number if [[ ! $num_jobs -eq $num_jobs ]]; then @@ -228,7 +230,7 @@ ################## ## Assemble and run build machinery -## Split sources into buckets, one for each core +## Split sources into buckets let idx=1 sources="" for src in "$@" @@ -239,7 +241,7 @@ if [[ -n $RIVET_BUILD_NOCAT ]]; then let idx=idx+1 else - let idx=(idx%$num_jobs)+1 + let idx=(idx%$max_buckets)+1 fi else if [[ ${src:0:1} == "-" ]]; then @@ -262,10 +264,9 @@ ## Loop over buckets for idx in $(seq 1 $num_buckets); do - ## DO NOT SIMPLIFY, the OS X mktemp can't deal with suffixes directly - tmpfile="$(mktemp tmp.XXXXXXXX)" - mv "$tmpfile" "$tmpfile.cc" - tmpfile="$tmpfile.cc" + ## Deterministic name, so generated symbol names are reproducible + tmpfile="tmp.$(basename "$libname" .so).$idx.cc" + : > "$tmpfile" ## Concatenate the analysis codes into a single .cc, with separator lines to fool the preprocessor! for i in $(echo ${buckets[$idx]}); do #< find the real way to do this!
