Feature changed by: Ralph Ulrich (ulenrich) Feature #306992, revision 7 Title: Zypper dup needs a --lock-vendor <vendor> switch openSUSE-11.2: Unconfirmed Priority Requester: Desirable Requested by: Dave Plater (plater) 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. Use Case: 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: #1: Rémy Marquis (spyhawk) (2009-07-31 14:47:59) 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 :) #2: Michael Andres (mlandres) (2009-08-05 15:54:05) (reply to #1) 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. #3: Michael Andres (mlandres) (2009-08-05 15:47:42) 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. + #4: (ulenrich) (2009-10-11 14:04:22) (reply to #3) + "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 -- openSUSE Feature: https://features.opensuse.org/306992