Re: Bootstrappable Debian - proposal of needed changes
Am 16.01.2013 14:50, schrieb Ian Jackson:
> * We initially define one scope "profile", for build profiles.
>
> A build profile is an optional variation that can be applied
> to a particular package, for the purpose of reducing the
> build dependencies and/or avoiding the building of unneeded
> binary packages.
>
> The builder of a package may apply one single build profile.
>
> Build profile names are a controlled namespace and are allocated by
> the Debian project. The following are defined:
>
> profile:stage1
> profile:stage2
> For multi-stage bootstrap. A package may only
> declare support for stage2 if it supports stage1 as well.
> These are not a global ordering across the distribution.
> Rather, stage1 is the most limited build of this
> particular package. stage2 is an intermediate bootstrap
> build, support for which is provided only if it is
> necessary to build this particular package three times.
this only takes care about packages with a reduced package set built, or
packages with reduced functionality. There are same cases missing:
- extra build dependencies for cross builds, like for gcc-4.7:
{gobjc++,gccgo,gfortran}-<target-gnu-type>
profile:cross?
- build dependencies for running the check target. Usually these
dependencies can be ignored when cross-building packages, or when
building a package natively with DEB_BUILD_OPTIONS=nocheck.
profile:check? There are not few packages which can be easier
cross-built when identifying and dropping these build dependencies.
So it does make sense to build with two profiles like stage1 & check.
Matthias
Reply to: