[Rpm-maint] [PATCH v2 3/5] Add common Collection requirements

Panu Matilainen pmatilai at laiskiainen.org
Thu Jun 24 15:47:42 UTC 2010

On Thu, 24 Jun 2010, Panu Matilainen wrote:
> On Thu, 24 Jun 2010, Steve Lawrence wrote:
>> The idea with the Requires(order): sepolicy is that anything that
>> Provides: sepolicy would be ordered before anything that
>> Requires(order): sepolicy. So because foo Requires(order): sepolicy, and
>> bar-policy provides sepolicy, bar-policy would be installed first. So
>> the order becomes:
>> 1. selinux-policy
>> 2. foo-policy
>> 3. bar-policy
>> 4. foo
>> 5. bar
>> And everything works with policy, but doesn't change the ordering for
>> anything else, at least that's the idea.
> Right, I see the point now (I had doubts about the interleaved installs but 
> spelling it out makes it bleeping obvious :) But I dont think that'll work, 
> as *any* of the packages providing "sepolicy" will satisfy the dependency, ie 
> once either foo-policy or bar-policy is installed, "sepolicy" is provided and 
> the other things can proceed.
> So ok, this does need some special flag. And I've a feeling some other 
> collection-uses might need it too. Many of the "update this cache somewhere 
> within the transaction" cases don't care, but if collections are used for 
> something that directly affects basic runnability of the applications/tools 
> then there needs to be a way to tell rpm that the entire collection must have 
> been installed and executed before the anything depending on the collection 
> members can be installed. Which is AFAICS the same as the selinux-case, even 
> if for somewhat different reasons.

In fact... thinking about it some more, I believe the correct default for 
collection behavior is the one SELinux wants. The cases who don't 
/require/ that collections are completed before a dependency on packages 
in a collection can be considered satisfied can flag themselfs as 
"relaxed" collections (or whatever the terminology ends up being).

A "strict" collection basically looks a whole lot like a strongly 
connected component in rpm ordering, we'd just like get it without 
creating artificial loops between the packages belonging to a collection.
Florian, thoughts?

And then a "relaxed" collection is simply the current dependency ordering.

 	- Panu -

More information about the Rpm-maint mailing list