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

Re: Circular Build-Depends; am I their only enemy?

Anthony Towns <aj@azure.humbug.org.au> writes:

> On Sun, Nov 02, 2003 at 12:14:41AM -0500, Anthony DeRobertis wrote:
> > I fully realize that its not possible to bootstrap an architecture 
> > without either machine-code programming, cross-compiling, or 
> > cross-assembling. IOW, I am not an utter idiot.
> In the past gnat's been the canonical example of something that needs to
> be bootstrapped by hand that makes no sense being in Build-Essential --
> it's an Ada compiler written in Ada. While we certainly could drop such
> packages from the distribution, that doesn't really help anyone.
> If you want to go through and start providing a list of packages that
> require special bootstrapping for new architectures, or working out
> patches so that we can automatically bootstrap them (eg, debian/rules
> DESTARCH=amd64 cross-binary; or debian/rules bootstrap-binary) that
> would probably be worthwhile, and I don't see why anyone would reject
> that sort of contribution.
> Cheers,
> aj

It would be nice to at least ensure that you can use woody to
bootstrap sarge. I.e. you have woody and now you build base and
build-essential and setup a sarge chroot for the rest.

To use the above gnats would have to be bootstrapable by woodys gnats
and sarge build-essential. If that works there is a clear upgrade from
source path. But requireing some package from woody should be the

I realy like the idea of having essential Build-Depends and optional
ones. One problem that could arise is that different packages A, B
might need different amount of optional stuff enable in C to be able
to build.

I.e. A needs C with ppm support to convert some ppm files while B
needs C with jpeg support to convert some jpegs. But C builds
perfectly with or without either.

Lets make it worse.

A Build-Depends on C (+ppm)
B Build-Depends on C (+jpeg)
C Build-Depends optional on A (for +jpeg)

So you need to build C+ppm, then build A, then rebuild C+jpeg and then
build B.

Getting that into sane Build-Depends would be a real mess.


Reply to: