Support full rebuild from source like Gentoo?

Andrew Piskorski atp at piskorski.com
Fri Jan 13 02:57:49 GMT 2006


On Thu, Jan 12, 2006 at 05:29:04PM -0800, Matt Zimmerman wrote:
> Subject: Re: Dropping pre-i686 from the archive

> I'm quite open to the idea of building certain heavyweight package sets (GNOME,
> KDE, OpenOffice.org, etc.) for i686 if there is a demonstrable performance
> benefit.  I'm much less convinced about the idea of doing this universally,
> especially considering thin client deployments.

The whole "Dropping pre-i686" thread has been making me think, why
should I have to choose only one or the other?  Why can't I have BOTH?

Support i486 in the default binary packages if you like, and if I
don't like, I will flip one switch, and rebuild all the packages I use
in my own site-wide apt repository.  (And on request from apt-get
clients, my local repository will automatically download from the
official Ubuntu repository, cache the binary debs, and then later
optionally recompile from source according to my build instructions.)

Why can't I have that?  What would it take to get there?

On other Linux distributions, I have often been frustrated because Red
Hat or whomever else compiled a whole bunch of library packages with
"-O2" rather than "-g -O2" (VERY common).  (Trying to debug or profile
without symbols is very frustrating...)  Or they built Tcl with
threads support turned off when I needed it turned on, or any number
of similar build issues.  Yet there was never any easy way for me to
simply flip a "-g" switch and rebuild, not on rpm-based distrubtions
and not on Debian either.  Why not?

Others here have said that rebuilding all Ubuntu packages from source
is very tricky and can't currently be automated at all.  Could someone
explain more about why that is exactly please, and what would need to
be done to fix that? 

A year and a half ago, a friend of mine and wizard C hacker, Chuck
Blake, explained why he switched from Debian to Gentoo.  I've appended
some of that discussion below.

Now, I don't want to run Gentoo, if I have to pick only one or the
other, I prefer the Debian/Ubuntu way of doing things.  But, Gentoo,
like FreeBSD, has a major advantage in its integrated system-wide
source level control.  I WANT that control, but I want it WITHOUT
giving up Ubuntu's default pre-built binary packages and all the other
Debian package infrastructure niceties.

How could we get there?  I am not yet volunteering to do the work, but
could someone explain please what the major steps and obstacles would
be, how best to approach the problem, etc.?


On Thu, Jul 15, 2004 at 03:53:33PM -0400, Chuck Blake wrote:

> >This is yet another good argument for Robert G. Brown's vision of
> >automatically rebuilding all binary packages from their source
> >packages anytime you want, complete with a good way (which does not
> >exist for either rpm or deb AFAIK) to programmatically manipulate
> >build settings, etc.
> 
> Dude -- that is exactly Gentoo Linux in a nutshell.  They implemented this
> vision, including build setting tweaking and so on.  Depending on the package
> and "ebuild" (package script) it may not support 100% of the ./configure-level
> tunability.

> Gentoo really is the hacker's/programmer's Linux distribution.  A professor
> buddy at NYU mentioned this to me years ago.  I resisted.  This Spring, it
> only took a couple of days playing around to convince me otherwise.  I did
> it because on Opterons there was no real Debian distribution and I didn't
> want to feed the Red Hat machine charging $900 per license on AMD64 distros.
> (don't know if they still do that...)

> Anyway, I like Gentoo.  I've had a few programs crash due to 64-bit issues
> and just found the bugs at once.  I've also profiled some things nicely.
> It's a pretty well thought out system.  It really doesn't have as many
> packages as Debian, though.  And you have to have patience to recompile
> everything.
> 
> cb

-- 
Andrew Piskorski <atp at piskorski.com>
http://www.piskorski.com/



More information about the ubuntu-devel mailing list