[Reproducible-builds] Bug#830268: linux: please make the build reproducible

Reiner Herrmann reiner at reiner-h.de
Thu Jul 7 18:52:19 UTC 2016


Source: linux
Version: 4.6.3-1
Severity: wishlist
User: reproducible-builds at lists.alioth.debian.org
Usertags: environment randomness
X-Debbugs-Cc: reproducible-builds at lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that linux could not be built reproducibly.
Since we started varying the shell used for /bin/sh (bash vs. dash),
linux no longer builds reproducibly.

The following differences are in linux-headers packages:

── ./usr/src/linux-headers-4.6.0-1-686/arch/x86/include/generated/asm/.syscalls_32.h.cmd
 @@ -1 +1 @@
 -cmd_arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h := /bin/bash '/build/linux-4.6.3/arch/x86/entry/syscalls/syscalltbl.sh' /build/linux-4.6.3/arch/x86/entry/syscalls/syscall_32.tbl arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h
 +cmd_arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h := /bin/sh '/build/linux-4.6.3/arch/x86/entry/syscalls/syscalltbl.sh' /build/linux-4.6.3/arch/x86/entry/syscalls/syscall_32.tbl arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h
── ./usr/src/linux-headers-4.6.0-1-686/arch/x86/include/generated/uapi/asm/.unistd_32.h.cmd
 @@ -1 +1 @@
 -cmd_arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_32.h := /bin/bash '/build/linux-4.6.3/arch/x86/entry/syscalls/syscallhdr.sh' '/build/linux-4.6.3/arch/x86/entry/syscalls/syscall_32.tbl' 'arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_32.h' 'i386' '' ''
 +cmd_arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_32.h := /bin/sh '/build/linux-4.6.3/arch/x86/entry/syscalls/syscallhdr.sh' '/build/linux-4.6.3/arch/x86/entry/syscalls/syscall_32.tbl' 'arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_32.h' 'i386' '' ''
── ./usr/src/linux-headers-4.6.0-1-686/arch/x86/include/generated/uapi/asm/.unistd_64.h.cmd
 @@ -1 +1 @@
 -cmd_arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_64.h := /bin/bash '/build/linux-4.6.3/arch/x86/entry/syscalls/syscallhdr.sh' '/build/linux-4.6.3/arch/x86/entry/syscalls/syscall_64.tbl' 'arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_64.h' 'common,64' '' ''
 +cmd_arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_64.h := /bin/sh '/build/linux-4.6.3/arch/x86/entry/syscalls/syscallhdr.sh' '/build/linux-4.6.3/arch/x86/entry/syscalls/syscall_64.tbl' 'arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_64.h' 'common,64' '' ''
── ./usr/src/linux-headers-4.6.0-1-686/arch/x86/include/generated/uapi/asm/.unistd_x32.h.cmd
 @@ -1 +1 @@
 -cmd_arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_x32.h := /bin/bash '/build/linux-4.6.3/arch/x86/entry/syscalls/syscallhdr.sh' '/build/linux-4.6.3/arch/x86/entry/syscalls/syscall_64.tbl' 'arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_x32.h' 'common,x32' '' '__X32_SYSCALL_BIT'
 +cmd_arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_x32.h := /bin/sh '/build/linux-4.6.3/arch/x86/entry/syscalls/syscallhdr.sh' '/build/linux-4.6.3/arch/x86/entry/syscalls/syscall_64.tbl' 'arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_x32.h' 'common,x32' '' '__X32_SYSCALL_BIT'

Are those .cmd files actually needed in the packages?
They are caused by the SYSTBL and SYSHDR commands if I undertand it
correctly. If they should be kept in the package, this can probably be
solved by setting CONFIG_SHELL to a static value (/bin/bash).

And the linux-source package has differences (randomly orderes elements)
in the file usr/src/linux-source-4.6/tools/usb/usbip/autom4te.cache/requests
(which I think doesn't need to be included either).

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/reproducible-builds/attachments/20160707/952425c9/attachment.sig>


More information about the Reproducible-builds mailing list