#15 Drop all Python 2 packages
Closed: Completed 2 months ago by lkocman. Opened 2 years ago by lkocman.

Python 2 has been dead upstream for a long time, we will get rid of it in SLES 15 SP4.
We need to document it in the R/N ASAP to make the plan known

For 15 SP4 we need to:

  1. remove python2 packages from the package list
  2. remove the python2 module
  3. create a Release Notes entry that python2 is now removed
  4. adjust tests to not install python2 packages anymore
  5. adjust tests to not use the python2 module anymore

This is happening we're tracking the issue to raise awareness. RN needed.

Metadata Update from @lkocman:
- Custom field SUSE Jira adjusted to https://jira.suse.com/browse/OPENSUSE-31

2 years ago

Metadata Update from @lkocman:
- Issue tagged with: SLE, SLE-Accepted

2 years ago

So this is going to remove Python 2 completely this breaking support for script and programs that use and require python 2 and wont work with python 3?

Clarification on the scope. I did talk to PM yesterday (Stefan) and we do not have an easy way to completely drop the packages from the IBS/OBS project as these packages are inherited from older SPs.

We will need to filter them out from the final image builds etc, however, they'll be available in the buildroot etc, however the ultimate goal should be to completely avoid build-dependency on it as well, wherever possible. As there won't be any further updates to python2 ecosystem in SP4+.


Marcus M. raised that we still have some remaining packages in openSUSE Backports 15 SP4. This needs to go away.

I've already added it as a topic for the Backports/Packagehub Team in our Release Engineering meeting minutes. https://etherpad.opensuse.org/p/ReleaseEngineering-20211110#L123

The situation will not get better than what we have currently in Leap 15.5. There is a handful of packages that we still need to have product building.

the significant change in Leap 15.5:

  • Dropped python2 interpreter. We provided it in Leap 15.4 for the backward compatibility reason, now in Leap 15.5 it's gone, including python-base, python-xml,etc. from the core python base package.
  • A further python2 related stuff cleanup. This is not about python2-xxx binary RPM from each python module package, those has been removed from ftp-tree in Leap 15.4, the cleanup towards package has a one/many of its binary RPM requiring python2, such like PACKAGE-plugin-python.rpm package.
  • The potential risk is about if package has a script that used shebang as /usr/bin/python, those packages are remaining because it doesn't matter to its main feature, like bugzilla package is a perl package, but it has a python script with /usr/bin/python shebang actually, user have choose to ignore the dependency error or not to install it, yes, that is an unfortunate thing and we have the same issue in Factory as well, not all of that script in Factory converted to python3, remove those kind of package entirely in Leap is not a good option, a)main feature is not broken at least, 2)there are customers need those package's main feature, like bugzilla. There is still possible to fix those script via maint update at least in case someone willing to do so.

Just in case anyone here are interested what python2 package has been removed from ftp, here you are https://build.opensuse.org/package/view_file/openSUSE:Leap:15.5/000product/NON_FTP_PACKAGES.group?expand=1

Then I think this can be closed. Especially when the python2 interpret itself is gone. Thank you Max!

Metadata Update from @lkocman:
- Issue close_status updated to: Completed
- Issue status updated to: Closed (was: Open)

2 months ago

Login to comment on this ticket.