unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#24136: libgcrypt 1.7.0 is not bit-reproducible
@ 2016-08-03  0:50 Ludovic Courtès
  2016-08-03 17:48 ` Leo Famulari
  2016-09-09 14:30 ` Ludovic Courtès
  0 siblings, 2 replies; 3+ messages in thread
From: Ludovic Courtès @ 2016-08-03  0:50 UTC (permalink / raw)
  To: 24136

--8<---------------cut here---------------start------------->8---
$ diff -ru --no-dereference /gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0{,-check}
Binary files /gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0/lib/libgcrypt.so.20.1.0 and /gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0-check/lib/libgcrypt.so.20.1.0 differ
Binary files /gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0/share/man/man1/hmac256.1.gz and /gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0-check/share/man/man1/hmac256.1.gz differ
$ git describe
v0.11.0-1-g4420940
--8<---------------cut here---------------end--------------->8---

For the .so file, the difference is in the file name that appears in the
.gnu_debuglink section (created by the ‘strip’ phase):

--8<---------------cut here---------------start------------->8---
$ diffoscope  /gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0/lib/libgcrypt.so.20.1.0  /gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0-check/lib/libgcrypt.so.20.1.0 
--- /gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0/lib/libgcrypt.so.20.1.0
+++ /gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0-check/lib/libgcrypt.so.20.1.0
├── readelf --wide --sections {}
│ @@ -24,15 +24,15 @@
│    [19] .data.rel.ro      PROGBITS        0000000000303040 103040 001140 00  WA  0   0 64
│    [20] .dynamic          DYNAMIC         0000000000304180 104180 000220 10  WA  3   0  8
│    [21] .got              PROGBITS        00000000003043a0 1043a0 000038 08  WA  0   0  8
│    [22] .got.plt          PROGBITS        00000000003043d8 1043d8 000230 08  WA  0   0  8
│    [23] .data             PROGBITS        0000000000304640 104640 006243 00  WA  0   0 64
│    [24] .bss              NOBITS          000000000030a8c0 10a883 0004a0 00  WA  0   0 64
│    [25] .comment          PROGBITS        0000000000000000 10a883 000011 01  MS  0   0  1
│ -  [26] .gnu_debuglink    PROGBITS        0000000000000000 10a894 000018 00      0   0  1
│ -  [27] .shstrtab         STRTAB          0000000000000000 10a8ac 000106 00      0   0  1
│ +  [26] .gnu_debuglink    PROGBITS        0000000000000000 10a894 00001c 00      0   0  1
│ +  [27] .shstrtab         STRTAB          0000000000000000 10a8b0 000106 00      0   0  1
│    [28] .symtab           SYMTAB          0000000000000000 10a9b8 00b9b8 18     29 1706  8
│    [29] .strtab           STRTAB          0000000000000000 116370 008ba2 00      0   0  1
│  Key to Flags:
│    W (write), A (alloc), X (execute), M (merge), S (strings), l (large)
│    I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
│    O (extra OS processing required) o (OS specific), p (processor specific)
├── readelf --wide --hex-dump=.gnu_debuglink {}
│ @@ -1,5 +1,5 @@
│  
│  Hex dump of section '.gnu_debuglink':
│ -  0x00000000 6c696267 63727970 742e736f 2e646562 libgcrypt.so.deb
│ -  0x00000010 75670000 ae3c353d                   ug...<5=
│ +  0x00000000 6c696267 63727970 742e736f 2e32302e libgcrypt.so.20.
│ +  0x00000010 64656275 67000000 ae3c353d          debug....<5=
│  
--8<---------------cut here---------------end--------------->8---

Most likely this is because ‘strip-dir’ in gnu-build-system.scm
traverses files in unsorted order, and thus can pick one or the other.

The other file has a timestamp issue:

--8<---------------cut here---------------start------------->8---
$ diffoscope /gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0{,-check}/share/man/man1/hmac256.1.gz
--- /gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0/share/man/man1/hmac256.1.gz
+++ /gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0-check/share/man/man1/hmac256.1.gz
├── hmac256.1
│ @@ -1,9 +1,9 @@
│  .\" Created from Texinfo source by yat2m 1.0
│ -.TH HMAC256 1 2016-06-13 "Libgcrypt 1.7.0" "Libgcrypt"
│ +.TH HMAC256 1 2016-08-03 "Libgcrypt 1.7.0" "Libgcrypt"
│  .SH NAME
│  .B hmac256
│  \- Compute an HMAC-SHA-256 MAC
│  .SH SYNOPSIS
│  .B  hmac256
│  .RB [ \-\-binary ]
│  .I key
--8<---------------cut here---------------end--------------->8---

Ludo’.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#24136: libgcrypt 1.7.0 is not bit-reproducible
  2016-08-03  0:50 bug#24136: libgcrypt 1.7.0 is not bit-reproducible Ludovic Courtès
@ 2016-08-03 17:48 ` Leo Famulari
  2016-09-09 14:30 ` Ludovic Courtès
  1 sibling, 0 replies; 3+ messages in thread
From: Leo Famulari @ 2016-08-03 17:48 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 24136

On Wed, Aug 03, 2016 at 02:50:00AM +0200, Ludovic Courtès wrote:
> The other file has a timestamp issue:

For reference, a discussion of the responsible code:
https://groups.google.com/forum/#!topic/linux.debian.bugs.dist/hjzVpYKCbr0

Unfortunately, that code ('doc/yat2m.c') is different across the various
GnuPG projects, so we can not take the patch directly from gnupg-2.1.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#24136: libgcrypt 1.7.0 is not bit-reproducible
  2016-08-03  0:50 bug#24136: libgcrypt 1.7.0 is not bit-reproducible Ludovic Courtès
  2016-08-03 17:48 ` Leo Famulari
@ 2016-09-09 14:30 ` Ludovic Courtès
  1 sibling, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2016-09-09 14:30 UTC (permalink / raw)
  To: 24136

ludo@gnu.org (Ludovic Courtès) skribis:

> For the .so file, the difference is in the file name that appears in the
> .gnu_debuglink section (created by the ‘strip’ phase):
>
> $ diffoscope  /gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0/lib/libgcrypt.so.20.1.0  /gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0-check/lib/libgcrypt.so.20.1.0 
> --- /gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0/lib/libgcrypt.so.20.1.0
> +++ /gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0-check/lib/libgcrypt.so.20.1.0
> ├── readelf --wide --sections {}
> │ @@ -24,15 +24,15 @@
> │    [19] .data.rel.ro      PROGBITS        0000000000303040 103040 001140 00  WA  0   0 64
> │    [20] .dynamic          DYNAMIC         0000000000304180 104180 000220 10  WA  3   0  8
> │    [21] .got              PROGBITS        00000000003043a0 1043a0 000038 08  WA  0   0  8
> │    [22] .got.plt          PROGBITS        00000000003043d8 1043d8 000230 08  WA  0   0  8
> │    [23] .data             PROGBITS        0000000000304640 104640 006243 00  WA  0   0 64
> │    [24] .bss              NOBITS          000000000030a8c0 10a883 0004a0 00  WA  0   0 64
> │    [25] .comment          PROGBITS        0000000000000000 10a883 000011 01  MS  0   0  1
> │ -  [26] .gnu_debuglink    PROGBITS        0000000000000000 10a894 000018 00      0   0  1
> │ -  [27] .shstrtab         STRTAB          0000000000000000 10a8ac 000106 00      0   0  1
> │ +  [26] .gnu_debuglink    PROGBITS        0000000000000000 10a894 00001c 00      0   0  1
> │ +  [27] .shstrtab         STRTAB          0000000000000000 10a8b0 000106 00      0   0  1
> │    [28] .symtab           SYMTAB          0000000000000000 10a9b8 00b9b8 18     29 1706  8
> │    [29] .strtab           STRTAB          0000000000000000 116370 008ba2 00      0   0  1
> │  Key to Flags:
> │    W (write), A (alloc), X (execute), M (merge), S (strings), l (large)
> │    I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
> │    O (extra OS processing required) o (OS specific), p (processor specific)
> ├── readelf --wide --hex-dump=.gnu_debuglink {}
> │ @@ -1,5 +1,5 @@
> │  
> │  Hex dump of section '.gnu_debuglink':
> │ -  0x00000000 6c696267 63727970 742e736f 2e646562 libgcrypt.so.deb
> │ -  0x00000010 75670000 ae3c353d                   ug...<5=
> │ +  0x00000000 6c696267 63727970 742e736f 2e32302e libgcrypt.so.20.
> │ +  0x00000010 64656275 67000000 ae3c353d          debug....<5=
> │  
>
> Most likely this is because ‘strip-dir’ in gnu-build-system.scm
> traverses files in unsorted order, and thus can pick one or the other.

This issue was fixed in ‘core-updates’, commit
ff43e353a1920a47a763024cd0682f2dc805964b.

Ludo’.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-09-09 14:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-03  0:50 bug#24136: libgcrypt 1.7.0 is not bit-reproducible Ludovic Courtès
2016-08-03 17:48 ` Leo Famulari
2016-09-09 14:30 ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).