[Rpm-maint] [PATCH v2 3/5] Add common Collection requirements
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.
And then a "relaxed" collection is simply the current dependency ordering.
- Panu -
More information about the Rpm-maint