[Rpm-maint] [Patch 3/19] Enable PREREQ

James Olin Oden james.oden at gmail.com
Fri Feb 9 14:03:26 UTC 2007


On 2/9/07, Stanislav Brabec <sbrabec at suse.cz> wrote:
> Peter Bowen wrote:
>
> > Requires(pre) can exist regardless of the existance of %pre, but it will
> > not be used for loop breaking under certain circumstances.
>
> And what happens, if some package calls just-installed binary in %post?
> All dependencies should be working in time of %post. They can be
> collected using documented %__find_prereq. The only problem:
> %__find_prereq is not implemented. And %find_requires_post is not
> implemented, too.
>
Right now as I understand things.  Ultimately all requires and
provides are treated equal, and are used to connect the dots in what
you hope is one big DAG (Directed Acylic [therein is the hope) Graph].
 Once the DAG is constructed then it is topologically sorted, and that
is the install order.
The end result is that all requires and all provides are treated equal.
There may be corner cases and such, but that is the basic way things
works as I understand it.

Now where we run into problems is that in reality (and not necessarily
in implementation) there are at least two dependency types:

   - install time
   - run time

RPM presently does not really differentiate.  The thing that is
important about the difference though, is that an install time
dependency truly communicates information that should be considered in
the topological sort, whereass a runtime dependency should only be
communicating information usefull for depedency closure.

Now as things are the deps seem to get more and more complicated, but
I believe if we could make this simple and I believe understandable
distinction in the implentation then we would great simply and deal
with untold amount of problems.  That said, it would probably take a
few years before someone really effectively implented this in their
distribution.

Unfortunately though,  I just realized I might be misled, because
there is no way that I know to deal with autogenerated deps in this
way.

...james



More information about the Rpm-maint mailing list