Mailinglist Archive: opensuse-features (291 mails)

< Previous Next >
[openFATE 306992] Zypper dup needs a --lock-vendor <vendor> switch
  • From: fate_noreply@xxxxxxx
  • Date: Tue, 25 May 2010 12:28:40 +0200 (CEST)
  • Message-id: <feature-306992-8@xxxxxxxxxxxxxx>
Feature changed by: Ralph Ulrich (ulenrich)
Feature #306992, revision 8
Title: Zypper dup needs a --lock-vendor <vendor> switch

openSUSE-11.2: Unconfirmed
Requester: Desirable

Requested by: Dave Plater (plater)

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
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.

#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

#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
But unfortunatly there is this bug:

+ #5: Ralph Ulrich (ulenrich) (2010-05-25 12:28:37)
+ 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!

openSUSE Feature:

< Previous Next >
This Thread
  • No further messages