Invalid PEP440 package version breaking setuptools >= 66

Bug #1991606 reported by wieczyk
36
This bug affects 3 people
Affects Status Importance Assigned to Milestone
devscripts (Ubuntu)
Fix Released
High
Unassigned
Bionic
New
Undecided
Unassigned
Focal
New
Undecided
Unassigned
Jammy
New
Undecided
Unassigned
Kinetic
Won't Fix
Undecided
Unassigned
distro-info (Ubuntu)
Fix Released
High
Benjamin Drung
Bionic
New
Undecided
Unassigned
Focal
Fix Released
Undecided
Unassigned
Jammy
Fix Released
Undecided
Unassigned
Kinetic
Fix Released
Undecided
Unassigned
dput (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
New
Undecided
Unassigned
Focal
Fix Released
Undecided
Unassigned
Jammy
Fix Released
Undecided
Unassigned
Kinetic
Fix Released
Undecided
Unassigned
Lunar
Fix Released
Undecided
Unassigned
drslib (Ubuntu)
New
High
Unassigned
Bionic
Invalid
Undecided
Unassigned
Focal
New
Undecided
Unassigned
Jammy
New
Undecided
Unassigned
Kinetic
Won't Fix
Undecided
Unassigned
duecredit (Ubuntu)
Fix Released
High
Unassigned
Bionic
New
Undecided
Unassigned
Focal
New
Undecided
Unassigned
Jammy
New
Undecided
Unassigned
Kinetic
Won't Fix
Undecided
Unassigned
gpgme1.0 (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
New
Undecided
Unassigned
Focal
Fix Released
Undecided
Unassigned
Jammy
Fix Released
Undecided
Unassigned
Kinetic
Fix Released
Undecided
Unassigned
python-debian (Ubuntu)
Fix Released
High
Benjamin Drung
Bionic
Invalid
Undecided
Unassigned
Focal
Fix Released
Undecided
Unassigned
Jammy
Fix Released
Undecided
Unassigned
Kinetic
Fix Released
Undecided
Unassigned
reportbug (Ubuntu)
Fix Released
High
Unassigned
Bionic
New
Undecided
Unassigned
Focal
New
Undecided
Unassigned
Jammy
New
Undecided
Unassigned
Kinetic
Won't Fix
Undecided
Unassigned
ubuntu-dev-tools (Ubuntu)
Fix Released
High
Unassigned
Bionic
New
Undecided
Unassigned
Focal
Fix Released
Undecided
Unassigned
Jammy
Invalid
Undecided
Unassigned
Kinetic
Invalid
Undecided
Unassigned
update-manager (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
New
Undecided
Unassigned
Focal
New
Undecided
Unassigned
Jammy
New
Undecided
Unassigned
Kinetic
Won't Fix
Undecided
Unassigned

Bug Description

[ Impact ]

With setuptools 66, the versions of all packages visible in the Python environment *must* obey PEP440 <https://peps.python.org/pep-0440/>. Otherwise, attempts to use pip to install a package with a setup.py-based build system, or other attempts to use the `pkg-resources` module, can produce errors like this:

  File "/builds/databiosphere/toil/venv/lib/python3.9/site-packages/pkg_resources/__init__.py", line 844, in _resolve_dist
    env = Environment(self.entries)
  File "/builds/databiosphere/toil/venv/lib/python3.9/site-packages/pkg_resources/__init__.py", line 1044, in __init__
    self.scan(search_path)
  File "/builds/databiosphere/toil/venv/lib/python3.9/site-packages/pkg_resources/__init__.py", line 1077, in scan
    self.add(dist)
  File "/builds/databiosphere/toil/venv/lib/python3.9/site-packages/pkg_resources/__init__.py", line 1096, in add
    dists.sort(key=operator.attrgetter('hashcmp'), reverse=True)
  File "/builds/databiosphere/toil/venv/lib/python3.9/site-packages/pkg_resources/__init__.py", line 2631, in hashcmp
    self.parsed_version,
  File "/builds/databiosphere/toil/venv/lib/python3.9/site-packages/pkg_resources/__init__.py", line 2678, in parsed_version
    self._parsed_version = parse_version(self.version)
  File "/builds/databiosphere/toil/venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/version.py", line 266, in __init__
    raise InvalidVersion(f"Invalid version: '{version}'")
pkg_resources.extern.packaging.version.InvalidVersion: Invalid version: '0.23ubuntu1'

The official opinion of the setuptools maintainers seems to be that version strings of this form haven't *really* been allowed since about 2014, and distributions need to change their package version naming scheme for Python packages they install, so that the resulting version strings obey PEP440. See for example <https://github.com/pypa/setuptools/issues/3772#issuecomment-1384342813>.

suffix 1build1 is invalid.

Some python building tools, that verifies if version strings are compatible with PEP440, are failing.

Example: python poetry: Invalid PEP 440 version: '1.1build1'

[ Test Plan ]
1.
$ mkdir /tmp/lp.1991606
$ export HOME=/tmp/lp.1991606
$ sudo apt install dput python3-pip
$ pip3 install -U setuptools
$ sudo apt install <broken package>
$ dput

This will produce a backtrace.

2. Enable -proposed
3. Upgrade <broken package> from proposed
4. dput

This will succeed.

[ Where problems could occur ]

The fix touches only setup.py which is only used for installing the package. So there should be no effect on the installed package (except for exposing a different version). But there could be indirect effects (hidden bugs that trigger on package upgrade, etc).

[ Other Info ]

The related upstream bug report is https://github.com/pypa/setuptools/issues/3772. As of 2023-04-25 it has 85 comments and 108 thumbs ups.

Revision history for this message
Dan Bungert (dbungert) wrote :

Hi there, thanks for the report.

Debian and Ubuntu have a long-established package versioning scheme, so I'm not sure it's appropriate to expect those packages to change to conform to what PEP440 wants. But we may be able to do something within the building tools, such as your poetry example, in terms of how it reports distro package versions.

I'm not previously familiar with the python3-poetry package. Would you provide a set of steps to produce this problem using that? I see that one can do a "poetry new poetry-demo", which may assist in constructing a minimal test case.

Also, are there other affected python building tools?

Changed in distro-info (Ubuntu):
status: New → Incomplete
Revision history for this message
Benjamin Drung (bdrung) wrote :

The version 1.1ubuntu1 is clearly not compliant with https://peps.python.org/pep-0440/. For distribution versions the local version identifiers can be used. So the version 1.1ubuntu1 can be mapped to 1.1+ubuntu1.

python/setup.py reads debian/changelog for the version number.

Revision history for this message
Benjamin Drung (bdrung) wrote :
Revision history for this message
Dan Bungert (dbungert) wrote :

Ah, thank you Benjamin, nice work.

wieczyk, if the above looks like it should resolve the issue then I think no further info is needed.

Revision history for this message
Simon Chopin (schopin) wrote :

What's the actual consequence of this issue? Do we need to cherry-pick the fix in Kinetic?

Revision history for this message
wieczyk (wieczyk) wrote (last edit ):

Hard to say. Only consequence I was able to observe is that some python tools that enforce PEP440 reject package. In hard cases someone can install pyenv and install distro-info in another version.

What does mean if we would not port this fix to kinetic? Next ubuntu release will have invalid python package version again?

Revision history for this message
Benjamin Drung (bdrung) wrote :

Uploaded distro-info 1.1ubuntu1 with the fix.

Changed in distro-info (Ubuntu):
importance: Undecided → Medium
status: Incomplete → Fix Committed
Revision history for this message
Iain Lane (laney) wrote :

I've accepted it, but please make sure this is synced again as soon as you can.

Revision history for this message
Benjamin Drung (bdrung) wrote :

Don't worry, I am DD as well. I did do an upload to unstable due to the newer pylint that breaks the build in unstable.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package distro-info - 1.1ubuntu1

---------------
distro-info (1.1ubuntu1) kinetic; urgency=medium

  * python: Use PEP440 compliant version in setup.py (LP: #1991606)

 -- Benjamin Drung <email address hidden> Sat, 08 Oct 2022 02:50:34 +0200

Changed in distro-info (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
NeoLin (neolintch) wrote :

Can this change be applied to other branches? The distro-info source package in Jammy also has this bug.

Revision history for this message
Benjamin Drung (bdrung) wrote :

Yes, I can backport the fix. Are you willing to do the paperwork for SRU (see https://wiki.ubuntu.com/StableReleaseUpdates)? For which releases do you want to have? Only jammy?

Revision history for this message
NeoLin (neolintch) wrote :

Sorry I'm not familiar with the paperwork for SRU. Personally, I only need jammy to be fixed

Revision history for this message
Benjamin Drung (bdrung) wrote :

The relevant point of the SRU documentation is to update the ticket description to describe the test plan etc (see https://wiki.ubuntu.com/StableReleaseUpdates#SRU_Bug_Template).

Revision history for this message
liao_zd@hotmail.com (liaozd) wrote :

When can I get it fix on ubuntu 22.04?

Revision history for this message
Benjamin Drung (bdrung) wrote :

Can you provide a test case (step by step instructions to show the issue) for the SRU for 22.04?

Revision history for this message
Martin Pecka (peci1) wrote :

Hi guys, I would also like to get this fixed on the LTS distros - bionic, focal. Would that be possible?

bionic: 0.18ubuntu0.18.04.1
focal: 0.23ubuntu1

Revision history for this message
Benjamin Drung (bdrung) wrote :

Finally https://github.com/pypa/setuptools/issues/3772 gives reasoning and a test case:

```
docker run -it --rm --entrypoint=bash ubuntu:focal
apt update && apt install python3 python3-pip python3-distro-info python-debian libfuzzy-dev -y
pip install -U setuptools pip
python3 -m pip install ssdeep
```

Benjamin Drung (bdrung)
summary: - Invalid PEP440 package version
+ Invalid PEP440 package version breaking setuptools >= 60
Benjamin Drung (bdrung)
description: updated
Benjamin Drung (bdrung)
Changed in ubuntu-dev-tools (Ubuntu Kinetic):
status: New → Invalid
Changed in ubuntu-dev-tools (Ubuntu Jammy):
status: New → Invalid
Benjamin Drung (bdrung)
tags: added: regression-update
Benjamin Drung (bdrung)
Changed in distro-info (Ubuntu):
importance: Medium → High
Changed in devscripts (Ubuntu):
importance: Undecided → High
Changed in drslib (Ubuntu Bionic):
status: New → Invalid
Benjamin Drung (bdrung)
Changed in python-debian (Ubuntu Kinetic):
status: New → Invalid
Changed in python-debian (Ubuntu Bionic):
status: New → Invalid
Changed in python-debian (Ubuntu):
importance: Undecided → High
Changed in duecredit (Ubuntu):
importance: Undecided → High
Changed in drslib (Ubuntu):
importance: Undecided → High
Changed in reportbug (Ubuntu):
importance: Undecided → High
Changed in ubuntu-dev-tools (Ubuntu):
importance: Undecided → High
Benjamin Drung (bdrung)
Changed in python-debian (Ubuntu):
status: New → Fix Committed
Changed in reportbug (Ubuntu):
status: New → Fix Committed
Benjamin Drung (bdrung)
Changed in duecredit (Ubuntu):
status: New → Fix Committed
Revision history for this message
Martin Pecka (peci1) wrote : Re: Invalid PEP440 package version breaking setuptools >= 60

> Changed in python-debian (Ubuntu Bionic):
> status: New → Invalid

Can I ask about this change? How is it invalid for bionic? The name of the package is wrong there, too... (for both python-distro-info an python3-distro-info).

Revision history for this message
Benjamin Drung (bdrung) wrote :

python-debian 0.1.32 in bionic is fine. Therefore I marked it invalid for *python-debian* in bionic. distro-info 0.18ubuntu0.18.04.1 in bionic needs to be fixed though.

Revision history for this message
Martin Pecka (peci1) wrote :

Ah, now I get it, thanks.

Revision history for this message
Benjamin Drung (bdrung) wrote :

Uploaded distro-info 1.4, python-debian 0.1.49ubuntu2, reportbug 11.6.0ubuntu2, duecredit 0.9.1-1ubuntu1, and ubuntu-dev-tools 0.192 to fix the bug in lunar. I am working on devscripts now. drslib is broken upsteam and should be fixed there first.

Changed in ubuntu-dev-tools (Ubuntu):
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package reportbug - 11.6.0ubuntu2

---------------
reportbug (11.6.0ubuntu2) lunar; urgency=medium

  * Make Python version PEP440 compliant (LP: #1991606)

 -- Benjamin Drung <email address hidden> Wed, 01 Feb 2023 11:03:46 +0100

Changed in reportbug (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package python-debian - 0.1.49ubuntu2

---------------
python-debian (0.1.49ubuntu2) lunar; urgency=medium

  * Make Python version PEP440 compliant (LP: #1991606)

 -- Benjamin Drung <email address hidden> Wed, 01 Feb 2023 10:32:24 +0100

Changed in python-debian (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package duecredit - 0.9.1-1ubuntu1

---------------
duecredit (0.9.1-1ubuntu1) lunar; urgency=medium

  * Make Debian Python version PEP440 compliant (LP: #1991606)

 -- Benjamin Drung <email address hidden> Wed, 01 Feb 2023 11:45:02 +0100

Changed in duecredit (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-dev-tools - 0.192

---------------
ubuntu-dev-tools (0.192) unstable; urgency=medium

  [ Benjamin Drung ]
  * sponsor-patch:
    + Ignore exit code 1 of debdiff call.
    + Use --skip-patches instead of --no-preparation with dpkg-source -x.
  * Demote bzr/brz from Recommends to Suggests, as nowadays git is the way.
    Closes: #940531
  * Use PEP440 compliant version in setup.py (LP: #1991606)
  * Fix issues found by flake8 on the Python scripts
  * Check Python scripts with flake8 again
  * Format Python code with black and run black during package build
  * Sort Python imports with isort and run isort during package build
  * Replace deprecated optparse with argparse
  * requestbackport: Remove useless loop from locate_package
  * reverse-depends: Restore field titles format
  * test: Fix deprecated return value for test case
  * Fix all errors and warnings found by pylint and implement most refactorings
    and conventions. Run pylint during package build again.
  * Bump Standards-Version to 4.6.2
  * Drop unneeded X-Python3-Version from d/control

  [ Masahiro Yamada ]
  * mk-sbuild:
    + Handle the new location of the Debian bullseye security archive.
      Closes: #1001832; LP: #1955116

  [ Mattia Rizzolo ]
  * requestbackport:
    + Apply patch from Krytarik Raido and Unit 193 to update the template and
      workflow after the new Ubuntu Backport process has been established.
      LP: #1959115

 -- Benjamin Drung <email address hidden> Wed, 01 Feb 2023 12:45:15 +0100

Changed in ubuntu-dev-tools (Ubuntu):
status: Fix Committed → Fix Released
Benjamin Drung (bdrung)
tags: added: foundations-todo
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package update-manager - 1:23.04.1

---------------
update-manager (1:23.04.1) lunar; urgency=medium

  * Make Python version PEP440 compliant (LP: #1991606)
  * Switch to Debian source 3.0 (native)
  * Replace transitional policykit-1 by polkitd and pkexec
  * Fix pycodestyle complains by formatting Python code with black
  * Drop imports only needed for Python 2
  * Replace lsb_release call with reading /etc/os-release directly

 -- Benjamin Drung <email address hidden> Mon, 13 Feb 2023 14:17:03 +0100

Changed in update-manager (Ubuntu):
status: New → Fix Released
Benjamin Drung (bdrung)
summary: - Invalid PEP440 package version breaking setuptools >= 60
+ Invalid PEP440 package version breaking setuptools >= 66
Revision history for this message
Henry Ward Hopeman Jr. (neahwhopeman) wrote :
Revision history for this message
Henry Ward Hopeman Jr. (neahwhopeman) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package devscripts - 2.23.3ubuntu2

---------------
devscripts (2.23.3ubuntu2) lunar; urgency=medium

  * Drop debpkg to make devscripts architecture all. Instead of debpkg please
    use sudo for debi (or, highly dangerous, make dpkg setuid root).
  * Revert special handling for i386

 -- Benjamin Drung <email address hidden> Mon, 20 Mar 2023 13:05:08 +0100

Changed in devscripts (Ubuntu):
status: New → Fix Released
Benjamin Drung (bdrung)
Changed in distro-info (Ubuntu Kinetic):
status: New → Fix Released
Revision history for this message
Benjamin Drung (bdrung) wrote :

Uploaded distro-info 1.1ubuntu0.1 for jammy (debdiff attached).

Revision history for this message
Benjamin Drung (bdrung) wrote :

Uploaded distro-info 0.23ubuntu1.1 for focal (debdiff attached).

Revision history for this message
Benjamin Drung (bdrung) wrote :

Uploaded distro-info 0.18ubuntu0.18.04.2 for bionic (debdiff attached).

tags: added: patch
Revision history for this message
Benjamin Drung (bdrung) wrote :

Uploaded python-debian 0.1.43ubuntu1.1 for jammy (debdiff attached).

Revision history for this message
Benjamin Drung (bdrung) wrote :

Uploaded python-debian 0.1.36ubuntu1.1 for focal (debdiff attached).

Benjamin Drung (bdrung)
description: updated
Benjamin Drung (bdrung)
description: updated
Revision history for this message
Steve Langasek (vorlon) wrote :

I do not think this is justified as an SRU. We ship setuptools in Ubuntu, and the version of setuptools shipped in these releases does not trigger the issue. If someone is installing a different local version of setuptools with pip, then they can just as well set up their environment to mask the dist-packages too.

Revision history for this message
Martin Pecka (peci1) wrote :

> We ship setuptools in Ubuntu, and the version of setuptools shipped in these releases does not trigger the issue.

It does for me (on Bionic).

Revision history for this message
Steve Langasek (vorlon) wrote :

Setuptools is not in bionic. So you're using a local version and the previous comment about configuring the environment to not use system modules applies.

Revision history for this message
Martin Pecka (peci1) wrote :

> Setuptools is not in bionic

I don't understand. I clearly see it there: https://webcache.googleusercontent.com/search?q=cache:fZGhFT_sSb8J:https://packages.ubuntu.com/bionic/python-setuptools . Or am I missing something?

Revision history for this message
Steve Langasek (vorlon) wrote :

You're right, python3-setuptools is in bionic, I was looking at the setuptools source package which is not in bionic. python3-setuptools in bionic comes from the 'python-setuptools' source package instead.

In any event, this issue should not affect the python3-setuptools 39.0.1 shipped as part of the bionic release; it is only reported to affect setuptools 66.

Revision history for this message
Martin Pecka (peci1) wrote (last edit ):

There is downstream software depending on python3-packaging to work correctly. That library is affected, too, because it checks for strict compliance to PEP 440. And, obviously, it can't be fixed by fixing the packaging library, as it does its work correctly.

Example downstream usage: https://github.com/ros-infrastructure/rosdep/pull/909 .

Would this be enough to support an SRU for all projects with wrong version strings in bionic and the other releases?

Revision history for this message
Philippe Warren (philippewarren) wrote :

Here is another example of a tool that fails to work as expected because it expects strict compliance to PEP 440: https://github.com/tox-dev/pipdeptree/issues/235 .

This affects older Ubuntu releases like Bionic and Focal too.
I hope adding another example like this helps to justify fixing this on older versions of Ubuntu as well, even if setuptools is not affected there.

Revision history for this message
Benjamin Drung (bdrung) wrote :

Taking an Ubuntu docker image (or similar) and installing the latest pip/setuptools is a very common use case for CI pipelines and building containers. Since distro-info and python-debian are in most images, all those use cases are affected. The bug is that these Ubuntu packages violate the Python versioning. So we should fix the packages that are broken instead to work around them in other places.

So I suggest that we backport fixing the broken version numbers for distro-info and python-debian (but do not SRU the other affected packages). The security update for distro-info in bionic introduced the regression (0.18 was a valid version, but 0.18ubuntu0.18.04.1 is not).

Changed in python-debian (Ubuntu):
assignee: nobody → Benjamin Drung (bdrung)
Changed in distro-info (Ubuntu):
assignee: nobody → Benjamin Drung (bdrung)
Revision history for this message
Steve Langasek (vorlon) wrote :

The security update for distro-info, 0.18ubuntu0.18.04.1, was published in 2019. I don't think it's correct to say that this introduced the regression; the regression was introduced when upstream setuptools changed its behavior.

This does not preclude us moving forward with an SRU, I just want the record to be precise.

I do think the test case given in the bug report seems contrived. A number of packages are necessarily installed using apt to set up the environment; but then setuptools is specifically pulled from pip instead of from the Ubuntu archive? Why? Is there a test case that can be used to demonstrate the problem without what seems an unnatural mix of apt and pip?

My counterargument against this affecting CI pipelines is that, precisely because these packages are in all of our images, the SRU will also be seen on all Ubuntu systems - whether or not they are trying to use latest upstream setuptools - increasing the risk of a failure on upgrade; not because I think there's anything buggy about the proposed change, but because sometimes upgrade failures happen anyway, and while this normally doesn't weight very much, it's more of a consideration when there's a proposed update on the margin of the SRU policy to a core package.

I see that you have appropriately scoped the tasks on the various packages to only include those in releases where the version number curretnly violates the policy. Is the python-debian/kinetic task marked invalid because the version number there currently complies, or because when building with a source package version that doesn't comply the package will still be PEP440-compliant? If it's only the former, then it would be best if we did do an SRU of it but kept it in -proposed with block-proposed.

Revision history for this message
Benjamin Drung (bdrung) wrote :

There is a simple test case that does not need any external sources:

Check the build log of the package. It should *not* contain "UserWarning: The version specified ($version) is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details."

I marked python-debian/kinetic as invalid, because version 0.1.46 in kinetic is compliant with PEP440.

Revision history for this message
Benjamin Drung (bdrung) wrote :

Here is the debdiff for python-debian 0.1.46ubuntu1 for kinetic.

Changed in python-debian (Ubuntu Kinetic):
status: Invalid → New
Revision history for this message
Steve Langasek (vorlon) wrote : Re: [Bug 1991606] Re: Invalid PEP440 package version breaking setuptools >= 66

On Fri, May 26, 2023 at 11:46:47PM -0000, Benjamin Drung wrote:
> There is a simple test case that does not need any external sources:

> Check the build log of the package. It should *not* contain
> "UserWarning: The version specified ($version) is an invalid version,
> this may not work as expected with newer versions of setuptools, pip,
> and PyPI. Please see PEP 440 for more details."

Ok but that's not actually a problem, it's just a warning. What is a test
case that demonstrates the practical problem without, as I said, an
unnatural mix of apt and pip?

Revision history for this message
Benjamin Drung (bdrung) wrote :

Bug #2008430 could be a use-case.

Revision history for this message
Steve Langasek (vorlon) wrote :

LP: #2008430 says "due to setuptools 66.x.x" which is only present in lunar and later, and all these SRUs are for kinetic and earlier, so this still doesn't look like a real-world test case...

Changed in python-debian (Ubuntu Kinetic):
status: New → Incomplete
Revision history for this message
Stefano Rivera (stefanor) wrote :

> I do think the test case given in the bug report seems contrived. A number of packages are necessarily installed using apt to set up the environment; but then setuptools is specifically pulled from pip instead of from the Ubuntu archive? Why? Is there a test case that can be used to demonstrate the problem without what seems an unnatural mix of apt and pip?

I think a more common scenario where this would come up is:

$ virtualenv --system-site-packages foo
$ foo/bin/python -m pip install -U setuptools
$ foo/bin/python -c "import pkg_resources; pkg_resources.require('distro-info')"

It's pretty common to upgrade setuptools inside a virtualenv to the latest version. And possibly required to install newer packages in a virtualenv.
virtualenv downloads the latest setuptools by default, upstream. But we adjust it to prefer the bundled wheels in the archive.

We worked hard to ensure that our Python packages support a wide range of setuptools versions by including _distutils_system_mod that has code paths for all the versions we think are plausible to use (including the latest version).

Revision history for this message
Steve Langasek (vorlon) wrote :

Verified (as a consequence of LP: #1977645) that python3-gpg has a PEP440-compliant version in kinetic and later.

Changed in gpgme1.0 (Ubuntu Kinetic):
status: New → Fix Released
Changed in gpgme1.0 (Ubuntu):
status: New → Fix Released
Revision history for this message
Steve Langasek (vorlon) wrote :

Stefano, thanks, that does feel much closer to a test case that models a real-world scenario.

The doubt I still have is, if you're pulling something as fundamental as setuptools from pip, why are you using virtualenv --system-site-packages at all? Is this because it's embedded in third-party code that's hard for the user to change?

This fails:

$ sudo apt install python3-virtualenv python3-distro-info
$ virtualenv --system-site-packages foo
$ foo/bin/python -m pip install -U setuptools
$ foo/bin/python -c "import pkg_resources; pkg_resources.require('distro-info')"

But this succeeds:

$ sudo apt install python3-virtualenv python3-distro-info
$ virtualenv --system-site-packages foo
$ foo/bin/python -m pip install -U setuptools
$ foo/bin/python -c "import pkg_resources; pkg_resources.require('filelock')"

as does this:

$ sudo apt install python3-virtualenv python3-distro-info
$ virtualenv --system-site-packages foo
$ foo/bin/python -m pip install -U setuptools distro-info
$ foo/bin/python -c "import pkg_resources; pkg_resources.require('distro-info')"

It's only when trying to use a setuptools newer than the one in the distro, with distro versions of specific python modules, that I can reproduce a failure. So, uh, why do that?

Revision history for this message
Stefano Rivera (stefanor) wrote :

The scenario I can think of is that you want to install some Python thing in a virtualenv, that depends on both recent setuptools, and some library that Debian provides but isn't trivially installed in a virtualenv. It's not a common scenario, but I can imagine it.

Revision history for this message
Steve Langasek (vorlon) wrote :

I can imagine lots of things, and most of them do not qualify for SRUing :)

The original bug report suggests that having these packages with non-PEP440 versions *present* on the system will break newer setuptools. But none of the test cases so far have demonstrated this, they've only demonstrated that if you try to *use* these system packages with the newer setuptools, it doesn't work.

Revision history for this message
Steve Langasek (vorlon) wrote :

Ok, via LP: #2018519, here is a test case.

$ mkdir /tmp/home
$ export HOME=/tmp/home
$ sudo apt install dput python3-pip python3-distro-info
$ pip3 install -U setuptools
$ dput
Traceback (most recent call last):
  File "/usr/bin/dput", line 33, in <module>
    sys.exit(load_entry_point('dput===1.1.0ubuntu2', 'console_scripts', 'execute-dput')())
  File "/usr/bin/dput", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 171, in load
    module = import_module(match.group('module'))
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/share/dput/dput/dput.py", line 33, in <module>
    from .helper import dputhelper
  File "/usr/share/dput/dput/helper/dputhelper.py", line 17, in <module>
    import pkg_resources
  File "/tmp/home/.local/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3327, in <module>
    def _initialize_master_working_set():
  File "/tmp/home/.local/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3301, in _call_aside
    f(*args, **kwargs)
  File "/tmp/home/.local/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3339, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/tmp/home/.local/lib/python3.10/site-packages/pkg_resources/__init__.py", line 629, in _build_master
    ws.require(__requires__)
  File "/tmp/home/.local/lib/python3.10/site-packages/pkg_resources/__init__.py", line 966, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/tmp/home/.local/lib/python3.10/site-packages/pkg_resources/__init__.py", line 827, in resolve
    dist = self._resolve_dist(
  File "/tmp/home/.local/lib/python3.10/site-packages/pkg_resources/__init__.py", line 852, in _resolve_dist
    if dist is None or (dist not in req and replace_conflicting):
  File "/tmp/home/.local/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3204, in __contains__
    return self.specifier.contains(item, prereleases=True)
  File "/tmp/home/.local/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/specifiers.py", line 902, in contains
    item = Version(item)
  File "/tmp/home/.local/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/version.py", line 197, in __init__
    raise InvalidVersion(f"Invalid version: '{version}'")
pkg_resources.extern.packaging.version.InvalidVersion: Invalid version: '1.1.0ubuntu2'
$

I still think the better answer is "don't mix pip with your system install". But this is at least a test case that satisfies my constraint from above.

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (11.6 KiB)

This bug was fixed in the package ubuntu-dev-tools - 0.193ubuntu4~20.04.2

---------------
ubuntu-dev-tools (0.193ubuntu4~20.04.2) focal; urgency=medium

  * ubuntutools/misc.py: back out a change that's incompatible with python
    3.8 to fix a build failure.

ubuntu-dev-tools (0.193ubuntu4~20.04.1) focal; urgency=medium

  * Backport current ubuntu-dev-tools to focal. LP: #2021910.
    - downgrade debhelper-compat dependency to 12 from 13 for focal
      compatibility.
    - this fixes compatibility with newer debootstrap which drops using
      per-Ubuntu-series symlinks for the bootstrap script. LP: #2020530.

ubuntu-dev-tools (0.193ubuntu4) mantic; urgency=medium

  * Remove references to ftpmaster.internal. When this name is resolvable
    but firewalled, syncpackage hangs; and these are tools for developers,
    not for running in an automated context in the DCs where
    ftpmaster.internal is reachable.

ubuntu-dev-tools (0.193ubuntu3) mantic; urgency=medium

  * Excise all references to cdbs (including in test cases)

ubuntu-dev-tools (0.193ubuntu2) lunar; urgency=medium

  [ Vladimir Petko ]
  * Fix a typo introduced in the last upload that made mk-sbuild fail
    unconditionally. LP: #2017177.

ubuntu-dev-tools (0.193ubuntu1) lunar; urgency=medium

  * Set apt preferences for the -proposed pocket in mk-sbuild so that
    it works as expected for lunar and forward.

ubuntu-dev-tools (0.193) unstable; urgency=medium

  * Don't run linters at build time, or in autopkgtests. (Closes: #1031436).

ubuntu-dev-tools (0.192) unstable; urgency=medium

  [ Benjamin Drung ]
  * sponsor-patch:
    + Ignore exit code 1 of debdiff call.
    + Use --skip-patches instead of --no-preparation with dpkg-source -x.
  * Demote bzr/brz from Recommends to Suggests, as nowadays git is the way.
    Closes: #940531
  * Use PEP440 compliant version in setup.py (LP: #1991606)
  * Fix issues found by flake8 on the Python scripts
  * Check Python scripts with flake8 again
  * Format Python code with black and run black during package build
  * Sort Python imports with isort and run isort during package build
  * Replace deprecated optparse with argparse
  * requestbackport: Remove useless loop from locate_package
  * reverse-depends: Restore field titles format
  * test: Fix deprecated return value for test case
  * Fix all errors and warnings found by pylint and implement most refactorings
    and conventions. Run pylint during package build again.
  * Bump Standards-Version to 4.6.2
  * Drop unneeded X-Python3-Version from d/control

  [ Masahiro Yamada ]
  * mk-sbuild:
    + Handle the new location of the Debian bullseye security archive.
      Closes: #1001832; LP: #1955116

  [ Mattia Rizzolo ]
  * requestbackport:
    + Apply patch from Krytarik Raido and Unit 193 to update the template and
      workflow after the new Ubuntu Backport process has been established.
      LP: #1959115

ubuntu-dev-tools (0.191) unstable; urgency=medium

  [ Dan Streetman ]
  * lpapicache:
    + Make sure that login() actually logins and doesn't use cached credentials.
  * ubuntu-build:
    + Fix crash caused by a change in lpapicache that changed the default
      operati...

Changed in ubuntu-dev-tools (Ubuntu Focal):
status: New → Fix Released
Revision history for this message
Steve Langasek (vorlon) wrote : Please test proposed package

Hello wieczyk, or anyone else affected,

Accepted python-debian into kinetic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/python-debian/0.1.46ubuntu1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-kinetic to verification-done-kinetic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-kinetic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

description: updated
Changed in python-debian (Ubuntu Kinetic):
status: Incomplete → Fix Committed
tags: added: verification-needed verification-needed-kinetic
Changed in python-debian (Ubuntu Jammy):
status: New → Fix Committed
tags: added: verification-needed-jammy
Revision history for this message
Steve Langasek (vorlon) wrote :

Hello wieczyk, or anyone else affected,

Accepted python-debian into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/python-debian/0.1.43ubuntu1.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in python-debian (Ubuntu Focal):
status: New → Fix Committed
tags: added: verification-needed-focal
Revision history for this message
Steve Langasek (vorlon) wrote :

Hello wieczyk, or anyone else affected,

Accepted python-debian into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/python-debian/0.1.36ubuntu1.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Steve Langasek (vorlon) wrote :

Hello wieczyk, or anyone else affected,

Accepted distro-info into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/distro-info/1.1ubuntu0.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in distro-info (Ubuntu Jammy):
status: New → Fix Committed
Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (python-debian/0.1.36ubuntu1.1)

All autopkgtests for the newly accepted python-debian (0.1.36ubuntu1.1) for focal have finished running.
The following regressions have been reported in tests triggered by the package:

reprotest/0.7.14 (ppc64el)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/focal/update_excuses.html#python-debian

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (python-debian/0.1.43ubuntu1.1)

All autopkgtests for the newly accepted python-debian (0.1.43ubuntu1.1) for jammy have finished running.
The following regressions have been reported in tests triggered by the package:

devscripts/2.22.1ubuntu1 (amd64, arm64, armhf, ppc64el, s390x)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/jammy/update_excuses.html#python-debian

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (python-debian/0.1.46ubuntu1)

All autopkgtests for the newly accepted python-debian (0.1.46ubuntu1) for kinetic have finished running.
The following regressions have been reported in tests triggered by the package:

devscripts/2.22.2ubuntu3 (amd64, arm64, armhf, ppc64el, s390x)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/kinetic/update_excuses.html#python-debian

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (distro-info/1.1ubuntu0.1)

All autopkgtests for the newly accepted distro-info (1.1ubuntu0.1) for jammy have finished running.
The following regressions have been reported in tests triggered by the package:

devscripts/2.22.1ubuntu1 (amd64, arm64, armhf, ppc64el, s390x)
livecd-rootfs/2.765.20 (amd64)
vagrant-mutate/1.2.0-4.1 (arm64, ppc64el)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/jammy/update_excuses.html#distro-info

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Benjamin Drung (bdrung) wrote :
Revision history for this message
Benjamin Drung (bdrung) wrote :
Revision history for this message
Benjamin Drung (bdrung) wrote :
Revision history for this message
Benjamin Drung (bdrung) wrote :

Verified python-debian on kinetic. To make the test case succeed, dput has to be fixed as well (see SRU debdiff in previous comments).

```
$ schroot-wrapper -c kinetic -p dput,python3-pip,python3-debian -e -p ./dput_1.1.2ubuntu2.1_all.deb
[...]
(kinetic)bdrung@host:~$ pip3 install -U setuptools
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (59.6.0)
Collecting setuptools
  Downloading setuptools-68.0.0-py3-none-any.whl (804 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 804.0/804.0 kB 5.8 MB/s eta 0:00:00
Installing collected packages: setuptools
Successfully installed setuptools-68.0.0
(kinetic)bdrung@host:~$ dput
No package or host has been provided, see dput -h
(kinetic)bdrung@host:~$ dpkg -s dput | grep ^Version
Version: 1.1.2ubuntu2.1
(kinetic)bdrung@host:~$ dpkg -s python3-debian | grep ^Version
Version: 0.1.46ubuntu1
```

Revision history for this message
Benjamin Drung (bdrung) wrote :
Revision history for this message
Benjamin Drung (bdrung) wrote :
Revision history for this message
Benjamin Drung (bdrung) wrote :

Verified python-debian and distro-info on jammy. To make the test case succeed, dput and gpgme1.0 have to be fixed as well (see SRU debdiff in previous comments).

```
$ schroot-wrapper -c jammy -p dput,python3-pip,python3-debian,python3-distro-info -e -p ./dput_1.1.0ubuntu2.1_all.deb -p ./python3-gpg_1.16.0-1.2ubuntu4.1_amd64.deb
[...]
(jammy)bdrung@host:~$ pip3 install -U setuptools
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (59.6.0)
Collecting setuptools
  Downloading setuptools-68.0.0-py3-none-any.whl (804 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 804.0/804.0 KB 4.4 MB/s eta 0:00:00
Installing collected packages: setuptools
Successfully installed setuptools-68.0.0
(jammy)bdrung@host:~$ dput
No package or host has been provided, see dput -h
(jammy)bdrung@host:~$ dpkg -s dput | grep ^Version
Version: 1.1.0ubuntu2.1
(jammy)bdrung@host:~$ dpkg -s python3-gpg | grep ^Version
Version: 1.16.0-1.2ubuntu4.1
(jammy)bdrung@host:~$ dpkg -s python3-debian | grep ^Version
Version: 0.1.43ubuntu1.1
(jammy)bdrung@host:~$ dpkg -s python3-distro-info | grep ^Version
Version: 1.1ubuntu0.1
```

Revision history for this message
Benjamin Drung (bdrung) wrote :

Note: Without the packages from -proposed, dput will complain about the version from python-debian:

```
$ schroot-wrapper -c jammy -p dput,python3-pip,python3-debian,python3-distro-info -p ./dput_1.1.0ubuntu2.1_all.deb -p ./python3-gpg_1.16.0-1.2ubuntu4.1_amd64.deb
[...]
(jammy)bdrung@host:~$ pip3 install -U setuptools
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (59.6.0)
Collecting setuptools
  Downloading setuptools-68.0.0-py3-none-any.whl (804 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 804.0/804.0 KB 6.2 MB/s eta 0:00:00
Installing collected packages: setuptools
Successfully installed setuptools-68.0.0
(jammy)bdrung@host:~$ dput 2>&1 | tail -n 1
pkg_resources.extern.packaging.version.InvalidVersion: Invalid version: '0.1.43ubuntu1'
(jammy)bdrung@host:~$ dpkg -s python3-debian | grep ^Version
Version: 0.1.43ubuntu1
```

Revision history for this message
Benjamin Drung (bdrung) wrote :

Verified python-debian on focal. To make the test case succeed, dput and gpgme1.0 have to be fixed as well (see SRU debdiff in previous comments).

Failing without packages from -proposed:

```
$ schroot-wrapper -c focal -p dput,python3-pip,python3-debian,python3-distro-info -p ./dput_1.0.3ubuntu1.1_all.deb -p ./python3-gpg_1.13.1-7ubuntu2.1_amd64.deb
[...]
(focal)bdrung@host:~$ pip3 install -U setuptools
Collecting setuptools
  Downloading setuptools-68.0.0-py3-none-any.whl (804 kB)
     |████████████████████████████████| 804 kB 2.4 MB/s
Installing collected packages: setuptools
Successfully installed setuptools-68.0.0
(focal)bdrung@host:~$ dput 2>&1 | tail -n 1
pkg_resources.extern.packaging.version.InvalidVersion: Invalid version: '0.1.36ubuntu1'
(focal)bdrung@host:~$ dpkg -s python3-debian | grep ^Version
Version: 0.1.36ubuntu1
```

Working with -proposed:

```
$ schroot-wrapper -c focal -p dput,python3-pip,python3-debian,python3-distro-info -p ./dput_1.0.3ubuntu1.1_all.deb -p ./python3-gpg_1.13.1-7ubuntu2.1_amd64.deb -e
[...]
(focal)bdrung@host:~$ pip3 install -U setuptools
Collecting setuptools
  Downloading setuptools-68.0.0-py3-none-any.whl (804 kB)
     |████████████████████████████████| 804 kB 2.6 MB/s
Installing collected packages: setuptools
Successfully installed setuptools-68.0.0
(focal)bdrung@host:~$ dput
/usr/bin/dput:6: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  from pkg_resources import load_entry_point
No package or host has been provided, see dput -h
(focal)bdrung@host:~$ dpkg -s dput | grep ^Version
Version: 1.0.3ubuntu1.1
(focal)bdrung@host:~$ dpkg -s python3-gpg | grep ^Version
Version: 1.13.1-7ubuntu2.1
(focal)bdrung@host:~$ dpkg -s python3-debian | grep ^Version
Version: 0.1.36ubuntu1.1
(focal)bdrung@host:~$ dpkg -s python3-distro-info | grep ^Version
Version: 0.23ubuntu1
```

tags: added: verification-done verification-done-focal verification-done-jammy verification-done-kinetic
removed: verification-needed verification-needed-focal verification-needed-jammy verification-needed-kinetic
Revision history for this message
Benjamin Drung (bdrung) wrote :

All failing autopkgtest succeeded after a retry except for devscripts/2.22.2ubuntu3, which is a unrelated regression (caused by the release of Debian 12).

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

I triggered a migration-reference/0 run for devscripts. If I understood it correctly, it will also fail, and that will clear the autopkgtests for python-debian.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Sorry, I'm having a hard time understanding how the dput check shows that distro-info and python-debian are fixed. I'm guessing dput ends up importing the other two?

Shouldn't python-debian be a block-proposed-kinetic update, since it's currently unaffected due to its version being still fine regarding PEP440 rules??

In any case, I did a no-change rebuild locally just to add the "build1" suffix to the version and break the PEP440 check, and I think this is a simpler test case:

$ virtualenv --system-site-packages myenv
$ myenv/bin/python -m pip install -U setuptools
$ myenv/bin/python -c "import pkg_resources; pkg_resources.require('@BROKEN-PACKAGE@')"

For example, with my rebuild python-debian:
$ myenv/bin/python -c "import pkg_resources; pkg_resources.require('python-debian')"
<string>:1: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/ubuntu/myenv/lib/python3.10/site-packages/pkg_resources/__init__.py", line 968, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/home/ubuntu/myenv/lib/python3.10/site-packages/pkg_resources/__init__.py", line 829, in resolve
    dist = self._resolve_dist(
  File "/home/ubuntu/myenv/lib/python3.10/site-packages/pkg_resources/__init__.py", line 854, in _resolve_dist
    if dist is None or (dist not in req and replace_conflicting):
  File "/home/ubuntu/myenv/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3205, in __contains__
    return self.specifier.contains(item, prereleases=True)
  File "/home/ubuntu/myenv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/specifiers.py", line 905, in contains
    item = Version(item)
  File "/home/ubuntu/myenv/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/version.py", line 198, in __init__
    raise InvalidVersion(f"Invalid version: '{version}'")
pkg_resources.extern.packaging.version.InvalidVersion: Invalid version: '0.1.46build1'

And with your package in proposed, the crash does not happen:

ubuntu@k-pep440:~$ myenv/bin/python -c "import pkg_resources; pkg_resources.require('python-debian')"
<string>:1: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html

ubuntu@k-pep440:~$ dpkg -s python3-debian | grep ^Version
Version: 0.1.46ubuntu1

The dep8 migration-reference/0 runs for devscripts did fail as expected, but the Pending SRU report hasn't picked that up yet, so I'm no keen on releasing python-debian for kinetic just yet. And for jammy and earlier, we currently have this issue with britney[1] that needs resolving first.

1. https://lists.ubuntu.com/archives/ubuntu-release/2023-June/005670.html

Revision history for this message
Benjamin Drung (bdrung) wrote :

Explanation for the dput test case: When running dput, all installed Python package versions will be checked and it will fail if there is one invalid version.

Yes, python-debian should be a block-proposed-kinetic update (0.1.46 is a valid version).

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

For the dput upload: kinetic, jammy and focal have the same change as the current devel release (mantic), but not the same one as in lunar. Do you plan to adapt the lunar change as well? The mantic change (adopted in f, j, k) explicitly calls out SRUs:

dput (1.1.3ubuntu3) mantic; urgency=medium

  * Make PEP 440 version conversion more robust for SRUs (LP: #1991606)

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

The change in lunar also produces different version strings, could this become a problem for someone release upgrading through lunar?

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

So far, we have these implementations:

(a) python-debian and dput other than the lunar one (seems the more robust implementation?):

1.2.3ubuntu4~ppa1 -> 1.2.3+ubuntu4.ppa1

(b) lunar's dput:

1.2.3ubuntu4~ppa1 -> 1.2.3.post4~ppa1

(c) distro-info:

1.2.3ubuntu4~ppa1 -> 1.2.3+ubuntu4~ppa1

How about we standardize on one? What do you think?

Revision history for this message
Benjamin Drung (bdrung) wrote :

You are right, I should apply the fix for lunar as well, because a SRU or security update would produce a malformed version (1.2.3.post4~ppa1 and 1.2.3.post4.1 are both invalid). The improved conversion will bail out in case it would produce a malformed version.

Revision history for this message
Benjamin Drung (bdrung) wrote :

Here is the debdiff for the lunar dput SRU.

Changed in devscripts (Ubuntu Lunar):
status: New → Fix Released
Changed in distro-info (Ubuntu Lunar):
status: New → Fix Released
no longer affects: drslib (Ubuntu Lunar)
no longer affects: distro-info (Ubuntu Lunar)
no longer affects: devscripts (Ubuntu Lunar)
no longer affects: duecredit (Ubuntu Lunar)
no longer affects: gpgme1.0 (Ubuntu Lunar)
no longer affects: python-debian (Ubuntu Lunar)
no longer affects: reportbug (Ubuntu Lunar)
no longer affects: ubuntu-dev-tools (Ubuntu Lunar)
no longer affects: update-manager (Ubuntu Lunar)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dput - 1.1.3ubuntu3

---------------
dput (1.1.3ubuntu3) mantic; urgency=medium

  * Make PEP 440 version conversion more robust for SRUs (LP: #1991606)

 -- Benjamin Drung <email address hidden> Thu, 29 Jun 2023 16:09:30 +0200

Changed in dput (Ubuntu):
status: New → Fix Released
Revision history for this message
Andreas Hasenack (ahasenack) wrote : Please test proposed package

Hello wieczyk, or anyone else affected,

Accepted dput into lunar-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/dput/1.1.3ubuntu2.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-lunar to verification-done-lunar. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-lunar. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in dput (Ubuntu Lunar):
status: New → Fix Committed
tags: added: verification-needed verification-needed-lunar
removed: verification-done
Changed in dput (Ubuntu Kinetic):
status: New → Fix Committed
tags: added: verification-needed-kinetic
removed: verification-done-kinetic
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Hello wieczyk, or anyone else affected,

Accepted dput into kinetic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/dput/1.1.2ubuntu2.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-kinetic to verification-done-kinetic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-kinetic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in dput (Ubuntu Jammy):
status: New → Fix Committed
tags: added: verification-needed-jammy
removed: verification-done-jammy
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Hello wieczyk, or anyone else affected,

Accepted dput into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/dput/1.1.0ubuntu2.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (dput/1.1.0ubuntu2.1)

All autopkgtests for the newly accepted dput (1.1.0ubuntu2.1) for jammy have finished running.
The following regressions have been reported in tests triggered by the package:

dgit/blacklisted (s390x)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/jammy/update_excuses.html#dput

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (dput/1.1.3ubuntu2.1)

All autopkgtests for the newly accepted dput (1.1.3ubuntu2.1) for lunar have finished running.
The following regressions have been reported in tests triggered by the package:

dgit/blacklisted (s390x)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/lunar/update_excuses.html#dput

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (dput/1.1.2ubuntu2.1)

All autopkgtests for the newly accepted dput (1.1.2ubuntu2.1) for kinetic have finished running.
The following regressions have been reported in tests triggered by the package:

dgit/blacklisted (s390x)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/kinetic/update_excuses.html#dput

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Andreas Hasenack (ahasenack) wrote : Please test proposed package

Hello wieczyk, or anyone else affected,

Accepted dput into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/dput/1.0.3ubuntu1.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in dput (Ubuntu Focal):
status: New → Fix Committed
tags: added: verification-needed-focal
removed: verification-done-focal
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello wieczyk, or anyone else affected,

Accepted gpgme1.0 into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/gpgme1.0/1.13.1-7ubuntu2.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in gpgme1.0 (Ubuntu Focal):
status: New → Fix Committed
Changed in gpgme1.0 (Ubuntu Jammy):
status: New → Fix Committed
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello wieczyk, or anyone else affected,

Accepted gpgme1.0 into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/gpgme1.0/1.16.0-1.2ubuntu4.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (dput/1.0.3ubuntu1.1)

All autopkgtests for the newly accepted dput (1.0.3ubuntu1.1) for focal have finished running.
The following regressions have been reported in tests triggered by the package:

dgit/9.10 (armhf)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/focal/update_excuses.html#dput

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (gpgme1.0/1.16.0-1.2ubuntu4.1)

All autopkgtests for the newly accepted gpgme1.0 (1.16.0-1.2ubuntu4.1) for jammy have finished running.
The following regressions have been reported in tests triggered by the package:

flatpak/1.12.7-1 (arm64)
ros-ros-comm/blacklisted (s390x)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/jammy/update_excuses.html#gpgme1.0

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Steve Langasek (vorlon) wrote : Please test proposed package

Hello wieczyk, or anyone else affected,

Accepted distro-info into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/distro-info/0.23ubuntu1.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in distro-info (Ubuntu Focal):
status: New → Fix Committed
Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (distro-info/0.23ubuntu1.1)

All autopkgtests for the newly accepted distro-info (0.23ubuntu1.1) for focal have finished running.
The following regressions have been reported in tests triggered by the package:

autopkgtest/5.11ubuntu1.1 (amd64)
update-manager/1:20.04.10.11 (armhf)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/focal/update_excuses.html#distro-info

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Benjamin Drung (bdrung) wrote :
Download full text (3.7 KiB)

Verified distro-info, dput, gpgme1.0, and python-debian with the test plan from vorlon on lunar, kinetic, jammy, and focal. Detailed logs:

Verification for dput on lunar:

```
$ schroot-wrapper -c lunar -p dput,python3-pip -e
[...]
(lunar)bdrung@host:~$ pip3 install -U setuptools --break-system-packages
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (66.1.1)
Collecting setuptools
  Downloading setuptools-68.0.0-py3-none-any.whl (804 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 804.0/804.0 kB 8.3 MB/s eta 0:00:00
Installing collected packages: setuptools
Successfully installed setuptools-68.0.0
(lunar)bdrung@host:~$ dput
No package or host has been provided, see dput -h
(lunar)bdrung@host:~$ dpkg -s dput | grep ^Version
Version: 1.1.3ubuntu2.1
```

Verification for dput and python-debian on kinetic:

```
$ schroot-wrapper -c kinetic -p dput,python3-pip,python3-debian -e
[...]
(kinetic)bdrung@host:~$ pip3 install -U setuptools
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (59.6.0)
Collecting setuptools
  Downloading setuptools-68.0.0-py3-none-any.whl (804 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 804.0/804.0 kB 3.9 MB/s eta 0:00:00
Installing collected packages: setuptools
Successfully installed setuptools-68.0.0
(kinetic)bdrung@host:~$ dput
No package or host has been provided, see dput -h
(kinetic)bdrung@host:~$ dpkg -s dput | grep ^Version
Version: 1.1.2ubuntu2.1
(kinetic)bdrung@host:~$ dpkg -s python3-debian | grep ^Version
Version: 0.1.46ubuntu1
```

Verification for distro-info, dput, gpgme1.0, and python-debian on jammy:

```
$ schroot-wrapper -c jammy -p dput,python3-pip,python3-debian,python3-distro-info -e
[...]
(jammy)bdrung@host:~$ pip3 install -U setuptools
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (59.6.0)
Collecting setuptools
  Downloading setuptools-68.0.0-py3-none-any.whl (804 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 804.0/804.0 KB 8.0 MB/s eta 0:00:00
Installing collected packages: setuptools
Successfully installed setuptools-68.0.0
(jammy)bdrung@host:~$ dput
No package or host has been provided, see dput -h
(jammy)bdrung@host:~$ dpkg -s python3-distro-info | grep ^Version
Version: 1.1ubuntu0.1
(jammy)bdrung@host:~$ dpkg -s dput | grep ^Version
Version: 1.1.0ubuntu2.1
(jammy)bdrung@host:~$ dpkg -s python3-gpg | grep ^Version
Version: 1.16.0-1.2ubuntu4.1
(jammy)bdrung@host:~$ dpkg -s python3-debian | grep ^Version
Version: 0.1.43ubuntu1.1
```

Verification for distro-info, dput, gpgme1.0, and python-debian on focal:

```
$ schroot-wrapper -c focal -p dput,python3-pip,python3-debian,python3-distro-info -e
[...]
(focal)bdrung@host:~$ pip3 install -U setuptools
Collecting setuptools
  Downloading setuptools-68.0.0-py3-none-any.whl (804 kB)
     |████████████████████████████████| 804 kB 2.1 MB/s
Installing collected packages: setuptools
Successfully installed setuptools-68.0.0
(focal)b...

Read more...

tags: added: verification-done verification-done-focal verification-done-jammy verification-done-kinetic verification-done-lunar
removed: verification-needed verification-needed-focal verification-needed-jammy verification-needed-kinetic verification-needed-lunar
Revision history for this message
Benjamin Drung (bdrung) wrote :

All failing autopkgtest look unrelated to this SRU. So I triggered migration-reference/0 for some of them and retried others.

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (gpgme1.0/1.13.1-7ubuntu2.1)

All autopkgtests for the newly accepted gpgme1.0 (1.13.1-7ubuntu2.1) for focal have finished running.
The following regressions have been reported in tests triggered by the package:

ros-ros-comm/blacklisted (s390x)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/focal/update_excuses.html#gpgme1.0

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Benjamin Drung (bdrung) wrote :

Rechecked autopkgtest results for distro-info, dput, gpgme1.0, and python-debian:

* focal: distro-info, dput, gpgme1.0, and python-debian okay
* jammy: dput and python-debian okay
* kinetic: dput and python-debian okay

* jammy:
  - distro-info: livecd-rootfs/2.765.20 regression on amd64
  - gpgme1.0: ros-ros-comm/blacklisted regression on s390x
* lunar:
  - dput: dgit/blacklisted regression on s390x

The ros-ros-comm/blacklisted and dgit/blacklisted failures are no regressions. I retried livecd-rootfs/2.765.20.

Revision history for this message
Benjamin Drung (bdrung) wrote :

The livecd-rootfs/2.765.20 regression is not caused by distro-info: gzip: stdout: No space left on device

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dput - 1.1.3ubuntu2.1

---------------
dput (1.1.3ubuntu2.1) lunar; urgency=medium

  * Make PEP 440 version conversion more robust for SRUs (LP: #1991606)

 -- Benjamin Drung <email address hidden> Sat, 01 Jul 2023 01:49:41 +0200

Changed in dput (Ubuntu Lunar):
status: Fix Committed → Fix Released
Revision history for this message
Andreas Hasenack (ahasenack) wrote : Update Released

The verification of the Stable Release Update for dput has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dput - 1.1.2ubuntu2.1

---------------
dput (1.1.2ubuntu2.1) kinetic; urgency=medium

  * Make versions with Ubuntu suffixes compliant with PEP 440 (LP: #1991606)

 -- Benjamin Drung <email address hidden> Thu, 29 Jun 2023 14:54:30 +0200

Changed in dput (Ubuntu Kinetic):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dput - 1.1.0ubuntu2.1

---------------
dput (1.1.0ubuntu2.1) jammy; urgency=medium

  * Make versions with Ubuntu suffixes compliant with PEP 440 (LP: #1991606)

 -- Benjamin Drung <email address hidden> Thu, 29 Jun 2023 15:45:46 +0200

Changed in dput (Ubuntu Jammy):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dput - 1.0.3ubuntu1.1

---------------
dput (1.0.3ubuntu1.1) focal; urgency=medium

  * Make versions with Ubuntu suffixes compliant with PEP 440 (LP: #1991606)

 -- Benjamin Drung <email address hidden> Thu, 29 Jun 2023 16:58:12 +0200

Changed in dput (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package python-debian - 0.1.46ubuntu1

---------------
python-debian (0.1.46ubuntu1) kinetic; urgency=medium

  * Make Python version PEP440 compliant (LP: #1991606)

 -- Benjamin Drung <email address hidden> Sat, 27 May 2023 01:51:02 +0200

Changed in python-debian (Ubuntu Kinetic):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package python-debian - 0.1.43ubuntu1.1

---------------
python-debian (0.1.43ubuntu1.1) jammy; urgency=medium

  * Make Python version PEP440 compliant (LP: #1991606)

 -- Benjamin Drung <email address hidden> Tue, 25 Apr 2023 18:25:44 +0200

Changed in python-debian (Ubuntu Jammy):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package python-debian - 0.1.36ubuntu1.1

---------------
python-debian (0.1.36ubuntu1.1) focal; urgency=medium

  * Make Python version PEP440 compliant (LP: #1991606)

 -- Benjamin Drung <email address hidden> Tue, 25 Apr 2023 20:39:33 +0200

Changed in python-debian (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

> The livecd-rootfs/2.765.20 regression is not caused by distro-info: gzip: stdout: No space left on device

I triggered a migation-reference/0 and it failed too, so the error should clear soon.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package distro-info - 1.1ubuntu0.1

---------------
distro-info (1.1ubuntu0.1) jammy; urgency=medium

  * python: Use PEP440 compliant version in setup.py (LP: #1991606)

 -- Benjamin Drung <email address hidden> Tue, 25 Apr 2023 15:30:42 +0200

Changed in distro-info (Ubuntu Jammy):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package distro-info - 0.23ubuntu1.1

---------------
distro-info (0.23ubuntu1.1) focal; urgency=medium

  * python: Use PEP440 compliant version in setup.py (LP: #1991606)
  * Update tests to match old date adjustments in distro-info-data 0.46.

 -- Benjamin Drung <email address hidden> Tue, 25 Apr 2023 15:57:38 +0200

Changed in distro-info (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gpgme1.0 - 1.16.0-1.2ubuntu4.1

---------------
gpgme1.0 (1.16.0-1.2ubuntu4.1) jammy; urgency=medium

  * avoid -unknown suffix (Closes: #1004742, LP: #1991606)

 -- Benjamin Drung <email address hidden> Thu, 29 Jun 2023 18:37:08 +0200

Changed in gpgme1.0 (Ubuntu Jammy):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gpgme1.0 - 1.13.1-7ubuntu2.1

---------------
gpgme1.0 (1.13.1-7ubuntu2.1) focal; urgency=medium

  * avoid -unknown suffix (Closes: #1004742, LP: #1991606)

 -- Benjamin Drung <email address hidden> Thu, 29 Jun 2023 18:55:04 +0200

Changed in gpgme1.0 (Ubuntu Focal):
status: Fix Committed → Fix Released
Benjamin Drung (bdrung)
tags: removed: foundations-todo
Revision history for this message
Utkarsh Gupta (utkarsh) wrote :

Ubuntu 22.10 (Kinetic Kudu) has reached end of life, so this bug will not be fixed for that specific release.

Changed in reportbug (Ubuntu Kinetic):
status: New → Won't Fix
Changed in devscripts (Ubuntu Kinetic):
status: New → Won't Fix
Changed in drslib (Ubuntu Kinetic):
status: New → Won't Fix
Changed in duecredit (Ubuntu Kinetic):
status: New → Won't Fix
Changed in update-manager (Ubuntu Kinetic):
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.