--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’.