Re: Circular Build-Depends; am I their only enemy?
Anthony Towns <email@example.com> 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.
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
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
Getting that into sane Build-Depends would be a real mess.