Jeff Johnson wrote:
On Mar 30, 2009, at 8:40 AM, Niels de Vos wrote:
Jeff Johnson wrote:
On Mar 30, 2009, at 8:17 AM, Niels de Vos wrote:
Kanwar Ranbir Sandhu wrote:
I'm not sure how this would be handled if the install was via yum. Would freeradius be installed first, thus avoiding the errors?
Is there a way to indicate which package should be installed first? Is it even worth it?
Yes, you can influence the order. I expect you have
Requires: freeradius
for freeradius-libs in the .spec. If you replace that by
PreReq: freeradius
the freeradius RPM will get installed before freeradius-libs. You probably want to push this change upstream by creating a Bugzilla entry for Fedora ;)
This is not true for years. All requires are used for ordering, prereq and requires are handled identically.
Oh, sorry. My knowledge might be outdated... Still need to use Fedora Core 4 for development and here it still works.
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)
[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 :) Niels