Red Hat Bugzilla – Bug 147377
Update unexpectedly removes other RPMs
Last modified: 2007-11-30 17:07:06 EST
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):
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
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.