Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ghc-rpm-macros for openSUSE:Factory checked in at 2023-11-02 20:21:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-rpm-macros (Old) and /work/SRC/openSUSE:Factory/.ghc-rpm-macros.new.17445 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-rpm-macros" Thu Nov 2 20:21:09 2023 rev:45 rq:1121668 version:2.5.3 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-rpm-macros/ghc-rpm-macros.changes 2023-08-07 15:29:21.332411468 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-rpm-macros.new.17445/ghc-rpm-macros.changes 2023-11-02 20:21:23.947679409 +0100 @@ -1,0 +2,17 @@ +Tue Oct 24 14:39:05 UTC 2023 - Peter Simons <[email protected]> + +- Apply "reproducible-builds.patch", which makes GHC output + deterministic by disabling multi-threaded compilation. Adding + + Macros: + # Enable multi-threaded builds in this project. This makes our + # build products non-deterministic, e.g. not reproducible, but + # we don't need them to be and would rather have fast results. + %ghc_smp_mflags %{?_smp_mflags} + :Macros + + to an OBS project configuration re-enables multi-threaded builds, + which might be useful for development projects that don't deliver + binaries. + +------------------------------------------------------------------- New: ---- reproducible-builds.patch BETA DEBUG BEGIN: New: - Apply "reproducible-builds.patch", which makes GHC output deterministic by disabling multi-threaded compilation. Adding BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-rpm-macros.spec ++++++ --- /var/tmp/diff_new_pack.bo8kgg/_old 2023-11-02 20:21:24.447697807 +0100 +++ /var/tmp/diff_new_pack.bo8kgg/_new 2023-11-02 20:21:24.451697954 +0100 @@ -26,6 +26,7 @@ URL: https://fedoraproject.org/wiki/Haskell_SIG # source gets updated with osc service dr Source0: %{name}-%{version}.tar.xz +Patch1: https://github.com/opensuse-haskell/ghc-rpm-macros/pull/1.patch#/reproducible-builds.patch BuildRequires: xz Requires: rpm Requires: chrpath @@ -49,7 +50,7 @@ for example in ghc and haskell-platform. %prep -%setup -q +%autosetup -p1 %build echo no build stage needed ++++++ reproducible-builds.patch ++++++ >From fc753c7f752ea77650ca708104acc384f025dd54 Mon Sep 17 00:00:00 2001 From: "Bernhard M. Wiedemann" <[email protected]> Date: Sat, 15 Apr 2023 07:09:01 +0200 Subject: [PATCH] Compile with only 1 thread but give an option to do fast non-deterministic builds parallel compile causes assignment of random symbol names so we build single-threaded, which is slower, but gives reproducible results --- macros.ghc-suse | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/macros.ghc-suse b/macros.ghc-suse index 3fe39a0..61a154a 100644 --- a/macros.ghc-suse +++ b/macros.ghc-suse @@ -29,4 +29,6 @@ mkdir -p %{buildroot}/usr/src/debug %with_ghc_prof 1 # %%{?_smp_ncpus_max:--jobs=%%{?_smp_ncpus_max}} -%ghc_smp_mflags %{?_smp_mflags} +# parallel compile causes assignment of random symbol names +# so for distribution releases we build single-threaded, which is slower, but gives reproducible results +# for devel project set ghc_smp_flags in Macros
