Bug 147377 - Update unexpectedly removes other RPMs
Summary: Update unexpectedly removes other RPMs
Alias: None
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: rpm   
(Show other bugs)
Version: 3.0
Hardware: i586
OS: Linux
Target Milestone: ---
Assignee: Jeff Johnson
QA Contact: Mike McLean
Depends On:
TreeView+ depends on / blocked
Reported: 2005-02-07 18:43 UTC by Dermot McCluskey
Modified: 2007-11-30 22:07 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2005-02-07 20:29:28 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description Dermot McCluskey 2005-02-07 18:43:56 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1)

Description of problem:
I have 2 RPMs as follows:
- 1st RPM, foo, Provides: bar (amongst other things)
- 2nd RPM is called bar (and so automatically provides bar)

If I do:
# rpm -U foo.rpm
# rpm -U bar.rpm
the second command causes foo to be erased.
Is this the correct behavior?

Note, if I update them in the reverse order, or if I update
them both on the same command line, or if I install with "-i"
instead of updating, foo does not get erased - both RPMs will
be successfully installed.  Therefore, I'm inclined to think
this is a bug?

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Create a simple RPM, foo, which "Provides: bar"
2. Create a simple RPM, bar
3. rpm -U foo.rpm
4. rpm -q foo    # Result: foo is installed
4. rpm -U bar.rpm
5. rpm -q foo

Actual Results:  Result: foo has been erased.

Expected Results:  Expected: both foo and bar should be installed.
# rpm -q --whatprovides foo
should show both RPMs provinding the "bar" capability

Additional info:

Comment 1 Jeff Johnson 2005-02-07 20:29:28 UTC
No bug here.

--install has implicit promise to never erase any package,
so even Obsoletes: are ignored during install.

--upgrade is by Provides: name, not package Name:,
although each package Name: has a Provide: silently added.

So this is the expected behavior.

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