[Bug 2137070] Re: python3-apt 2.0.1ubuntu0.20.04.1+esm1 version does not comply with PEP 440

Sudhakar Verma 2137070 at bugs.launchpad.net
Wed Jan 14 06:35:43 UTC 2026


I'll be uploading this to the -proposed

$ head debian/changelog
python-apt (2.0.1ubuntu0.20.04.2esm2) focal-security; urgency=medium

  * SECURITY REGRESSION: PEP 440 incompatible version string (LP: #2137070)
    - Fix version to be compatible with PEP 440

 -- Sudhakar Verma <sudhakar.verma at canonical.com>  Wed, 14 Jan 2026
11:20:20 +0530

python-apt (2.0.1ubuntu0.20.04.1+esm1) focal-security; urgency=medium

  * SECURITY UPDATE: NULL pointer dereference (LP: #2091865)

$ cat target/usr/lib/python3/dist-packages/python_apt-2.0.1+ubuntu0.20.4.2esm2.egg-info/PKG-INFO
Metadata-Version: 1.0
Name: python-apt
Version: 2.0.1+ubuntu0.20.4.2esm2
Summary: Python bindings for APT
Home-page: UNKNOWN
Author: APT Development Team
Author-email: deity at lists.debian.org
License: GNU GPL
Description: UNKNOWN
Platform: posix


which should work

In [1]: from packaging.version import parse, Version

In [2]: Version("2.0.1+ubuntu0.20.4.2esm2")
Out[2]: <Version('2.0.1+ubuntu0.20.4.2esm2')>

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to python-apt in Ubuntu.
https://bugs.launchpad.net/bugs/2137070

Title:
  python3-apt 2.0.1ubuntu0.20.04.1+esm1 version does not comply with PEP
  440

Status in Ubuntu Pro:
  New
Status in python-apt package in Ubuntu:
  Incomplete

Bug description:
  [Description]

  The latest release of python3-apt (2.0.1ubuntu0.20.04.1+esm1) is
  setting the python version to:

  $ pip list | grep apt
  python-apt          2.0.1-ubuntu0.20.04.1-esm1

  This version is not compliant with PEP440 and breaks with other
  software that will check versions:

  $ python3
  Python 3.8.10 (default, Nov 17 2025, 15:36:31) 
  [GCC 9.4.0] on linux
  Type "help", "copyright", "credits" or "license" for more information.
  >>> from packaging.version import parse, Version
  >>> Version("2.0.1-ubuntu0.20.04.1-esm1").micro
  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "/usr/lib/python3/dist-packages/packaging/version.py", line 277, in __init__
      raise InvalidVersion("Invalid version: '{0}'".format(version))
  packaging.version.InvalidVersion: Invalid version: '2.0.1-ubuntu0.20.04.1-esm1'

  The latest non ESM version works correctly:

  $ pip list | grep apt
  python-apt          2.0.1+ubuntu0.20.4.1

  Notice the replacement of (+) with (-) between the version (2.0.1) and
  the ubuntu0.20.04.1. (+) is the correct separator for local versions:

  https://peps.python.org/pep-0440/#local-version-segments
  https://peps.python.org/pep-0440/#development-release-separators

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-pro/+bug/2137070/+subscriptions




More information about the foundations-bugs mailing list