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