Bug 736194 - Upgrading dhcp, dhclient separately causes rpm file conflicts
Summary: Upgrading dhcp, dhclient separately causes rpm file conflicts
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: dhcp
Version: 6.1
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: rc
: ---
Assignee: Jiri Popelka
QA Contact: Release Test Team
URL:
Whiteboard:
Depends On:
Blocks: 743047
TreeView+ depends on / blocked
 
Reported: 2011-09-06 23:54 UTC by Garrett Holmstrom
Modified: 2011-12-06 12:01 UTC (History)
2 users (show)

Fixed In Version: dhcp-4.1.1-23.P1.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-12-06 12:01:04 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2011:1597 normal SHIPPED_LIVE dhcp bug fix and enhancement update 2011-12-06 00:51:17 UTC

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


Note You need to log in before you can comment on or make changes to this bug.