Bug 208694

Summary: YaST does not allow package downgrading if patches were applied
Product: [openSUSE] SUSE Linux 10.1 Reporter: Richard Biener <rguenther>
Component: YaST2Assignee: Katarina Machalkova <kmachalkova>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Critical    
Priority: P5 - None CC: aj, andreas.hanke
Version: Final   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: Development Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Richard Biener 2006-09-28 10:45:52 UTC
If you start with a 10.1 install and apply current online-updates you get a
xorg patch.  If you then install xorg7 from an external source (openSUSE) you can
not downgrade to xorg 6.9 again without re-installing.

This is because the applied patch imposes requirements on library versions, but
those are not available for downgrading.  So downgrading to the available 10.1
packages fails and there is no way ignoring the patch dependencies or uninstalling the patch.

I believe this (interaction of patches with dependencies) is a design issue and is not easy to fix (other than by providing a "ignore this dependency" from the Yast sw management module and allowing to re-apply a patch).

Still this is a quite severe issue, as requiring a re-install of the complete system in this case is not acceptable.

[but unsupported external install, yadayada, so Critial priority only]

Note this problem is in openSUSE 10.2, too, I believe.
Comment 1 Klaus Kämpf 2006-10-03 17:16:38 UTC
Actually, the dependencies work as designed. The patch serves as a warrant for the fix. Installing the patch ensures that the fix is - and stays - applied.

The bug you're seeing here is YaSTs inability to delete the patch. Deletion of the patch would then remove the warrant and allow package downgrade.
Use "rug rm -t patch ..." as a workaround.

Reassign to Stefan to allow patch deletion in YaST UI.
Comment 2 Stefan Hundhammer 2006-10-04 15:10:39 UTC
I can easily allow patch deletion in the UI. Currently it is artificially disabled - mostly for historical reasons, because the old package manager didn't support deleting patches at all. For ZYPP this had been undecided IIRC.

If a user deletes a patch, I assume only the patch meta data will be deleted, but all packages that came with the patch will remain the same.

Wouldn't users expect to downgrade to the status before they applied the patch in that case? I know we (currently?) can't do that and that it would be very hard to support that - keeping track of RPM DB history and so on. But I fear if we offer to delete patches users will think to have been mislead if the same package versions are still there after deleting a patch.

Somebody better prepare an SDB article or an OpenSUSE wiki page to explain what is going on in that case...
Comment 3 Stefan Hundhammer 2006-10-04 15:31:07 UTC
Patches can now be selected for deletion in the Qt package selector.

-> Gabi / Katharina for y2-ncurses
Comment 4 Katarina Machalkova 2006-10-07 14:54:54 UTC
I'll take this one, since Gabi is away next week
Comment 5 Gabriele Mohr 2006-10-11 09:40:15 UTC
I had a look at the problem. I now have enabled the deletion of patches for Ncurses package selector, too (will be provided with yast2-ncurses-2.13.46).