Bug 784289

Summary: Transaction order not guaranteed when using Conflicts:
Product: Red Hat Enterprise Linux 6 Reporter: Stephen Gallagher <sgallagh>
Component: rpmAssignee: Panu Matilainen <pmatilai>
Status: CLOSED DUPLICATE QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.2CC: myllynen
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-02-14 05:43:24 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 784275    

Description Stephen Gallagher 2012-01-24 13:37:18 UTC
Description of problem:
When upgrading a package that has an "optional" dependency on another package using the "Conflicts: package < version" directive, yum does not guarantee that that the other package is updated first.

This causes issues with packages that are trying to mandate an SELinux update if an SELinux denial would result in the package not starting properly.

For example:
Upgrading SSSD from RHEL 6.1 to RHEL 6.2 added a dependency on selinux-policy 3.7.19-118

To do this (since it must be possible to run SSSD with no SELinux packages on the system, we added:
Conflicts: selinux-policy < 3.7.19-118

When SSSD upgrades, it restarts its daemon (if it's currently running). The new version of this package required the newer selinux policy to grant a new permission to allow it to start up. The end result was that SSSD was not running after an upgrade.

Yum should be modified so that conditional Conflicts: are resolved before dependent packages are updated.


Version-Release number of selected component (if applicable):
https://brewweb.devel.redhat.com/buildinfo?buildID=183779

How reproducible:
Inconsistent. Order is not guaranteed

Steps to Reproduce:
See description

Comment 2 James Antill 2012-02-13 17:01:39 UTC
Transaction ordering is part of rpm, and I'm kind of surprised that this doesn't already happen ... are you sure there aren't any loops in the deps?

Comment 3 Stephen Gallagher 2012-02-13 18:51:57 UTC
I can guarantee you that selinux-policy does not depend on SSSD, so there are no loops.

Comment 4 Panu Matilainen 2012-02-14 05:43:24 UTC

*** This bug has been marked as a duplicate of bug 760793 ***