[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



* Mike Miller <mtmiller@debian.org> [2016-02-12 15:43]:

On Sun, Feb 07, 2016 at 13:46:55 +0100, Oliver Heimlich wrote:
How about using a workaround and exchange the tempname function with
something that returns [tempdir]/oct-[counter]?

Just discussed this with oheim on #octave.

We think we may have found the causes of this non-reproducibility problem.

Way back in Octave 3.4, the exist() function was fixed so that directories were correctly treated as files. This broke the prior behavior of "pkg install ." to allow an unpacked directory to be built in place and installed.

This was fixed in Debian and Fedora packaging two different ways. The Debian patch enable_dirs_in_pkg restores building from the Debian source package, but it forces the files to be copied into a temporary path and built there. This is the source of the random build path.

The Fedora patch instead restores what I think was the original behavior, allowing an unpacked source package to be compiled in place. This is also reported upstream as bug #32839, and I think this is the approach that should be taken.

I have not tested, but perhaps dropping enable_dirs_in_pkg and adopting the Fedora patch [1] may resolve this problem.

[1]: http://pkgs.fedoraproject.org/cgit/rpms/octave.git/tree/octave-pkgbuilddir.patch

Thanks for this proposal. I tested it and can confirm that replacing our current patch by the Fedora patch, indeed, fixes the problem of random paths in the .oct files built through "pkg install .".

I pushed the changes to the Git repository [commit 088e634]. Please, test it.

Rafael



Reply to: