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

Re: Building Debian Completely From Source



Matt Zimmerman <mdz@debian.org> writes:

> On Tue, Dec 09, 2003 at 09:52:39AM +1100, Herbert Xu wrote:
> 
> > Matt Zimmerman <mdz@debian.org> 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



Reply to: