Source Packages and Rebuilding from Source

Darrin Thompson darrint at progeny.com
Fri Mar 10 07:23:29 PST 2006


I was doing a little dreaming this morning.

>From what I understand, apt and native rpm solve the install problem by
looking for a graph like so:

apache 1.3-3
    libc6 2.5.6-9
    libapache1.3 1.3-3
    apache 1.3-3

Smart improves on this by turning each entry into a tuple and then just
looking for a graph:

apache 1.3-3  INSTALL
    lighttpd 3.2-30 REMOVE
    libc6 2.5.6-9 INSTALL
    libapache1.3 1.3-3 INSTALL
    apache 1.3-3  INSTALL

So I was wondering, could smart be made to find a graph like this?

apache 1.3-3 INSTALL
    lighttpd 3.2-30 REMOVE
    libc6 2.5.6-9 INSTALL
    apache 1.3-3 BUILD  # <- source package
    libapache1.3 1.3-2.rebuilt.1 INSTALL
    apache 1.3-2.rebuilt.1  INSTALL

I can think of a million potential problems with it, but even with the
million problems, the mechanism could answer some tough questions for
backporters. What's the minimum amount of work needed to backport x-org
from ubuntu to sarge? How hard would it be to backport it to woody?

Sometimes there is more than one rebuild path. For instance, to backport
mythtv-0.19 to sarge I could rebuild jack, or I could take jack as it
currently lives in unstable (really!) and just backport libasound. The
information needed is present and the rebuilds happen to run fine right
out of the box for me. 

If you dink with the relative priorities of installing software to
satisfy build dependencies vs. performing rebuilds, you could in theory
get smart to calculate the least work approach to a rebuild.

Thoughts?

--
Darrin





More information about the Smart mailing list