Matt Zimmerman <[EMAIL PROTECTED]> writes: > On Tue, Dec 09, 2003 at 09:52:39AM +1100, Herbert Xu wrote: > > > Matt Zimmerman <[EMAIL PROTECTED]> wrote: > > > > > > There are quite a few, but make is a bad example, as it has included a > > > shell script to build itself for just this purpose. > > > > But its debian/rules is a makefile since the policy requires it > > to be so, right? :) > > Yes, but building the complete Debian package is hopefully not necessary for > bootstrapping purposes, only to get a working make binary.
Say I have bootstraped manually and installed all basic stuff (hey, we have 32 bit apps for everything on amd64 and the biarch compiler works fine :). Now I would like to compiled base, build-essential and bootstrap-essential debs from source (bootstrap-essential being debs needed to compiled everything from source). To rebuild all those every source package containing at least one of them has to be rebuild. Providing all the Build-Depends for all the debs build by a source quickly grows to quite a big bootstrap-essential set. Further more every library package that is build needs to be touched currently. Keeping a single lib out of the bootstrap-essential set means a lot of time is saved to get base + build-essential recompiled. For finishing a bootstraping or for a scorched earth rebuild it would be good if it where clear what deb requires which Build-Depends and if one could build only some debs of a source. I will describe an idea that came up talking about the problem now. Let me know what you think: Each deb (of a source) that can be build on its own (without building the other debs) gets a debian/package.control file which is just a reduced copy of the control file. The Build-Depends are reduced to whats required for this deb. If a debian/package.control file exist the debian/rules file must have a "binary-package:" target that will build the deb with the reduced Build-Depends from debian/package.control. The existance of debian/package.control is completly optional and suggested for cases where the Build-Depends for different Packages make a big difference for bootstrapping. Packages that cause the bootstrap-essential list to grow a lot (like things needing X11) are then singled out and patches send. MfG Goswin