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

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: