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