Updating dpkg-buildflags to enable reproducible=+fixfilepath by default

Samuel Thibault sthibault at debian.org
Sat Jan 9 19:37:48 GMT 2021


Lisandro Damián Nicanor Pérez Meyer, le sam. 09 janv. 2021 15:53:41 -0300, a ecrit:
> # __FILE__ is a public, well defined API

? My copy of C11 says

“
__FILE__ The presumed name of the current source file (a character string literal)
”

that's not so well-defined.  I would not expect it to necessarily
contain the path to it.

> ## New macro and warning (if they do not exist already)
> 
> This would be the first step.

That would not work long-term-wise.

One of the issues with __FILE__ is that it's used by assert(), and thus
references to __FILE__ are popping up in various software (that is the
largest __FILE__usage I have seen in my packages). And that's written
explicitly in C11 about assert:

“
the latter are respectively the values of the preprocessing macros __FILE__
”

so we can't make assert() use something else than __FILE__, so something
else than __FILE__ cannot provide large reproducibility.

Samuel



More information about the Reproducible-builds mailing list