Bug#876055: Environment variable handling for reproducible builds

Ximin Luo infinity0 at debian.org
Tue Sep 19 09:39:00 UTC 2017


Ximin Luo:
> [..]
> 
> (The last time I erroneously included PATH in the final "excluded" list - because we have varied PATH but in a really trivial way on tests.r-b.org for ages - but I now agree with you that we shouldn't expect reproducibility when PATH is varied.)
> 

Actually thinking about it a bit more, the PATH point is a little subtle. It's certainly the case that (case a:) if I set PATH=/a vs PATH=/b and the files installed underneath /a and /b are *different*, then the build output must be "allowed" to vary since they will of course vary.

However if (case b:) I set PATH=/a vs PATH=/b but the files underneath those paths are exactly the same, then is it right that the build output still is allowed to vary - e.g. might embed the strings "/a" vs "/b" in them? I think this subtlety is why we had been varying PATH for ages on tests.r-b.org, because we were confusing the two questions together.

A strict interpretation of reproducibility might say "(a) can vary" except "(b) remains fixed", and vary PATH after checking that the different values still point to exactly the same file-trees.

However for the purposes of this thread, to simplify the discussion, I think we can for now say "(a) can vary, including (b)", so that we can ignore the semantics of PATH variables. Once we solve the other issues we could revisit this one.

X

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



More information about the Reproducible-builds mailing list