Bug 426067 - RFE: yum-protectbase fails to protect against obsolescence by other repos
RFE: yum-protectbase fails to protect against obsolescence by other repos
Product: Fedora
Classification: Fedora
Component: yum-utils (Show other bugs)
All Linux
low Severity low
: ---
: ---
Assigned To: Seth Vidal
Fedora Extras Quality Assurance
: FutureFeature
Depends On:
  Show dependency treegraph
Reported: 2007-12-18 00:37 EST by Need Real Name
Modified: 2016-04-20 08:52 EDT (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
Last Closed:
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Need Real Name 2007-12-18 00:37:31 EST
Description of problem:
Logically, it would seem that if yum-protectbase protects against other repos
using more recent version of an rpm then even more so it should protect against
other repos obsolescing an rpm in a protected repo.

But it doesn't....

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

How reproducible:

Steps to Reproduce:
1. yum install yum-protectbase
(by default this should protect all repos)

2. yum install lm-sensors lm-sensors-sensord --disablerepo atrpms
3. yum update --enablerepo atrpms
Actual results:
You get an error message:
Resolving Dependencies
--> Running transaction check
---> Package sensord.i386 0:2.10.5-52.fc8 set to be updated
--> Processing Dependency: lm_sensors = 2.10.5-52.fc8 for package: sensord
--> Finished Dependency Resolution
Changes in packages about to be updated:
Error: Missing Dependency: lm_sensors = 2.10.5-52.fc8 is needed by package sensd

What is happening here is that atrpms has a package called sensord which
provides the same functionality as the Fedora package lm_sensors-sensord (just
under a different name). The catch is that the sensord spec file has the
following two lines:
Requires: lm_sensors = %{evr} [but this is ok since protectbase does protect
against later or different version numbers from other repos]

Obsoletes: lm_sensors-sensord <= %{evr}
   [This is where the bug is since since protectbase should also logically
protect against this Obsoletes command]

In summary, this seems to be a SIGNIFICANT gap in the functionality of protectbase!
Comment 1 James Antill 2007-12-18 09:15:46 EST
 protectbase is part of yum-utils, moving.
 Also it currently just removes packages of the same name from other repos that
don't have the protect flag, getting it to follow Conflicts/Obsoletes would slow
it down (it might just be easier to get everyone to use the same package names).
Comment 2 Need Real Name 2007-12-18 10:20:53 EST
I can see how the current implementation is easier but as in the example above,
Conflicts/Obsoletes can create as big or bigger headaches.

And I wish it would be so easy to get everyone to use the same package names...

So would be nice to add this functionality to the wish list. 

The best alternative solution I have for now is to add a line "exclude=sensord"
to my repos configuration for atrpms. Do you have any better suggestions?
Comment 3 Seth Vidal 2008-03-13 11:00:14 EDT
leaving open as an rfe for later consideration.

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