zypper not updating what list-updates shows me

felipe@suse-amd:~> sudo zypper ref
Repository 'Updates for 11.0' is up to date.
per -r list-updatesRepository 'openSUSE-11.0-Oss' is up to date.
Repository 'openSUSE-11.0-Non-Oss' is up to date.
Repository 'NVIDIA Repository' is up to date.
Repository 'packman' is up to date.
All repositories have been refreshed.
felipe@suse-amd:~> sudo zypper lr
# | Alias                                    | Name                  | Enabled | Refresh
--+------------------------------------------+-----------------------+---------+--------
1 | openSUSE-11.0-Updates                    | Updates for 11.0      | Yes     | Yes
2 | repo-oss                                 | openSUSE-11.0-Oss     | Yes     | No
3 | repo-non-oss                             | openSUSE-11.0-Non-Oss | Yes     | No
4 | repo-debug                               | openSUSE-11.0-Debug   | No      | No
5 | http://download.nvidia.com/opensuse/11.0 | NVIDIA Repository     | Yes     | Yes
6 | packman                                  | packman               | Yes     | Yes
felipe@suse-amd:~> sudo zypper -r list-updates
Reading installed packages...
S | Catalog | Bundle | Name                        | Version          | Arch
--+---------+--------+-----------------------------+------------------+-----
v | packman |        | amarok-libvisual            | 1.4.9.1-104.pm.1 | i586
v | packman |        | gstreamer-0_10-plugins-base | 0.10.20-42.pm.1  | i586
v | packman |        | gstreamer-0_10-plugins-good | 0.10.8-42.pm.1   | i586
v | packman |        | libgstinterfaces-0_10-0     | 0.10.20-42.pm.1  | i586
felipe@suse-amd:~> sudo zypper -r up
Reading installed packages...
Nothing to do.
felipe@suse-amd:~> sudo zypper -r dup
Reading installed packages...

The following NEW package is going to be installed:
  libquicktime0


Overall download size: 284.0 K. After the operation, additional 906.0 K will be used.
Continue? [YES/no]: n
felipe@suse-amd:~> sudo zypper dup
Reading installed packages...

The following NEW package is going to be installed:
  libquicktime0


Overall download size: 284.0 K. After the operation, additional 906.0 K will be used.
Continue? [YES/no]: n
felipe@suse-amd:~>      

The ‘libquicktime’ package I’ve installed already 20 times. It continues to want to be installed. But I can’t install the other ‘updates’ with either ‘up’ or ‘dup’. (I know I can do it manually, but that isn’t the point). What going on?

Priorities: I don’t know how to show priorities in zypper, but in yast i see:
Default (99) packman
Default (99) NVIDIA
20 OpenSUSE Updates
120 openSUSE-OSS
120 openSUSE-Non-OSS

I think this is a BUG

According to the man page, “-r” expects a repo alias you don’t give. Have you tried a simple “zypper up”? Otherwise try “zypper up -t package”…

Have you read the whole man page? -r immediately after ‘zypper’ command turns on ‘rug compatibility’ mode. ‘zypper up’ updates patches - packages in packman don’t qualify.

ok sorry, I mixed the different meanings of “-r”

Don’t try to understand libzypp behavior.
[softwaremgmt] ‘zypper lu -t package’ vs. ‘zypper up -t package’](http://lists.opensuse.org/opensuse-softwaremgmt/2008-07/msg00005.html)
[softwaremgmt] patch updates vs. package updates with zypper (‘up’ vs. '](http://lists.opensuse.org/opensuse-softwaremgmt/2008-07/msg00004.html)
[softwaremgmt] zypper dup ignores repo priorities, it’s supposed to do s](http://lists.opensuse.org/opensuse-softwaremgmt/2008-06/msg00003.html)
https://bugzilla.novell.com/show_bug.cgi?id=402770
https://bugzilla.novell.com/show_bug.cgi?id=407154

In my opinion right now the only sane way of updating or list updates is “zypper -v up -t package”.

felipe@suse-amd:~> sudo zypper -v up -t package
Verbosity: 1
Initializing Target
Checking whether to refresh metadata for Updates for 11.0
Downloading: repomd.xml [done]
Checking whether to refresh metadata for NVIDIA Repository
Downloading: repomd.xml [done (381 B/s)]
Checking whether to refresh metadata for packman
Downloading: repomd.xml [done]
Reading installed packages...
Force resolution: No
Resolving dependencies...
Nothing to do.
felipe@suse-amd:~> sudo zypper -v lu -t package
Verbosity: 1
Initializing Target
Checking whether to refresh metadata for Updates for 11.0
Checking whether to refresh metadata for NVIDIA Repository
Checking whether to refresh metadata for packman
Reading installed packages...
Force resolution: No
Resolving dependencies...
S | Repository | Name                        | Version          | Arch
--+------------+-----------------------------+------------------+-----
v | packman    | amarok-libvisual            | 1.4.9.1-104.pm.1 | i586
v | packman    | gstreamer-0_10-plugins-base | 0.10.20-42.pm.1  | i586
v | packman    | gstreamer-0_10-plugins-good | 0.10.8-42.pm.1   | i586
v | packman    | libgstinterfaces-0_10-0     | 0.10.20-42.pm.1  | i586
felipe@suse-amd:~>

I read through most of those links. Interesting, but this behaviour is far from normal. I never received this strange behaviour from 10.3. Aside from manually ‘zypper install’ each package that appears from ‘lu’, how can I upgrade all packages from command line?

Yes, a lot of people thing zypper behavior isn’t normal. Once you know why it does what it does you can understand it… but still isn’t the behavior you would expect or want.

‘lu’ can list packages that aren’t installable at all (perhaps because it lacks a dependency).
It this exact case… I would need to know what packages do you have installed right now. But since all of them are from Packman I suppose ‘up’ “doesn’t works” because libzypp is configured to not update to packages from different vendors.

The workaround to receive the behavior you expect is Access Denied

But also note [packman] Unify vendors for libzypp](http://212.112.227.138/pipermail/packman/2008-July/005745.html)
So you should use

vendors = http://packman,packman,suse,opensuse

thanks for answer and links. appreciated. “World’s most usable distro” eh Novell?

Even if it could be (better?) documented and could be configurable in a simple way, the “do not update to a different vendor” is something IMHO good.
It allows me to install audacity from Packman (since it is the only repo that packages it with MP3 support) and I know an update will never change to an audacity version from another repo.
To archieve the same with Smart I need to define priorities for both repositories and specific packages.

The big problem is it’s too complex, sometimes unnecessarily, and not always coherent between different apps.
In theory to update a package:
1- It search for all packages with a higher version than the installed one.
2- It discards any package with a different vendor than the installed one.
3- It mantains only the packages in repos with the higher priority (and higher priority means lower number)
4- From the available packages at this point, it finally selects the one with the higher version/release number.

But…

  • Packman uses at least three “vendor” strings. So everybody should at least add a vendors file with “vendors=http://packman,packman”.
  • The need for “-t package” is, IMHO, simply wrong.
  • ‘lu -t package’ lists any package for which exists a newer version/release, ignoring everything else. Listing even uninstallable packages.
  • If your forget some bugs, ‘up -t package’ works like I would expect. Following the previous theory, and being the only way to use repository priorities.
  • ‘dup’ uses a “special” algorithm. It ignores repository priorities.
  • updater applet and YaST ignore repository priorities.

I have same issue. Zypper wants to install sama package forever…

osku@kotipurkki:~> sudo zypper dup -l
Luetaan asennettuja paketteja...

Asennetaan seuraava UUSI paketti:
  libquicktime0


Ladattavien kohteiden yhteiskoko: 284,0 K. Operaation jälkeen tilaa on 906,0 K vähemmän.
Jatketaanko? [KYLLä/ei]: e
osku@kotipurkki:~> sudo zypper up -t package
Luetaan asennettuja paketteja...
Ei mitään tehtävää.
osku@kotipurkki:~>

Forgive me if I missed something, but to do this, I just issue

zypper up -t package

…and all is done. The part about changing vendors is mentioned in the installation summary, but it will upgrade everything with a new version.

Forgive me if I missed something
I tried that. zypper not updating what list-updates shows me - openSUSE Forums