Zypper recognize packages as obsolete when they are not

Hello,

from some time now, when I upgrade Opensuse Tumbleweed, zypper shows that there are some packages conflicts, it shows packages with higher version number compared to other as obsolete.


sudo zypper dup

the result:


Loading repository data...
Reading installed packages...
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for mo
re information about this command.
Computing distribution upgrade...
5 Problems:
Problem: problem with installed package lash-0.5.4-28.39.x86_64
Problem: problem with installed package liblash1-0.5.4-28.39.x86_64
Problem: shared-python-startup-0.1-6.2.noarch conflicts with python3 < 3.8 provided by python3-3.2.3-1.1.1.x86_64
Problem: python3-dbm-3.2.3-1.1.1.x86_64 requires libgdbm.so.3()(64bit), but this requirement cannot be provided
Problem: vlc-codecs-3.0.11.1-4.2.x86_64 requires vlc-noX = 3.0.11.1, but this requirement cannot be provided

Problem: problem with installed package lash-0.5.4-28.39.x86_64
 Solution 1: install lash-0.5.4-14.1.2.x86_64 (with vendor change)
  http://packman.links2linux.de  -->  openSUSE
 Solution 2: keep obsolete lash-0.5.4-28.39.x86_64

**Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c/d/?] (c): **^Cflap@SFX:~>  

Problem: problem with installed package liblash1-0.5.4-28.39.x86_64
 Solution 1: install liblash1-0.5.4-14.1.2.x86_64 (with vendor change)
  http://packman.links2linux.de  -->  openSUSE
 Solution 2: keep obsolete liblash1-0.5.4-28.39.x86_64

**Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c/d/?] (c): 

**Problem: shared-python-startup-0.1-6.2.noarch conflicts with python3 < 3.8 provided by python3-3.2.3-1.1.1.x86_64
 Solution 1: Following actions will be done:
  keep obsolete python3-3.8.3-4.1.x86_64
  keep obsolete python3-base-3.8.3-4.1.x86_64
  keep obsolete libpython3_8-1_0-3.8.3-4.1.x86_64
 Solution 2: Following actions will be done:
  keep obsolete python3-base-3.8.3-4.1.x86_64
  keep obsolete libpython3_8-1_0-3.8.3-4.1.x86_64
 Solution 3: deinstallation of python3-3.8.3-4.1.x86_64
 Solution 4: deinstallation of shared-python-startup-0.1-6.1.noarch

**Choose from above solutions by number or skip, retry or cancel [1/2/3/4/s/r/c/d/?] (c): **




I keep the “obsolete” packages since these seems to have higher version number. Could someone explain to me what is going on here?

1 Like

I’m not familiar with the particular program.

Here, I’m pretty sure that “obsolete” just means that this version is not in the repo.

If a package is in two repos, the difference in version number is not always relevant. Zypper will prefer a package with the same vendor as the version already installed. And if that does not apply, it looks at repo priorities – a repo with a lower priority number is preferred.

1 Like

Versions are the same. Release numbers between different repositories are completely independent and higher release number in one repository does not mean package is “newer” than package in another repository.

lash apparently was included in standard Tumbleweed and removed from Packman. If you keep package from Packman, it won’t be updated anymore and at some point it will likely become unusable (due to some other changes in Tumbleweed).

As for shared-python-startup - you apparently have old package installed from somewhere which is no more compatible with current Python in Tumbleweed. There is not much choice here.

As for VLC, it comes from Packman. Either follow zypper’s suggestion or allow a vendor change when upgrading and you will get all vlc packages from there:

zypper dup --allow-vendor-change

Keep in mind that having more repos could conflict with the rolling release nature of Tumbleweed so use the above with caution.