Quoting Nikolaus Rath (2018-01-11 22:15:44) > On Jan 11 2018, Johannes Schauer <jo...@debian.org> wrote: > > We can check whether two binary packages built with a different set of > > build profiles active are actually the same by using the tools from > > the reproducible builds project. > Now I'm mightily confused. What's the point of build profiles if they result > in identical binary packages? It seems to me in that case we could just > always use the "simplest" build profile. > > I guess with "the same" you must mean something other than "bitwise > identical" - but it's not clear to me what.
I must admit that I indeed have a hard time to formulate this in precise language. So let me instead use more simple words to explain this paragraph in a more verbose fashion. A source package can be built with zero or more build profiles active. Each binary package in debian/control can have a Build-Profiles field. The content of the field is a condition which must be fulfilled for the respective binary package to be built with a certain set (including the empty set) of build profiles active. For example: Package: python-foo Build-Profiles: <!nopython> This annotation means, that the python-foo package is generated all the time except when the "nopython" build profile is active during the source package build. What I meant to say above is: Independent with which set of build profiles we build this source package, every time python-foo ends up being generated, it has to be the exact same. So if we build this source package with "nodoc", then we generate python-foo and that binary package has to be the same as when we build the source package with "nocheck". So I did not mean to say that the set of binary packages that is built must be the same independent of which set of profiles is active. But if a binary package is built under two different sets of build profiles (including the empty set) then its contents must be the same. I hope this clears things up! Thanks! cheers, josch
signature.asc
Description: signature