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.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to