[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#999826: debian-policy: fix Build-Depends footnote



Source: debian-policy
Version: 4.6.0.1
Severity: normal
X-Debbugs-Cc: josch@debian.org

Hi,

currently, footnote [1] of §7 states:

> While Build-Depends, Build-Depends-Indep and Build-Depends-Arch permit
> the use of alternative dependencies, these are not normally used by the
> Debian autobuilders. To avoid inconsistency between repeated builds of a
> package, the autobuilders will default to selecting the first
> alternative, after reducing any architecture-specific restrictions for
> the build architecture in question. While this may limit the usefulness
> of alternatives in a single release, they can still be used to provide
> flexibility in building the same package across multiple distributions
> or releases, where a particular dependency is met by differently named
> packages.

There are multiple problems with this footnote:

1. "they are not normally used by the Debian autobuilders" should
   instead be "they are never used by the Debian autobuilders" or it
   should state when they are used and when they are not

2. the above also omits that they are used in situations where an
   alternative has the form pkgA (rel ver1) | pkgA (rel ver2)

3. "To avoid inconsistency between repeated builds" suggests that this
   measure avoids inconsistency. It does avoid some but since it doesn't
   avoid all, it's wrong to say that it does avoid consistency.
   Inconsistency is still created by alternatives of binary packages and
   by virtual packages.

So maybe the above can be improved? Here is a suggested new wording for
the first part of the footnote:

> While Build-Depends, Build-Depends-Indep and Build-Depends-Arch permit
> the use of alternative dependencies, these are discarded by the Debian
> autobuilders, after reducing any architecture-specific restrictions for
> the build architecture in question, except when the later alternative
> has the same package name as the first alternative. This is to improve
> consistency between repeated builds of a package while still allowing
> version ranges of the same package.

This is the relevant code in sbuild for reference:

https://sources.debian.org/src/sbuild/0.81.2/lib/Sbuild/ResolverBase.pm/?hl=1128#L1167

Thanks!

cheers, josch

Reply to: