On Mar 30, 2009, at 9:05 AM, Niels de Vos wrote:
That isn't true for FC4 either. Its been almost a decade since requires and prereq are handled identically.
I'm not convinced on this point :-/ Pretty sure there is a difference when installing only two RPMs with changed Requires/PreReq. However I checked with rpm, not yum?! (yes, without loops)
So shop a different answer if you wish. I'm just the guy who wrote the code in RPM and who tries to explain how to fix packaging problems. If you don't like or believe my answers, by all means, shop elsewhere.
[this might get too much off-topic - we can leave it open like this]
All that adding prereq does is not ignore a dependency in a loop.
If you have a loop, then you need to fix the loop, not pretend that PreReq: does anything useful.
Well, this mail wasn't about a loop. It's about ordering of packages where <package>-libs depends on a %pre-scriptlet of <package>.
If there is *ANY* effect on ordering by switching to PreReq:, its *ALL* about a loop.
Can you tell us the correct solutions for this problem?
Not without verifying first that no loops are involved.
Add -vv to an install or upgrade, confirm that there are no loops involved (you will see LOOP: ... messages)
Otherwise, adding an additional dependency (use Requires: or PreReq: to taste, they are synonyms) will change package install (but not erase, that's a different problem) ordering.
Ok. Thanks for explaining :)
Hint: there is almost certainly a dependency loop because you are trying to use an executable in a %pre script in the *-libs package that has not yet been installed.
So the library package needs to be installed before the executable you are trying to use in a %pre script.
That basically means that you cannot do what you are attempting in the *-libs %pre script.
Which then turns the question into How do I do <mumble> if I can't use a %pre script in a *-libs package?
hth
73 de Jeff