[Reproducible-builds] dh_shlibdeps dependency ordering not stable if alternate dependency templates are used
Andreas Beckmann
anbe at debian.org
Fri Jul 10 08:21:37 UTC 2015
On 2015-07-09 20:23, Holger Levsen wrote:
>> The issue is nondeterministic - a first rebuild after partly fixing
>> another reproducibility issue has not shown this again.
>
> btw: https://reproducible.debian.net/rb-pkg/unstable/amd64/pyopencl.html
After fixing the other issues, I now have a reproducability rate of 50% ... IIRC you are repeating a failed test once to ignore some spurious failures? So you would end up at an error rate of 25% - or less if you were retrying even more.
I've now collected the d/*.substvars before the call to dh_gencontrol, let's see if we get something there:
$ grep libopencl-1.2-1 logs/fglrx-driver_*.build*
logs/fglrx-driver_15.7-1.build1:shlibs:Depends=libc6 (>= 2.3.3), libgcc1 (>= 1:4.1.1), ocl-icd-libopencl1 | amd-libopencl1 | libopencl1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.1-1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.2-1
logs/fglrx-driver_15.7-1.build1:shlibs:Depends=libc6 (>= 2.3.3), libgcc1 (>= 1:4.1.1), ocl-icd-libopencl1 | amd-libopencl1 | libopencl1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.2-1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.1-1
# first build with --twice, so 2 output lines
logs/fglrx-driver_15.7-1.build2:shlibs:Depends=libc6 (>= 2.3.3), libgcc1 (>= 1:4.1.1), ocl-icd-libopencl1 | amd-libopencl1 | libopencl1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.1-1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.2-1
# second build w/o --twice
OK, let's repeat a few times until we get some successes:
logs/fglrx-driver_15.7-1.build1:shlibs:Depends=libc6 (>= 2.3.3), libgcc1 (>= 1:4.1.1), ocl-icd-libopencl1 | amd-libopencl1 | libopencl1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.1-1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.2-1
logs/fglrx-driver_15.7-1.build1:shlibs:Depends=libc6 (>= 2.3.3), libgcc1 (>= 1:4.1.1), ocl-icd-libopencl1 | amd-libopencl1 | libopencl1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.1-1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.2-1
logs/fglrx-driver_15.7-1.build2:shlibs:Depends=libc6 (>= 2.3.3), libgcc1 (>= 1:4.1.1), ocl-icd-libopencl1 | amd-libopencl1 | libopencl1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.2-1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.1-1
# not reproducible
logs/fglrx-driver_15.7-1.build1:shlibs:Depends=libc6 (>= 2.3.3), libgcc1 (>= 1:4.1.1), ocl-icd-libopencl1 | amd-libopencl1 | libopencl1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.2-1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.1-1
logs/fglrx-driver_15.7-1.build1:shlibs:Depends=libc6 (>= 2.3.3), libgcc1 (>= 1:4.1.1), ocl-icd-libopencl1 | amd-libopencl1 | libopencl1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.1-1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.2-1
logs/fglrx-driver_15.7-1.build2:shlibs:Depends=libc6 (>= 2.3.3), libgcc1 (>= 1:4.1.1), ocl-icd-libopencl1 | amd-libopencl1 | libopencl1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.1-1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.2-1
# reproducible
logs/fglrx-driver_15.7-1.build1:shlibs:Depends=libc6 (>= 2.3.3), libgcc1 (>= 1:4.1.1), ocl-icd-libopencl1 | amd-libopencl1 | libopencl1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.1-1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.2-1
logs/fglrx-driver_15.7-1.build1:shlibs:Depends=libc6 (>= 2.3.3), libgcc1 (>= 1:4.1.1), ocl-icd-libopencl1 | amd-libopencl1 | libopencl1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.2-1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.1-1
logs/fglrx-driver_15.7-1.build2:shlibs:Depends=libc6 (>= 2.3.3), libgcc1 (>= 1:4.1.1), ocl-icd-libopencl1 | amd-libopencl1 | libopencl1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.1-1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.2-1
# not reproducible
logs/fglrx-driver_15.7-1.build1:shlibs:Depends=libc6 (>= 2.3.3), libgcc1 (>= 1:4.1.1), ocl-icd-libopencl1 | amd-libopencl1 | libopencl1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.2-1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.1-1
logs/fglrx-driver_15.7-1.build1:shlibs:Depends=libc6 (>= 2.3.3), libgcc1 (>= 1:4.1.1), ocl-icd-libopencl1 | amd-libopencl1 | libopencl1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.2-1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.1-1
logs/fglrx-driver_15.7-1.build2:shlibs:Depends=libc6 (>= 2.3.3), libgcc1 (>= 1:4.1.1), ocl-icd-libopencl1 | amd-libopencl1 | libopencl1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.2-1, ocl-icd-libopencl1 (>= 1.0) | amd-libopencl1 | libopencl-1.1-1
# reproducible, but the other way around
Andreas
More information about the Reproducible-builds
mailing list