]] Russ Allbery 

> Tollef Fog Heen <tfh...@err.no> writes:
> 
> > I think we should (over time) aim towards non-reproducible builds being
> > release critical bugs, and I think «builds differently in an unclean
> > chroot» is a class of non-reproducibleness we need to tackle («fails to
> > build» is really just a subset of «builds differently»).
> 
> This feels like a very hard problem if we try to express it through
> Build-Conflicts or through careful tuning of upstream build systems.  It's
> working at cross-purposes with the goal of a lot of upstream build
> systems, which try to dynamically discover available optional features and
> packages and compile in optional features.

Yes it's a hard problem, and as we've seen on this very list in the last
few days (with Postfix and icu-config's removal), this autodetection
sometimes causes problems.  On the flip side, almost all of the packages
archive are irrelevant to the build process of any other package, so it
should not explode too badly in terms of work.  (We also generally solve
the problem by compiling in all the options, so that adding another
package won't be able to enable any more options, since they're all on
already.)

[…]

> To be clear, sometimes there are good reasons for Debian to do the hard
> thing and try to solve a problem more deeply than others do.  But I'm not
> sure this is a good example of that, or a good place to invest significant
> resources, particularly since it's in the class of problems that would
> require work from every individual package maintainer to carefully
> configure their build system to not behave differently in the presence of
> unexpected packages.  Making it seamless and simple to build inside an
> isolated namespace feels like a more productive investment and would
> benefit every package.

I think it boils down to the question of «Are builds outside of a
minimal + build-essential + build-deps» supported?».  If they're not, we
can just ignore the problem and deprecate the Build-Conflicts field
(since it has no use in a minimal build environment).  If they are, I
think we should move towards the goal of reproducible builds and where
we make classes of non-reproducibleness RC-buggy over time.

-- 
Tollef Fog Heen
UNIX is user friendly, it's just picky about who its friends are

Reply via email to