[opensuse] 11.0: zypper up versus dup, and version confusion
Hi, I have just a few repos defined: # | Alias | Name | Enabled | Refresh | Priority ---+-----------------------+-----------------------+---------+---------+--------- 3 | home:LarsMB | home:LarsMB | Yes | No | 30 15 | openSUSE-Tools | openSUSE-Tools | Yes | No | 40 6 | packman | Packman | Yes | No | 45 1 | opensuse-scm | opensuse-scm | Yes | No | 50 10 | mozilla-beta | mozilla-beta | Yes | No | 50 16 | WINE_2 | WINE | Yes | No | 50 2 | kde4-desktop | kde4-desktop | Yes | No | 50 4 | OpenOffice | OpenOffice | Yes | No | 50 5 | vlc | vlc | Yes | No | 50 7 | fate | fate | Yes | No | 50 11 | GNOME-Community | GNOME-Community | Yes | No | 60 12 | KDE-Backports | KDE-Backports | Yes | No | 60 13 | ATI Repository | ATI Repository | Yes | No | 75 17 | openSUSE-11.0-Updates | Updates for 11.0 | Yes | No | 80 14 | repo-non-oss | openSUSE-11.0-Non-Oss | Yes | No | 90 8 | repo-debug | openSUSE-11.0-Debug | Yes | No | 90 9 | repo-oss | openSUSE-11.0-Oss | Yes | No | 90 I've sorted that in priority order just to make it a bit more obvious; according to man zypper, lower priority settings actually make the repository more important - so to my eyes untrained in logic, I'd expect packages from "more important" repos to take precedence. Now, let's just take a look at one example: zypper se -s kdepim4 Reading installed packages... S | Name | Type | Version | Arch | Repository --+---------------------+---------+-------------+------+-------------------- v | kdepim4 | package | 4.1.0-29.11 | i586 | kde4-desktop v | kdepim4 | package | 4.0.80-9.3 | i586 | Updates for 11.0 v | kdepim4 | package | 4.0.80-9.2 | i586 | openSUSE-11.0-Oss i | kdepim4 | package | 4.1.0-29.9 | i586 | (System Packages) Ok. I have a version installed which is slightly older than what's available in kde4-desktop. # zypper up -t package Reading installed packages... Nothing to do. Not-so-ok. Version number comparison: fail. Let's try again: Reading installed packages... The following packages are going to be upgraded: amarok-libvisual amarok-yauap amarok-xine amarok kdepim4-wizards kdepim4 kde4-kmail kde4-kaddressbook The following NEW packages are going to be installed: pacemaker openais heartbeat-core amarok-lang That is actually more like it; it picked up on the new amarok packages too (from packman). This seems to imply that what I really want is "zypper dup", because zypper up is not actually comparing version numbers right. However, I have no idea where on earth it gets the idea that it should install openais & pacemaker & heartbeat-core, and it is not telling me either. --no-recommends makes no difference. So, I'm a bit confused. "dup" and "up" do totally different things, that much I understand, but I have no real clue as to "different how exactly?". I've asked colleagues, but some tell me I should use dup because up -t package is evil, and others tell me exactly the opposite ;-) And I'm somewhat at a loss as to understand the "solution" proposed by dup; a bit more tracing output would be helpful. So, at the end of this exercise, neither up nor dup work for me. Any ideas of what I am doing wrong? Regards, Lars -- Teamlead Kernel, SuSE Labs, Research and Development SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg) "Experience is the name everyone gives to their mistakes." -- Oscar Wilde -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On 2008-08-16T17:20:34, Lars Marowsky-Bree
And I'm somewhat at a loss as to understand the "solution" proposed by dup; a bit more tracing output would be helpful.
... and even dup doesn't appear to handle priorities right. If a more important repository contains a package in version 1.80.99-15.49, it still tries to install 1.80.99-32.1 - even though that repository is less important. Regards, Lars -- Teamlead Kernel, SuSE Labs, Research and Development SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg) "Experience is the name everyone gives to their mistakes." -- Oscar Wilde -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Sat, Aug 16, 2008 at 05:20:34PM +0200, Lars Marowsky-Bree wrote:
So, at the end of this exercise, neither up nor dup work for me.
Any ideas of what I am doing wrong?
'zypper up -t package' updates the the newest version, but it obeys the following policies: - the architecture will not be changed - the vendor of the new package must be compatible to the vendor of the old package. Thus, it won't update from a packman package to a suse package and vice versa. I suspect this is the problem with your old package. 'zypper dup' doesn't care about policies. Due to an implementation bug it ignores repository priorities, though. Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
participants (2)
-
Lars Marowsky-Bree
-
Michael Schroeder