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

Re: Introducing Build-Recommends / Build-Core-Depends?



Le Sat, Aug 13, 2011 at 01:28:36PM +0200, Andreas Barth a écrit :
> 
> We should be able to specify in the package saying "only these
> build-dependencies are needed to get a functionally working package".
> For such an build, the packages which are not needed for building
> working core packages are annoted in an additional header (e.g.
> Build-Recommends), but are still specified in Build-Depends to not
> break the old tools.

Dear Andreas and everybody,

I think that Build-Recommends would be very useful also in the case of packages
that run regression tests with extensive dependancies.  At build time, the
package could check for the availability of the recommended build dependancies,
and skip the steps that need them if they are not available.  With such a
behaviour, it would not be needed to duplicate the information between the
Build-Depends and the Build-Recomends field.

The Build-Recomends field has been proposed in the past and most objections
were about reproducibility of the builds.  Perhaps some policy could constraint
the use of Build-Recomends in order to avoid it to be misused.
 
> To mark such packages and to be able to decide when to re-schedule the
> build, all binary-packages get the additional header
>   Build-Depends: minmal package_version ....
> injected, so that one could see later on that this was a partial build
> and reschedule a new build when newly upcoming packages allow more
> binary packages to be built, or all build-dependencies are available
> and we could do a clean full build.

Another possibility would be to append something like “~minimal” (or shorter)
to their version number.  But perhaps that would break the parsing of version
number for detecting binNMUs, if +b1~minimal would not be considered so.

> Tools
> 
> This affects dpkg-buildpackage, dpkg-checkbuilddeps, and
> dpkg-gencontrol. It also (should) affect debhelper and cdbs to ease
> migration of packages to build-recommends.

mk-build-deps is inherently tolerant to missing dependancies, since it uses a
combination of equivs and apt-get -f install, but on the other hands it means
that it will not be able to allow to distinguish Build-Depends and
Build-Recommends, as apt-get -f install does not seem to install Recommends by
default. 

Have a nice day,

-- 
Charles Plessy
Debian Med packaging team,
http://www.debian.org/devel/debian-med
Tsurumi, Kanagawa, Japan


Reply to: