TL;DR: OpenSuSE Tumbleweed – after installing from ISO, be sure to disable/remove the ISO repo.
A while ago I had a weird thing on my OpenSuSE Tumbleweed system while upgrading (yes, zypper dist-upgrade
is the recommended way to update Tumbleweed): it would complain in this way zypper dup
indicates python3-urllib3-1.16-1.1.noarch requires python(abi) = 3.5
:
# zypper dup 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 more information about this command. Loading repository data... Reading installed packages... Computing distribution upgrade... Problem: python3-urllib3-1.16-1.1.noarch requires python(abi) = 3.5, but this requirement cannot be provided Solution 1: Following actions will be done: deinstallation of python3-urllib3-1.15.1-2.1.noarch deinstallation of python3-wheel-0.29.0-2.1.noarch deinstallation of speedtest-cli-0.3.2-4.3.noarch deinstallation of python3-six-1.10.0-4.1.noarch deinstallation of python3-pycparser-2.14-2.1.noarch deinstallation of python3-pyasn1-0.1.9-2.1.noarch deinstallation of python3-pyOpenSSL-16.0.0-3.1.noarch deinstallation of python3-idna-2.1-1.1.noarch deinstallation of python3-chardet-2.3.0-1.4.noarch Solution 2: keep obsolete python-cupshelpers-1.5.7-7.2.noarch Solution 3: break python3-urllib3-1.16-1.1.noarch by ignoring some of its dependencies Choose from above solutions by number or cancel [1/2/3/c] (c):
What eventually – with help from the excellent help by DimStar on the #openSUSE-factory IRC channel – led to the solution was the part Solution 2: keep obsolete python-cupshelpers-1.5.7-7.2.noarch
.
But first let’s look at the installed versions and repos:
# cat /etc/os-release NAME=openSUSE VERSION="Tumbleweed" VERSION_ID="20160626" PRETTY_NAME="openSUSE Tumbleweed (20160626) (x86_64)" ID=opensuse ANSI_COLOR="0;32" CPE_NAME="cpe:/o:opensuse:opensuse:20160626" BUG_REPORT_URL="https://bugs.opensuse.org" HOME_URL="https://www.opensuse.org/" ID_LIKE="suse" # ls -al /usr/bin/python* lrwxrwxrwx 1 root root 9 Jun 15 15:14 /usr/bin/python -> python2.7 lrwxrwxrwx 1 root root 9 Jun 15 15:14 /usr/bin/python2 -> python2.7 -rwxr-xr-x 1 root root 6352 Jun 15 15:14 /usr/bin/python2.7 lrwxrwxrwx 1 root root 9 Jun 15 17:03 /usr/bin/python3 -> python3.5 -rwxr-xr-x 2 root root 10504 Jun 15 17:03 /usr/bin/python3.5 -rwxr-xr-x 2 root root 10504 Jun 15 17:03 /usr/bin/python3.5m # python3 --version Python 3.5.1 # zypper verify Loading repository data... Reading installed packages... Dependencies of all installed packages are satisfied. # zypper ref Repository 'Main Repository (NON-OSS)' is up to date. Repository 'Main Repository (OSS)' is up to date. Repository 'Main Update Repository' is up to date. Repository 'openSUSE-20150508-0' is up to date. All repositories have been refreshed. # zypper lr -d # | Alias | Name | Enabled | GPG Check | Refresh | Priority | Type | URI | Service --+----------------------------------+----------------------------+---------+-----------+---------+----------+--------+----------------------------------------------------------------------------------------+-------- 1 | download.opensuse.org-non-oss | Main Repository (NON-OSS) | Yes | (r ) Yes | Yes | 99 | yast2 | http://download.opensuse.org/tumbleweed/repo/non-oss/ | 2 | download.opensuse.org-oss | Main Repository (OSS) | Yes | (r ) Yes | Yes | 99 | yast2 | http://download.opensuse.org/tumbleweed/repo/oss/ | 3 | download.opensuse.org-tumbleweed | Main Update Repository | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/update/tumbleweed/ | 4 | openSUSE-20150508-0 | openSUSE-20150508-0 | Yes | ( p) Yes | No | 99 | yast2 | cd:///?devices=/dev/disk/by-id/ata-VMware_Virtual_IDE_CDROM_Drive_10000000000000000001 | 5 | repo-debug | openSUSE-Tumbleweed-Debug | No | ---- | Yes | 99 | NONE | http://download.opensuse.org/debug/tumbleweed/repo/oss/ | 6 | repo-source | openSUSE-Tumbleweed-Source | No | ---- | Yes | 99 | NONE | http://download.opensuse.org/source/tumbleweed/repo/oss/ |
So far, everything seemed normal and the forum thread indicated it was a possible bug So I went to the proper IRC channel #openSUSE-factory (irc://irc.opensuse.org/openSUSE-factory) which handles Thumbleweed as it has merged with Factory in 2014.
But DimStar
noticed this:
[13:56] hmm.. Solution 2: keep obsolete python-cupshelpers-1.5.7-7.2.noarch => this package has been dropped I can't remember when in TW [13:57] it has been replaced with a python3-variant
and then suggested to get the details of the python-cupshelpers
package:
# zypper search --details cupshelpers Loading repository data... Reading installed packages... S | Name | Type | Version | Arch | Repository --+---------------------+---------+-----------+--------+---------------------- i | python-cupshelpers | package | 1.5.7-7.2 | noarch | (System Packages) v | python-cupshelpers | package | 1.5.6-1.1 | noarch | openSUSE-20150508-0 | python3-cupshelpers | package | 1.5.7-8.1 | noarch | Main Repository (OSS)
That revealed what actually happened when doing the zypper dup
(shorthand for zypper dist-upgrade
):
openSUSE-20150508-0
was an enabled
repository which prevents zypper
from removing the python-cupshelpers
package even though in the Main Repository (OSS)
it has been replaced by python3-cupshelpers
.
DimStar
phrased it like this:
[14:10] pretty much everything on the DVD is outdated [14:11] as the package that no longer makes sense exists in 'a currently enabled repo', the removal of it is not considered a first-class valid solution [14:12] (but is an offered solution by zypper dup - in your case solution 2)
Disabling the ISO repo makes the list of packages different:
# zypper modifyrepo --disable openSUSE-20150508-0 Repository 'openSUSE-20150508-0' has been successfully disabled. # zypper search --details cupshelpers Loading repository data... Reading installed packages... S | Name | Type | Version | Arch | Repository --+---------------------+---------+-----------+--------+---------------------- i | python-cupshelpers | package | 1.5.7-7.2 | noarch | (System Packages) | python3-cupshelpers | package | 1.5.7-8.1 | noarch | Main Repository (OSS) # rpm -qa | grep cupshelpers python-cupshelpers-1.5.7-7.2.noarch
And now suddenly the zypper distr-upgrade
works.
–jeroen
via: Dominique a.k.a. DimStar (Dim*)
Filed under: *nix, Development, Linux, openSuSE, Power User, Scripting, Software Development, SuSE Linux, Tumbleweed
