On Tue, 2008-02-12 at 09:57 +0100, Goswin von Brederlow wrote: > There are three things you can do: > > 1) Do nothing. > > Once you have packages GT.M Debian will have a GT.M and you can > Build-Depend on it for future builds. > > Big problem with this approach is that if the GT.M package ever breaks > (and it will) you have to bootstrap it manually on all archs to get > back on tarck again. > > 2) Include prebuild sources and a bootstrap target > > Basically you generate the *_ctl.c, merrors_ansi.h, and ttt.c files > and put them somewhere in the source package out of the way of the > clean target. In the bootstrap target you use those prebuild sources > to build your GT.M compiler. But normaly you would just Build-Depend > on the old GT.M. > > This is little more than 1 but allows you to get other people to > bootstrap GT.M for you easily if it ever breaks. > > 3) Include prebuild sources and bootstrap on every build > > This basically means you always build twice. First you build from > prebuild sources and then you rebuild from scratch again. This has the > advantage that you don't Build-Depend on the old GT.M. A broken GT.M > upload won't break the chain. > > MfG > Goswin > > PS: Look at the mono packages for comparison. I think they have the > same problem.
We had that problem [0] with older mono versions, but luckily upstream rewrote their build-system later. The mono source package had a build-dep on mcs, and mcs on mono :) as mcs is contains the source of the C# compiler and C# libraries and mono the runtime. Today it uses 2 stages to build the runtime. Stage 1: it builds the C runtime part and then with that the C# compiler using a pre-compiled C# compiler and corlib that are part of the tarball (that works because the generated CIL bytecode is arch-independent). Stage 2: it uses the built C# compiler to build the rest of the C# libraries. So we had the 1) option and use today the 3) option. [0] http://pkg-mono.alioth.debian.org/BUILD_MONO_FROM_SCRATCH_HOWTO -- Regards, Mirco 'meebey' Bauer PGP-Key ID: 0xEEF946C8 FOSS Developer [EMAIL PROTECTED] http://www.meebey.net/ PEAR Developer [EMAIL PROTECTED] http://pear.php.net/ Debian Developer [EMAIL PROTECTED] http://www.debian.org/
signature.asc
Description: This is a digitally signed message part