VirtualBox

Opened 4 years ago

Last modified 4 years ago

#19897 new defect

Virtualbox depends on deprecated pyhton version

Reported by: DanielDuesentrieb Owned by:
Component: other Version: VirtualBox 6.1.14
Keywords: depends on deprecated python verisons Cc:
Guest type: Windows Host type: Linux

Description

Debian testing can't install the current python version 2.7.18 without deinstall Virtualbox. The installed virtualbox packet is 6.1.14-140239~Ubuntu~eoan. It is planned to update the python dependancies to the current versions?


axel@graf-zahl:~$ apt-get -s dist-upgrade HINWEIS: Dies ist nur eine Simulation!

apt-get benötigt root-Privilegien für die reale Ausführung. Behalten Sie ebenfalls in Hinterkopf, dass die Sperren deaktiviert sind, verlassen Sie sich also bezüglich des reellen aktuellen Status der Sperre nicht darauf!

Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Paketaktualisierung (Upgrade) wird berechnet... Fertig Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:

libpython-stdlib libsdl-ttf2.0-0 python-minimal

Verwenden Sie »apt autoremove«, um sie zu entfernen. Die folgenden Pakete werden ENTFERNT:

python virtualbox-6.1

Die folgenden Pakete sind zurückgehalten worden:

libpython2-stdlib python2 python2-minimal

0 aktualisiert, 0 neu installiert, 2 zu entfernen und 3 nicht aktualisiert. Remv virtualbox-6.1 [6.1.14-140239~Ubuntu~eoan] Remv python [2.7.16-1] axel@graf-zahl:~$


Change History (7)

comment:1 by sean dwyer, 4 years ago

This is also deprecated on Debian 10 buster/testing hosts, leaving the package unconfigurable. It is a show-stopping bug and I am very surprised there has been no action or even a response after 12 days.

comment:2 by scottgus1, 4 years ago

Testing, Insider Preview, Beta, all are not official releases of operating systems, so they are not officially supported by Virtualbox. No doubt these beta OS's are considered in new development on Virtualbox, but Virtualbox won't be guaranteed to work on 'Testing' versions. When 'Testing' becomes 'Official Release' then the target stops moving and an official Virtualbox release can be released to hit said target.

comment:3 by sean dwyer, 4 years ago

That is a ridiculous response. You are proposing that, since the current virtualbox package gets removed as a result of the deprecation, we must fall back on the distribution vendor's package which is well behind (6.0.x) and incompatible with the current version because of the new changes made in it, and then be forced to redo all our configuration again if/when Oracle updates the python dependencies. Unless Oracle is doing something truly mind-bendingly different with python 2 I fail to see what is so difficult about updating to python 3 and putting out an interim version of the package for python 3, you're going to have to do it sooner than you'd like because distros are dumping python 2, it's dead.

comment:4 by pietro, 4 years ago

Python 3? Here it's not a matter of Python2 vs. Python3: at the time of writing that's the situation of standard vs. deprecated Python2 versions on Debian:

  • Debian Buster: 2.7.16
  • Debian Bullseye: 2.7.18

It's just a patch level!!!! We cannot upgrade VirtualBox because it depends depends on the old Python2 patchlevel 2.7.16! According to semantic versioning, APIs should be the same.

So my question for Oracle developers is: what are the big differences between Python 2.7.16 and Python 2.7.18 which makes almost impossible to adapt VirtualBox code to the not-deprecated version?

Moreover: 2.7.18 is the latest STABLE Python2 version, so it's not a matter of Debian testing vs. stable, it's a matter of upgrading to the latest stable version of Python2. And if Python is releasing new versions of obsolete Python 2 it means that they're just fixing bugs.

Bugs that Oracle developers want to keep in VirtualBox code.

Maybe it's time to move to another virtualization platform.

comment:5 by smheidrich@…, 4 years ago

I'm experiencing the same issue, but I don't think this has anything to do with VirtualBox asking for any specific Python version - the VirtualBox dependencies read:

Depends: psmisc, adduser, libc6 (>= 2.28), libcurl4 (>= 7.16.2), libdevmapper1.02.1 (>= 2:1.02.97), libgcc1 (>= 1:3.0), libgl1, libopus0 (>= 1.1), libpng16-16 (>= 1.6.2-1), libqt5core5a (>= 5.11.0~rc1), libqt5gui5 (>= 5.4.0), libqt5opengl5 (>= 5.0.2), libqt5printsupport5 (>= 5.0.2), libqt5widgets5 (>= 5.11.0~rc1), libqt5x11extras5 (>= 5.6.0), libsdl1.2debian (>= 1.2.11), libssl1.1 (>= 1.1.1), libstdc++6 (>= 5.2), libvpx5 (>= 1.6.0), libx11-6, libxcb1, libxcursor1 (>> 1.1.2), libxext6, libxml2 (>= 2.7.4), libxt6, zlib1g (>= 1:1.1.4), python (<< 2.8), python (>= 2.7), python:any (>= 2.6.6-7~)

So, really, it's just asking for any version of the python package newer than 2.7, not a specific patch-level version. The issue seems to be that Debian bullseye doesn't contain a package named "python" anymore:

root@debian:~# apt install python
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python : PreDepends: python-minimal (= 2.7.16-1) but it is not going to be installed
          Depends: libpython-stdlib (= 2.7.16-1) but it is not going to be installed
          Depends: python2 (= 2.7.16-1) but 2.7.18-2 is to be installed
E: Unable to correct problems, you have held broken packages.


root@debian:~# apt show -a python  | grep APT-Sources

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

APT-Sources: /var/lib/dpkg/status
APT-Sources: https://deb.debian.org/debian buster/main amd64 Packages
APT-Sources: https://deb.debian.org/debian stretch/main amd64 Packages

So all that would have to happen is for VirtualBox to depend on the "python2" package instead. But it seems strange to me that they removed the "python" virtual package.

Here is a bug on Debian's bug tracker about this, I guess I'll have to ask there wth they are doing?

comment:6 by smheidrich@…, 4 years ago

OK I actually found it in the changelog for 2.7.18-1:

  * Stop building the python, python-dev, python-dbg, python-doc,    
    python-minimal, libpython-dev, libpython-dbg, libpython-stdlib packages.

It would be a trivial change for VirtualBox to depend on "python2" instead and should work perfectly fine on Debian versions prior to bullseye as well - could you please make this change? You'll have to do it later on anyway, because they seem to have made up their mind about not supporting the "python" package anymore.

Related thing on Ubuntu's mailing list: https://lists.ubuntu.com/archives/ubuntu-devel/2020-January/040869.html

comment:7 by mrvanes, 4 years ago

I'm seeing the same problem on Ubuntu Groovy, which was released yesterday. As there is no groovy build yet, the Virtualbox-6.1 package in focal depends on python, which forces install of python-is-python2, which breaks a lot of core python stuff from there. Hope the upcoming groovy packages will take care of this in due time, because I'm anxiously anticipating 6.1.16 for correct build of the modules on my 5.9 kernel.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use