Source Packages and Rebuilding from Source

Darrin Thompson darrint at progeny.com
Tue Mar 14 09:03:26 PST 2006


On Tue, 2006-03-14 at 11:52 -0300, Gustavo Niemeyer wrote:
> I'm not sure if you understand how it works, and meant something else,
> or if you really meant that this "graph" is how they define what to
> install. I ask because, in fact, the graph that represent relations
> is a bit more involved than that in both cases.
> 

Right. I don't claim to understand completely, but I think my
oversimplified diagrams get the point across.

> > 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
> 
> Smart is flexible enough to support whatever operation the backend
> has to do to achieve the installation of packages. There's an obvious
> but sometimes missed point about this though: to satisfy dependencies
> Smart needs information about them.
> 
> So, in the case above, Smart has to figure out that these packages are
> needed *before* building the package. RPM and DPKG both compute that
> information at build time, so the standard package/repository format
> doesn't allow you to do this.
> 

Yeah. Unfortunately I don't know of a way to reliably calculate the
exact packages built from a source pkg even when the source is present!

Actually, I can think of a way if the source is present: attempt the
build. :-)

Now supposing for a brief moment that this isn't ridiculous, it seems
that the BUILD operation would involve loading new package objects into
the cache during the attempt to solve. I'm not sure the solver could
handle that.

--
Darrin





More information about the Smart mailing list