The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 4,180 other subscribers

OpenSuSE Tumbleweed: after installing from ISO, be sure to disable/remove the ISO repo

Posted by jpluimers on 2016/10/26

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*)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

 
%d bloggers like this: