On Thu, 2016-07-07 at 20:52 +0200, Reiner Herrmann wrote: > Source: linux > Version: 4.6.3-1 > Severity: wishlist > User: reproducible-bui...@lists.alioth.debian.org > Usertags: environment randomness > X-Debbugs-Cc: reproducible-bui...@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?
I don't think so, but I'm not certain. > 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). It certainly doesn't. We try to build everything in suubdirectories of debian/build/ and never modify any files outside of the debian/ directory, so linux-source-<version> should be clean Unfortunately we need to run autotools for the usbip userland which creates lots of files in the source directory. We'll have to make a temporary copy of the source. Ben. -- Ben Hutchings Sturgeon's Law: Ninety percent of everything is crap.
signature.asc
Description: This is a digitally signed message part