On Mon, Jun 30, 2008 at 9:38 PM, Jeff Johnson <[EMAIL PROTECTED]> wrote:
>
> As in "stable sorting"? No, topological sort is "partial ordering":,
> which *by definition* is not "stable", i.e. "deterministic", resulting
> in identical ordering for all possible inputs.

Sorry, what I meant was: are RPMs with no incoming edges installed in
the same relative order to each other as originally specified on the
command-line.

>> That is, given three RPMs on the command line:
>>
>> # /bin/rpm -U rpm1.rpm rpm2.rpm rpm3.rpm
>>
>> are the RPMs guaranteed to be installed in that order, absent any
>> inter-dependencies?
>>
>
> Yes, guaranteed if the are no relations between *[123].rpm.
>
> At worst, the *.rpm will be reordered according to the heuristic
> of the count of incoming edges. Note that all explicit relations will
> be honored. But that isn't what you specified with "absent ...
> inter-dependencies".

Right, I expected that explicit relations would be honored. In this
case the RPMs have no relations to each other and no incoming edges
(from other RPMs).

> You are doomed using PreReq: for ordering (imho), which is why
> RPMSENSE_PREREQ
> was removed in rpm-5.x.
>
> YMMV . Have fun!

Yeah, I realized after I sent the mail I meant plain old "Requires".

Here's the problem I really have:

I've got a vendor-provided RPM which I am *not* in control of. I have
two other RPMs which I *am* in control of, one needs to go before the
vendor-provided RPM and the other needs to go after it. So:

- my-pre.rpm
- vendor-provided.rpm
- my-post.rpm

Obviously, I can add a "Requires: vendor-provided" to my-post.rpm, but
that doesn't help with my-pre.rpm. Which is why I was hoping that just
specifying them to /bin/rpm in the right order would work properly.
Sounds like it should.

>> 3. /bin/rpm -U rpm1.rpm && /bin/rpm -U rpm2.rpm && /bin/rpm -U rpm3.rpm
>
> Dunno. If no interdependecies, that is exactly equivalent to
>    /bin/rpm -U rpm1.rpm rpm2.rpm rpm3.rpm
> or
>    /bin/rpm -U --noorder rpm1.rpm rpm2.rpm rpm3.rpm
> (the only difference is that rpm uses the number of incoming edges as a
> heuristic
> to order nodes when there are no other constraints, as in "absent ...
> interdependencies".

Okay, it sounds like that's good enough since these RPMs don't have
any incoming edges. BTW, the RPMs with more incoming edges install
before the RPMs with fewer incoming edges?

> All depends on on what version of rpm. Presumably this is not rpm-5.x ...

Sadly, no. :-( 4.something -- still trying to find out from the monkey.

I appreciate your taking the time to answer given that 4.something is
no longer you.

Thanks,

j.
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
Developer Communication List                        rpm-devel@rpm5.org

Reply via email to