Bug#1010957: man-db: unreproducible index.db: contents depend on directory read order
Johannes Schauer Marin Rodrigues
josch at debian.org
Sat May 14 07:46:48 BST 2022
Source: man-db
Version: 2.10.2-1
Severity: normal
User: reproducible-builds at lists.alioth.debian.org
Usertags: randomness
X-Debbugs-Cc: josch at debian.org, reproducible-bugs at lists.alioth.debian.org
Hi,
the contents of index.db are unreproducible across different
hosts/filesystems. With the same host/filesystem, it works fine:
$ export SOURCE_DATE_EPOCH=1652473183
$ mmdebstrap --variant=standard unstable out1.tar
$ mmdebstrap --variant=standard unstable out2.tar
$ cmp out1.tar out2.tar
$ echo $?
0
Now lets mmdebstrap use a filesystem mounted with disorderfs as its
TMPDIR to simulate the problem:
$ mkdir emptydir disorder
$ sudo disorderfs --multi-user=yes --shuffle-dirents=yes --reverse-dirents=no emptydir disorder
$ export TMPDIR=$(pwd)/disorder
$ mmdebstrap --variant=standard unstable out1.tar
$ mmdebstrap --variant=standard unstable out2.tar
$ diffoscope out1.tar out2.tar | grep ├──
├── file list
├── ./var/cache/man/cs/index.db
├── ./var/cache/man/da/index.db
├── ./var/cache/man/de/index.db
├── ./var/cache/man/es/index.db
├── ./var/cache/man/fr/index.db
...
I attached the contents of /var/cache/man/index.db so that you can see
that it is indeed the order that differs between individual runs.
Thanks!
cheers, josch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: index1.db
Type: application/x-gdbm
Size: 262144 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/reproducible-bugs/attachments/20220514/fd78e885/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: index2.db
Type: application/x-gdbm
Size: 266240 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/reproducible-bugs/attachments/20220514/fd78e885/attachment-0003.bin>
More information about the Reproducible-bugs
mailing list