Lisandro Damián Nicanor Pérez Meyer:
> [..]
> 
> Xi: you also mentioned that having to file hundreds of patchs seems 
> impossible. Well, it seems so, but it is actually not that necessary. Please 
> allow me to explain the idea.
> 

Thanks for being less inflammatory than Pino.

I agree that eventually all projects should move away from using __FILE__. This 
BUILD_PATH_PREFIX_MAP variable is only a stepping stone to that, just like 
SOURCE_DATE_EPOCH was a stepping stone to less projects using __DATE__ and 
__TIME__. It allows people to see the obvious benefit of a reproducible build, 
by actually achieving a large amount of reproductions, today. We did not need 
to file mass bug reports for __DATE__ and __TIME__ with SOURCE_DATE_EPOCH.

> What you can do here is starting by documenting/blogging about bad use cases 
> so people have something to read when bugs arrive.
> 
> [..]

You're implying that QT's use of __FILE__ for tests, as being discussed in this 
thread, is a "good use case" - and that it is *other people* with "bad use 
cases" that we should be spending a lot of time and effort to reach out to.

That's not how I see it. As I pointed out various times already, the use of 
__FILE__ here is *also not appropriate*. You can consider these emails from me 
now, as "documenting/blogging" about "bad use cases".

In summary: in no document or standard, does it guarantee or imply that 
__FILE__ can be taken to represent a real filesystem path. Applications relying 
on this behaviour are broken and should not be upset when things don't work. As 
documented in multiple places, __FILE__ only has a very loose meaning, my patch 
fits within this loose meaning, and it is intended mostly for error messages.

The BUILD_PATH_PREFIX_MAP variable works around a lot of "bad use cases", but 
it doesn't cover this particular case. Some minor tweaks are needed to cover 
it, and I suggested them already. But you guys continue to push the position 
"we're doing nothing wrong, it's other people doing stuff wrong, go talk to 
them instead".

I'm sorry but it's not a convincing position for me to agree with.

At the end of the day, all of these cases, including yours, ought to be fixed 
to not use __FILE__ at all. BUILD_PATH_PREFIX_MAP doesn't prevent the fix, it 
just means we can achieve many many real reproductions today without having to 
wait. That's a good thing.

X

-- 
GPG: ed25519/56034877E1F87C35
GPG: rsa4096/1318EFAC5FBBDBCE
https://github.com/infinity0/pubkeys.git

Reply via email to