[CentOS-devel] freeradius-2.1.3 spec

Mon Mar 30 12:52:57 UTC 2009
Jeff Johnson <n3npq at mac.com>

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.

>> 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  
(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.

73 de Jeff