Enabling -ffile-prefix-map by default

Guillem Jover guillem at debian.org
Fri Jun 5 04:02:32 BST 2020


Hi!

On Wed, 2020-06-03 at 11:59:32 -0700, Vagrant Cascadian wrote:
> On 2020-06-03, Benjamin Barenblat wrote:
> > Related discussion [2] concluded that the option
> > should be disabled by default and enabled after Reproducible Builds had
> > trialed it for a while. Having enabled it in some of my recent
> > packaging, I’m curious whether it may be time to switch this flag to be
> > enabled by default. What do you think?
> 
> It helps maybe hundreds of packages, and we've identified a small (16 at
> the moment) number packages for which it causes issues:
> 
>   https://tests.reproducible-builds.org/debian/issues/unstable/ftbfs_due_to_f-file-prefix-map_issue.html

Have these got bugs filed?

> But most of those packages still FTBFS on bullseye and buster where we
> don't set the flag (or vary the build path)...

Ah OK, so it does not look bad at all. :)

> There may also be others that fail but haven't been identified.
> 
> I recall this thread where it broke test suites of some packages:
> 
>   https://alioth-lists.debian.net/pipermail/reproducible-builds/Week-of-Mon-20190204/011101.html

But I assume this would have been detected while building?

On Thu, 2020-06-04 at 22:58:05 -0000, Chris Lamb wrote:
> Vagrant Cascadian wrote:
> > I believe maintainers can override this flag in their packages if
> > needed? If so, I'd be inclined to explore setting it by default!

As I mentioned last time, I've got no concerns with enabling this. I
think we should just follow the usual steps described at:

  <https://wiki.debian.org/Teams/Dpkg/FAQ#Q:_Can_we_add_support_for_new_default_build_flags_to_dpkg-buildflags.3F>

Most of which have already been done now in the repro infra, I think? So
it'd just mostly be a matter of someone sending a note to d-d proposing
the change, providing the numbers, waiting a bit in case someone has
concerns, then I'm happy to flip the default. :)

> Regarding maintainer control over this I have two remarks to make. To
> answer Vagrant's question of whether they can override this (ie.
> disable it in the case of it becoming a default) then unless I am
> missing something that would be possible via the usual dpkg-buildflags
> mechanism.

Indeed.

> Secondly (and related to the previous remark as well as being another
> reason to enable this soon) many maintainers are explicitly enabling
> the fixfilepath feature area of dpkg-buildflags right now as we
> incentivise making their package appear reproducible on the
> Reproducible Build's testing framework.
> 
> My point here is that if were to enable this flag anyway, doing it
> before yet more packages add this boilerplate would avoid even more
> cluttering of debian/rules files. (Many packages are still parsing
> debian/changelog and manually exporting SOURCE_DATE_EPOCH.)

Yes, adding this to packages to then remove when the default change,
does not seem like effort well spent, so let's get this moving. :)

Thanks,
Guillem



More information about the Reproducible-builds mailing list