Bug 426067

Summary: RFE: yum-protectbase fails to protect against obsolescence by other repos
Product: [Fedora] Fedora Reporter: Need Real Name <bugzilla>
Component: yum-utilsAssignee: Packaging Maintenance Team <packaging-team-maint>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhideCC: dmach, ffesti, hdegoede, james.antill, riehecky, tim.lauridsen
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-07-18 21:32:08 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Need Real Name 2007-12-18 05:37:31 UTC
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):
yum-protectbase-1.1.8-1.fc8

How reproducible:
100%

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 14:15:46 UTC
 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 15:20:53 UTC
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 15:00:14 UTC
leaving open as an rfe for later consideration.

Comment 4 Daniel Mach 2018-07-18 21:32:08 UTC
yum and related packages are no longer actively developed.
They are being replaced with dnf, dnf-utils, etc.

I'm closing this bug because it's most likely never going to be fixed.
If you still consider your bug report important, reopen it, please.

Comment 5 Daniel Mach 2018-07-18 21:34:37 UTC
yum and related packages are no longer actively developed.
They are being replaced with dnf, dnf-utils, etc.

I'm closing this bug because it's most likely never going to be fixed.
If you still consider your bug report important, reopen it, please.