[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Pkg-octave-devel] [Reproducible-builds] Trying to fix random_buildpath_by_octave



On Mon, Oct 26, 2015 at 08:42:42PM +0100, Rafael Laboissiere wrote:
> Thanks, this is exactly the information that I needed.  I think I found a
> fix for this issue by making a change in the octave-pkg-dev package [1].

[...]

> 1. http://lists.alioth.debian.org/pipermail/pkg-octave-devel/2015-October/011812.html

I had a short look at the thread and your patch. I think you misunderstood
something. The build log(s) themselves have no influence on the build id
and/or the differences of the binaries. The logs often help finding the
actual differences, but (normally) they don't directly influence the
build artefacts.
So just replacing the temporary/random path in the log won't work,
because in the "background" the compiler will still compile the
source files in the temporary location. And building in a temporary
directory is the actual reason for the differences.


Here is a quick proof that the path is responsible for the differences:

$ cp test.c tmp-1/ && cd tmp-1 && mkoctfile test.c && md5sum test.o && cd ..
8cd4b14fc2bab0efad22f17920d02455  test.o
$ cp test.c tmp-1/ && cd tmp-1 && mkoctfile test.c && md5sum test.o && cd ..
8cd4b14fc2bab0efad22f17920d02455  test.o
$ cp test.c tmp-2/ && cd tmp-2 && mkoctfile test.c && md5sum test.o && cd ..
05d17c676f643adef2c15c3899f6a4a3  test.o

-> compiling the same file in the same directory leads to the same
result, while compiling in a different path produces a different object
file.

I had a short look at it some time ago, and think that it has to be
fixed in this file [0]. There it is creating the temporary (random)
directories and copying the source into it.

[0]: https://sources.debian.net/src/octave/4.0.0-5/scripts/pkg/private/install.m/?hl=67,70,96#L67

Attachment: signature.asc
Description: Digital signature


Reply to: