Re: Bootstrappable Debian - a decision is needed, patches exist
Quoting YunQiang Su (2013-10-15 08:08:52)
> On Tue, Oct 15, 2013 at 2:03 PM, Johannes Schauer <email@example.com> wrote:
> > What is yet to be decided is the concrete format for the Build-Depends
> > syntax extension. The first proposals suggested a syntax which looked like
> > Build-Depends: foo [amd64] <!stage1>
> I'd prefer Build-Depends-Stage1 if possible.
> When bootstrap, dpkg only ask for these build-depends while for normal build,
> dpkg should merge Build-Depends-Stage1 and Build-Depends.
this approach does not work because it does not allow to specify additional
dependencies for when a source package is compiled with a certain profile
The Build-Depends-Stage1 field name was used in earlier proposals with a
different meaning. Instead of making the final build dependencies the union of
Build-Depends and Build-Depends-Stage1 as you proposed, Build-Depends-Stage1
contained all dependencies necessary for the build profile "stage1". When doing
a normal build, only the Build-Depends would be used. When building with the
build profile "stage1" activated only the Build-Depends-Stage1 would be used.
This solves the problem I explained above which your solution has.
This Build-Depends-Stage1 format was abolished in favor of the syntax additions
explained in my last email because of the following reasons:
- it requires variable field names to match all possible profiles
- it requires a near duplication of the Build-Depends field which is highly
prone to bitrot
- it does not work with multiple profiles activated at the same time
For a full history of the development of this see