Bug 736194

Summary: Upgrading dhcp, dhclient separately causes rpm file conflicts
Product: Red Hat Enterprise Linux 6 Reporter: Garrett Holmstrom <gholms>
Component: dhcpAssignee: Jiri Popelka <jpopelka>
Status: CLOSED ERRATA QA Contact: Release Test Team <release-test-team>
Severity: low Docs Contact:
Priority: low    
Version: 6.1CC: mganisin, ovasik
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: dhcp-4.1.1-23.P1.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-12-06 12:01:04 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 743047    

Description Garrett Holmstrom 2011-09-06 23:54:35 UTC
Description of problem:
The dhcp and dhclient packages both own the dhcp-options(5) man page, but no rpm dependency forces them to be upgraded together.  This breaks rpm transactions where one has an old version of one package installed and attempts to install a newer version of the other.  For instance, attempting to install dhcp-12:4.1.1-19.P1.el6_1.1.x86_64 on a system with dhclient-12:4.1.1-19.P1.el6.x86_64 fails because the package versions differ and yum does not attempt to upgrade dhclient at the same time.

If both packages must share files then rpm requires their versions to match.  But yum doesn't know that they share files until after it attempts to run the rpm transaction, at which point it is too late.  F15 solved this by putting the shared files in a dhcp-common package that both dhcp and dhclient Require with a full e-n-v-r.


Version-Release number of selected component (if applicable):
dhclient-12:4.1.1-19.P1.el6.x86_64
dhcp-12:4.1.1-19.P1.el6_1.1.x86_64


How reproducible:
Always


Steps to Reproduce:
1. Install a 6.1 system with dhclient-12:4.1.1-19.P1.el6
2. Run ``yum install dhcp'', then confirm the transaction


Actual results:
file /usr/share/man/man5/dhcp-options.5.gz from install of dhcp-12:4.1.1-19.P1.el6_1.1.x86_64 conflicts with file from package dhclient-12:4.1.1-19.P1.el6.x86_64


Expected results:
dhcp installed, dhclient upgraded in the same rpm transaction

Comment 2 Jiri Popelka 2011-09-07 10:32:16 UTC
(In reply to comment #0)
> F15 solved this by putting the shared files in a dhcp-common package
> that both dhcp and dhclient Require with a full e-n-v-r.

Right, the Fedora version of this problem was bug #634673.
 
> Steps to Reproduce:
> 1. Install a 6.1 system with dhclient-12:4.1.1-19.P1.el6
> 2. Run ``yum install dhcp'', then confirm the transaction

Well, yes, it could be a problem.
But it can't happen if the system is updated because then the installed dhclient is the same n-v-r as the installing dhcp. I'm not sure the fix (i.e. creating of new dhcp-common subpackage in the middle of RHEL-6 lifecycle) is better than this possible problem.
New dhcp-common subpackage seems to me like a quite big change as a fix for problem that a user with updated system has no chance to see.

But I have no other idea how to fix this (see bug #634673).

I'll think about it a little but I see it as WONTFIX at the moment.

Comment 3 Garrett Holmstrom 2011-09-07 16:06:48 UTC
(In reply to comment #2)
> (In reply to comment #0)
> > Steps to Reproduce:
> > 1. Install a 6.1 system with dhclient-12:4.1.1-19.P1.el6
> > 2. Run ``yum install dhcp'', then confirm the transaction
> 
> Well, yes, it could be a problem.
> But it can't happen if the system is updated because then the installed
> dhclient is the same n-v-r as the installing dhcp. I'm not sure the fix (i.e.
> creating of new dhcp-common subpackage in the middle of RHEL-6 lifecycle) is
> better than this possible problem.
> New dhcp-common subpackage seems to me like a quite big change as a fix for
> problem that a user with updated system has no chance to see.

Since an update to either one would pull in the new dhcp-common subpackage, upgrades "just work" without changes to scripts or package lists.  Likewise, it would have no effect on yum groups and kickstarts.  Of course, if adding a new package is a problem in itself then that doesn't really help much.  Just my two cents.  ;)

> But I have no other idea how to fix this (see bug #634673).

Another possibility could be making dhcp Require dhclient with a full e-n-v-r, though I suspect that is not what you're after.

If you can't do either of those, I suggest adding Conflicts entries to both packages as shown in comment 1 of bug #634673.  This would have no effect on the normal case where versions match, but it would give yum the info it needs to reject such a transaction *before* it attempts to execute it rather than after it downloads everything and tries to change the system.

Comment 4 Jiri Popelka 2011-09-07 16:43:13 UTC
(In reply to comment #3)
> Since an update to either one would pull in the new dhcp-common subpackage,
> upgrades "just work" without changes to scripts or package lists.  Likewise, it
> would have no effect on yum groups and kickstarts.  Of course, if adding a new
> package is a problem in itself then that doesn't really help much.  Just my two
> cents.  ;)
Well, it shouldn't actually be a problem.
We'll consider this to include in 6.3 (it's quite late for 6.2).
 
> Another possibility could be making dhcp Require dhclient with a full e-n-v-r,
> though I suspect that is not what you're after.
Definitely not. dhcp doesn't require dhclient.

> If you can't do either of those, I suggest adding Conflicts entries to both
> packages as shown in comment 1 of bug #634673.  This would have no effect on
> the normal case where versions match, but it would give yum the info it needs
> to reject such a transaction *before* it attempts to execute it rather than
> after it downloads everything and tries to change the system.
Yes, but I'm not sure it's better because the error message is maybe more cryptic than what we have now.

Comment 5 Jiri Popelka 2011-09-09 12:40:52 UTC
I'll be probably doing a re-spin because of another bug so I'll take this one in.

Comment 11 errata-xmlrpc 2011-12-06 12:01:04 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2011-1597.html