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

Re: DebianBootstrap supported in which Debian suites?



Quoting Wookey (2013-06-07 17:55:48)
> +++ Jonas Smedegaard [2013-06-07 17:24 +0200]:
> > Quoting Paul Wise (2013-06-07 05:17:46)
> > > I would suggest the approach taken by the recent GSoC projects 
> > > related to bootstrapping new ports. Multi-stage builds. First 
> > > stage without docs and second stage with docs. Only the second 
> > > stage gets uploaded to Debian.
> > > 
> > > http://wiki.debian.org/DebianBootstrap
> > 
> > Above wiki page seems to recommend using <!stage1> syntack in 
> > Build-depends: lines which I believe is not supported as far back as 
> > oldstable (if in any official Debian suite at all), and references 
> > bug#661538 and #661537 still open.
> 
> Correct. It is not supported in any debian suite yet. We do expect it 
> to be supported in jessie, but probably with a revised syntax. (See 
> http://debian.2.n7.nabble.com/build-profile-syntax-ideas-td2918264.html) 
> We are trying to finalise this now (stalled on me currently for which 
> I apologise to those with an interest).

It probably makes sense to then decide and more clearly indicate on that 
wiki page which parts are not-yet-possible draft ideas and which are 
recommendations to do now, to avoid situations like Paul Wise above 
referring to that page for concrete approaches when you seem to agree 
that's currently not its purpose.

Seems to me that the best to do currently - which is also harmless for 
backports - is to a) use Build-Depends-Indep when appropriate, and b) do 
custom tweaks only when DEB_BUILD_PROFILE is set.

The wiki page seems to explicitly discourage use of DEB_BUILD_PROFILE, 
in favor of a different approach which is then not yet implemented :-/


> > What to do *today* to express bootstrapping alternatives to 
> > circumvent circular build-dependencies?
> 
> You might be able to use alternative B-Ds:
> Build-depend: foo | foo-minimal
> but this only covers some cases.

Right, that will make official build daemons respect the relationships 
but allow relaxing them with unofficial ones like pbuilder with aptitude 
resolver.

...but problem then is that I do use pbuilder locally, also when I build 
for official releases.  I want to relax relationships only when 
explicitly asked to do so.


> In general we don't have a mechanism to do this _in the archive_ until 
> build-profiles are supported (or at least ignored by B-D parsing 
> tools)

Well, we don't have a _common_ mechanism, but for CDBS we do have one. I 
just would prefer to use more common mechanism if possible.



> > My concrete need is simpler than some, as it needs no special flags 
> > at build-time: I want librdf-trine-perl to enable most possible 
> > optional parts of its testsuite, including some parts which 
> > themselves build-depend on librdf-trine-perl.
> > 
> > What I will do for now is to just add those extra build-dependencies 
> > and add a note to README.source which build-dependencies can be 
> > manually dropped in a custom bootstrap build.  I realize how painful 
> > it is for those needing to bootstrap, but sadly neither 
> > DebianBootstrap nor CircularBuildDependencies provide concrete help 
> > for package developers at the moment, it seems.
> 
> Agreed. And comments in the control file about this are _extremely_ 
> helpful to people doping this work who are clueless about the details 
> of the package in question.

I am aware that control file supports leaving notes, but from my 
understanding README.source is the ideal location for this kind of info.

Here's what I just now added to README.source of librdf-trine-perl:

> Circular build-dependencies
> ---------------------
> 
> This package is problematic to bootstrap, as some of the declared
> build-dependencies cause bootstrapping loops.
> 
> For a bootstrappable (but potentially crippled) build, set environment
> variables DEB_BUILD_PROFILE and DEB_MAINTAINER_MODE, and clean before
> build.  See also <https://wiki.debian.org/DebianBootstrap>.


 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

Attachment: signature.asc
Description: signature


Reply to: