Add a New Comment (Rich Markup)
I think other interpreted languages would have to solve this similarly. I see that the Debian python package explicitly filters out the '-fdebug-prefix-map' option when stashing compiler flags https://salsa.debian.org/cpython-team/python3/blob/3.8.0a1-1/debian/rules#L212 This is essentially the approach in my patch.
I tried to build Octave reproducibly, using the GCC option '-fdebug-prefix-map=/path/to/build=.' to mangle the build directory embedded in the resulting object files. See https://reproducible-builds.org/docs/build-path/ for details. However, because Octave conveniently stashes both the full configure command line and the individual CFLAGS, CXXFLAGS, etc, in liboctinterp, and the options in mkoctfile, the build directory becomes embedded in the resulting binary anyway. I would like to avoid this chicken and egg problem somehow. If the user is intentionally building Octave with '-fdebug-prefix-map' (or with '-ffile-prefix-map' or '-fmacro-prefix-map'), then the entire point is to prevent having the string in that option from being embedded in the binary. But I also don't want to completely remove embedding the user's compiler options in the binary. I have a proof of concept patch that filters only these particular options out of all of the affected user variables in the subst-config-vals.sh shell script only, attaching that here. I will continue researching the best way to handle this, and maybe ask for advice from the reproducible builds team.
(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)
Attach Files: Comment:
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Only project members can vote.
Please enter the title of George Orwell's famous dystopian book (it's a date):
Follow 2 latest changes.
Copyright © 2023 Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. The Levitating, Meditating, Flute-playing Gnu logo is a GNU GPL'ed image provided by the Nevrax Design Team. Source Code
Powered by Savane 3.12