bug#24136: libgcrypt 1.7.0 is not bit-reproducible

2016-09-09 Thread Ludovic Courtès
l...@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  PROGBITS00303040 103040 001140 00 
>  WA  0   0 64
> │[20] .dynamic  DYNAMIC 00304180 104180 000220 10 
>  WA  3   0  8
> │[21] .got  PROGBITS003043a0 1043a0 38 08 
>  WA  0   0  8
> │[22] .got.plt  PROGBITS003043d8 1043d8 000230 08 
>  WA  0   0  8
> │[23] .data PROGBITS00304640 104640 006243 00 
>  WA  0   0 64
> │[24] .bss  NOBITS  0030a8c0 10a883 0004a0 00 
>  WA  0   0 64
> │[25] .comment  PROGBITS 10a883 11 01 
>  MS  0   0  1
> │ -  [26] .gnu_debuglinkPROGBITS 10a894 18 00 
>  0   0  1
> │ -  [27] .shstrtab STRTAB   10a8ac 000106 00 
>  0   0  1
> │ +  [26] .gnu_debuglinkPROGBITS 10a894 1c 00 
>  0   0  1
> │ +  [27] .shstrtab STRTAB   10a8b0 000106 00 
>  0   0  1
> │[28] .symtab   SYMTAB   10a9b8 00b9b8 18 
> 29 1706  8
> │[29] .strtab   STRTAB   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':
> │ -  0x 6c696267 63727970 742e736f 2e646562 libgcrypt.so.deb
> │ -  0x0010 7567 ae3c353d   ug...<5=
> │ +  0x 6c696267 63727970 742e736f 2e32302e libgcrypt.so.20.
> │ +  0x0010 64656275 6700 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’.





bug#24136: libgcrypt 1.7.0 is not bit-reproducible

2016-08-03 Thread Leo Famulari
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.





bug#24136: libgcrypt 1.7.0 is not bit-reproducible

2016-08-02 Thread Ludovic Courtès
--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  PROGBITS00303040 103040 001140 00  
WA  0   0 64
│[20] .dynamic  DYNAMIC 00304180 104180 000220 10  
WA  3   0  8
│[21] .got  PROGBITS003043a0 1043a0 38 08  
WA  0   0  8
│[22] .got.plt  PROGBITS003043d8 1043d8 000230 08  
WA  0   0  8
│[23] .data PROGBITS00304640 104640 006243 00  
WA  0   0 64
│[24] .bss  NOBITS  0030a8c0 10a883 0004a0 00  
WA  0   0 64
│[25] .comment  PROGBITS 10a883 11 01  
MS  0   0  1
│ -  [26] .gnu_debuglinkPROGBITS 10a894 18 00   
   0   0  1
│ -  [27] .shstrtab STRTAB   10a8ac 000106 00   
   0   0  1
│ +  [26] .gnu_debuglinkPROGBITS 10a894 1c 00   
   0   0  1
│ +  [27] .shstrtab STRTAB   10a8b0 000106 00   
   0   0  1
│[28] .symtab   SYMTAB   10a9b8 00b9b8 18   
  29 1706  8
│[29] .strtab   STRTAB   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':
│ -  0x 6c696267 63727970 742e736f 2e646562 libgcrypt.so.deb
│ -  0x0010 7567 ae3c353d   ug...<5=
│ +  0x 6c696267 63727970 742e736f 2e32302e libgcrypt.so.20.
│ +  0x0010 64656275 6700 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’.