Home_greyopenFATE - openSUSE feature tracking > #306992
Dashboard | Search | Sign up | Login

Please login or register to be able to edit or vote this feature.

Zypper dup needs a --lock-vendor <vendor> switch

Feature state

openSUSE-11.2
Rejected Information

Description

When using zypper dup it is very difficult and sometimes impossible to prevent certain packages from changing vendor. I propose a switch which will prevent certain vendors from being changed.

Packman for instance has kaffeine and cairo. You have packman kaffeine installed and you wish to stay with the packman version but you wish cairo to stay opensuse. You can either give packman repo a higher priority in which case your cairo will change vendor or you can give opensuse repo a higher priority in which case your kaffeine will change vendor.

Performing a "zypper dup --lock-vendor packman" will enable you to have a higher priority opensuse but still keep your packman packages and update with newer packman packages.

Usecase

If I have KDE4 factory desktop and YaST head packages installed in my factory system which also contains packages from packman and videolan and I wish to revert all kde and yast build service packages back to factory without changing the vendor of packman or videolan packages, the command "zypper dup -r factory --lock-vendor Packman videolan" would achieve this.

Discussion


icons/user_comment.png R. M. wrote: (8 years ago)

I am not sure if you are aware of it, but vendors lock can actually be achieved via /etc/zypp/vendors.d/ files (see zypper man page). Anyway, a zypper GUI to do the job would be welcomed :)

icons/user_comment.png M. A. wrote: (8 years ago)

No, /etc/zypp/vendors.d just allows to define which vendor strings should be considered equivalent. But you cannot 'lock' a vendor, i.e. prevent a vendor change although the solvers AllowVendorChange flag is true.

icons/user_comment.png M. A. wrote: (8 years ago)

If you want all your packages to stay with the vendor you assigned them, then 'dup' might be the wrong command for you.

The result of 'dup' basically is the result of a fresh installation, where the installed system just defines the amount of software to install. Installed packages version and vendor are not considered, but the repository priorities determine where the packages should be installed from.

While 'zypper up' will update installed packages, keeping their vendor.

Anyway there is indeed no easy way to exclude a certian part of a repository from operations like 'up' or 'dup'. You had to lock the packages, perform the operation and unlock the packages again. So --lock could simply apply temporary hardlocks to the specified packages.

icons/user_comment.png . . wrote: (8 years ago)

"repository priorities determine where the packages should be installed from."

But unfortunatly there is this bug:

https://bugzilla.novell.com/show_bug.cgi?id=543498

icons/user_comment.png R. U. wrote: (7 years ago)

This fate could be marked as done for openSUSE-11.3

I have proved this working by changing to obs-kde4-unstable and back to factory:

use priorities!

Last change: 7 years ago
Voting
Score: 7
  • Negative: 0
  • Neutral: 0
  • Positive: 7
Feature Export
Application-xmlXML   Text-x-logPlaintext   PrinterPrint