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