Subject: bug#29646: closed (Re: [bug#29646] [PATCH] skalibs reproducible issue (reopen))

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 11 Dec 2017 16:09:03 +0000

Your bug report

#29646: [PATCH] skalibs reproducible issue (reopen)

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
29646: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=29646
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#29646] [PATCH] skalibs reproducible issue (reopen)
From: [email-masked] (Ludovic Courtès)
To: "Z. Ren" <[email-masked]>
Cc: [email-masked]
Date: Mon, 11 Dec 2017 17:08:35 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

"Z. Ren" <[email-masked]> skribis:

> Previously, we submitted a patch that intended to fix the unreproducible issue of the package skalibs (#28017). Unfortunately, the patch we submitted only partially fixed the issues, i.e,. for the .a file (lib/skalibs/libskarnet.a). However, the .so file (lib/libskarnet.so) is still non-deterministic.
>
> After investigation, we find that in the Makefile, 'sort' should be applied associated with 'wildcard', rather than with only ALL_SRCS. 
>
> To validate the fix, we applied "guix build --check --no-grafts --rounds=2 skalibs" with the patched skarnet.scm, over three PCs (with guix 316fd29f9b6b0941367f54f431ef99695b16a9e5), and checked the sha256sum of the built files. Under our testing setup, the attached patch fixes the issues for the .a/.so files for skalibs. Hope the patch is correct this time, and sorry that the previous submitted patch failed to resolve all the unreproducible issues.

I confirm that it builds reproducibly on my laptop with --rounds=2 (a
weaker test that what you did!).

> From 36e35a72942a561028f93e6905cab7729a0d1f12 Mon Sep 17 00:00:00 2001
> From: Z. Ren <[email-masked]>
> Date: Sun, 10 Dec 2017 22:23:32 +0800
> Subject: [PATCH] fix the unreproducible issue for skalibs
>
> ---
>  gnu/packages/skarnet.scm | 4 ++--

I adjusted the commit log and committed.

Thank you!

Ludo’.

Subject: [PATCH] skalibs reproducible issue (reopen)
From: "Z. Ren" <[email-masked]>
To: [email-masked]
Date: Sun, 10 Dec 2017 23:42:30 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi!
Previously, we submitted a patch that intended to fix the unreproducible issue of the package skalibs (#28017). Unfortunately, the patch we submitted only partially fixed the issues, i.e,. for the .a file (lib/skalibs/libskarnet.a). However, the .so file (lib/libskarnet.so) is still non-deterministic.

After investigation, we find that in the Makefile, 'sort' should be applied associated with 'wildcard', rather than with only ALL_SRCS. 

To validate the fix, we applied "guix build --check --no-grafts --rounds=2 skalibs" with the patched skarnet.scm, over three PCs (with guix 316fd29f9b6b0941367f54f431ef99695b16a9e5), and checked the sha256sum of the built files. Under our testing setup, the attached patch fixes the issues for the .a/.so files for skalibs. Hope the patch is correct this time, and sorry that the previous submitted patch failed to resolve all the unreproducible issues.

Regards,
Ren

>From 36e35a72942a561028f93e6905cab7729a0d1f12 Mon Sep 17 00:00:00 2001
From: Z. Ren <[email-masked]>
Date: Sun, 10 Dec 2017 22:23:32 +0800
Subject: [PATCH] fix the unreproducible issue for skalibs

---
 gnu/packages/skarnet.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm
index 5a46b0db6..ce6fdc709 100644
--- a/gnu/packages/skarnet.scm
+++ b/gnu/packages/skarnet.scm
@@ -47,8 +47,8 @@
                       ;; Sort source files deterministically so that the *.a
                       ;; and *.so files are reproducible.
                       (substitute* "Makefile"
-                        (("\\$\\(ALL_SRCS:%.c=%.o\\)")
-                         "$(sort $(ALL_SRCS:%.c=%.o))"))
+                        (("\\$\\(wildcard src/lib\\*/\\*.c\\)")
+                         "$(sort $(wildcard src/lib*/*.c))"))
                       #t)))))
     (home-page "http://skarnet.org/software/skalibs/")
     (synopsis "Platform abstraction libraries for skarnet.org software")
-- 
2.11.0