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
      operation mode from authenticated to anonymous.  LP: #1984113

  [ Stefano Rivera ]
  * backportpackage:
    + Add support for lsb-release-minimal, which doesn't have a Python module.
      Thanks to Gioele Barabucci for the patch.  Closes: #1020901; LP: #1991828

  [ Mattia Rizzolo ]
  * ubuntutools/archive.py:
    + Fix operation of SourcePackage._source_urls() (as used, for example, in
      SourcePackage.pull() called by backportpackage) to also work when the
      class is instantiated with a URL as .dsc.  Fixes regression from v0.184.
      Thanks to Unit 193 for the initial patch.

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

  [ Dimitri John Ledkov ]
  * mk-sbuild:
    + For ubuntu, fix the debootstrap script to "gutsy", so to allow using
      mk-sbuild for newer releases without requiring a newer debootstrap.

  [ Gianfranco Costamagna ]
  * pbuilder-dist: fix typo kernal/kernel

  [ Benjamin Drung ]
  * Add missing files to debian/copyright
  * Bump Standards-Version to 4.6.1

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

  [ Heinrich Schuchardt ]
  * mk-sbuild: don't require pkg-config-<target>. LP: #1966881.

  [ Tobias Heider ]
  * mk-sbuild: document SCHROOT_TYPE zfs in the manpage.

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

  [ Mattia Rizzolo ]
  * archive.py:
    + Support Python 3.6 by calling functools.lru_cache() as a function, and
      avoid using @functools.cached_property (both new in Python 3.8).

  [ Graham Inggs ]
  * lpapicache.py:
    + Use collections.abc.Callable instead of the long deprecated
      collections.Callable.  LP: #1959541

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

  [ Paride Legovini ]
  * mk-sbuild:
    + Add support for zfs-snapshot schroots.  LP: #1945349

  [ Mattia Rizzolo ]
  * mk-sbuild:
    + Apply patch from Peter Pentchev to avoid a broken log message.
      Closes: #968316
  * backportpackage:
    + Support backporting to Debian releases.  Closes: #776442; LP: #974132
    + Fix the guessing algorithm for the target release:
      - for Debian: pick the current stable release.
      - for Ubuntu: pick the current LTS release.

  [ Unit 193 ]
  * backportpackage:
    + Change the generated Ubuntu version following the new policy from the
      Backporters team.

  [ Dan Streetman ]
  * misc:
    + Refactor download progress bar code.
    + Save files that have Content-Encoding correctly,
      such as the changes file from upload queue packages.
  * pullpkg:
    + Extract source packages pulled from upload queue.
  * hugdaylist:
    + Remove long unused and non-working script.

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

  * Replace nose with pytest (see: #997758).

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

  [ Alex Murray ]
  * ubuntutools/archive.py:
    + Fix crash due to PersonalPackageArchiveSourcePackage() returning the
      wrong object when requesting a download url.  LP: #1938659

  [ Krytarik Raido ]
  * merge-changelog: Fix setting of newlines.

  [ Dan Streetman ]
  * misc: download to tmp file, to avoid leftover 0-size file on error
  * misc: handle ConnectionError as NotFoundError
  * archive: use proper component source packages sometimes have different
    component than their bpphs, so use the correct component when downloading
    binaries (LP: #1943819)
  * misc: fix flake8 complaints

  [ Stefano Rivera ]
  * Bump Standards-Version to 4.6.0, no changes needed.

ubuntu-dev-tools (0.184) experimental; urgency=medium

  [ Dan Streetman ]
  * Drop never packaged ubuntu-archive-assistant.
  * Add support for downloading from private PPAs:
    + ubuntutools/misc:
      - Refactor to use Pathlib and f-strings.
      - Refactor to use requests instead of urllib (for the earier auth)
    + ubuntutools/archive:
      - Refactor to use Pathlib.
      - Add support for the special URLs of private PPAs.
  * Don't use existing file without verifying their checksum.
  * tests: recreate the test package files on demand.
  * Remove no longer used dependencies on python3-termcolor and python3-yaml

  [ Mattia Rizzolo ]
  * pbuilder-dist: use shutil.which instead of
    distutils.spawn.find_executable() to save a dependency.  LP: #1936697
  * d/control:
    + Drop redundant Recommends that are already in Depends.
    + Bump debhelper compat level to 13.

  [ Marco Trevisan (Treviño) ]
  * mk-sbuild:
    + Enable debugging in the finish.sh script if --debug is used.
    + Add support to configure ccache for each schroot.

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

  [ Dan Streetman ]
  * pbuilder-dist: include missing import

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

  [ Dan Streetman ]
  * syncpackage, ubuntutools/archive.py:
    Don't save dsc file to disk until requested with pull()
    (LP: #1928946)
  * syncpackage:
    Don't login to LP if using --simulate
  * d/t/control: Add minimum flake8 version
    The --extend-exclude parameter is first available in flake8 3.8.0
  * ubuntutools/archive.py: Fix flake8 test failure
  * d/rules, d/control: Override build tests to use flake8 and nosetests3

  [ Stefano Rivera ]
  * Respect nocheck in DEB_BUILD_OPTIONS, again.

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

  [ Logan Rosen ]
  * Fix a couple of remaining issues from the py2→py3 move.

  [ Krytarik Raido ]
  * Fix typo in the logging configuration.

  [ Dan Streetman ]
  * pbuilder: Handle debian change from /updates to -security.  LP: #1916633
    Starting in bullseye, the security suite is -security instead of /updates.
  * backportpackage: Don't use SourcePackage() directly.  Closes: #983854
    As the warning from 2010 says, don't use this class directly.

  [ Balint Reczey ]
  * mk-sbuild:
    + Use eatmydata only with the dpkg command.
      Eatmydata wrapping the build as well could break tests.
      Thanks to Julian Andres Klode for suggesting this solution
    + Use eatmydata by default.
      Since only the dpkg is wrapped in eatmydata it should be the safe and
      fast default. Eatmydata is widely used around apt thus it should be a
      serious bug if a package can't be installed with eatmydata in use.

  [ Marco Trevisan (Treviño) ]
  * doc/mk-sbuild.1: Add documentation for --debootstrap-proxy and
    DEBOOTSTRAP_PROXY.  LP: #1926166

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

  * Drop coverage in the autopkgtest, as python3-nose-cov is not in
Debian.

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

  [ Stefano Rivera ]
  * archive.py: Evaluate the filter() fixing Debian source history queries
    LP: #1913330

  [ Dan Streetman ]
  * allow running tests using tox
  * add autopkgtests to run tests
  * simplify/combine archive download functions
  * add support for private ppa by logging into lp
  * improve support for pull-uca-*
  * fix logging/printing output to stdout/stderr

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

  [ Dan Streetman ]
  * pullpkg: also catch and deal with InvalidPullValueError.  LP: #1908770

  [ Mattia Rizzolo ]
  * d/control: Bump Standards-Version to 4.5.1, no changes needed.
  * ubuntu-archive-assistant/mir: Fix a SyntaxWarning.
  * backportpackage:
    + Add a -e/--message option to change the default "No-change"
      in "No-change backport to DIST".
      Thanks to Unit 193 for the initial patch.

  [ You-Sheng Yang ]
  * Add a dependency on tzdata, used by mk-sbuild.

  [ Logan Rosen ]
  * import-bug-from-debian:
    + Limit bug description length to 50k chars to support Launchpad's limits.
      LP: #1193941

  [ Dimitri John Ledkov ]
  * pullpkg.py: fix --mirror option parsing.
  * config.py: add UBUNTU_INTERNAL_MIRROR option, for launchpad internal
    mirror.
  * archive.py: use Regular, Ports, and Internal mirrors by default. Thus
    enabling pull-lp-debs to work with ports architectures, and inside
    launchpad builds too.

  [ Michael R. Crusoe ]
  * pbuilder-dist:
    + Use `arch-test` to determine whether the current system can run binaries
      of the requested architecture, instead of hardcoding an ever-growing
      list of whether something requires qemu or not.  Add the "arch-test"
      package to Recommends to that effect.

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

  [ Dan Streetman ]
  * Verify checksums for downloaded binary files
  * pullpkg: support pulling from Ubuntu upload queues

  [ Mattia Rizzolo ]
  * ubuntu-build:
    + Add support for riscv64.
  * syncpackge:
    + Fix the new flake8 E741.  Closes: #963310

  [ Bryce Harrington ]
  * update-maintainer:
    + Try to recurse upwards to find a valid debian directory.  LP: #1885233

 -- Steve Langasek <steve.langa...@ubuntu.com>  Wed, 07 Jun 2023
05:00:09 +0000

** Changed in: ubuntu-dev-tools (Ubuntu Focal)
       Status: New => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to gpgme1.0 in Ubuntu.
https://bugs.launchpad.net/bugs/1991606

Title:
  Invalid PEP440 package version breaking setuptools >= 66

Status in devscripts package in Ubuntu:
  Fix Released
Status in distro-info package in Ubuntu:
  Fix Released
Status in drslib package in Ubuntu:
  New
Status in duecredit package in Ubuntu:
  Fix Released
Status in gpgme1.0 package in Ubuntu:
  Fix Released
Status in python-debian package in Ubuntu:
  Fix Released
Status in reportbug package in Ubuntu:
  Fix Released
Status in ubuntu-dev-tools package in Ubuntu:
  Fix Released
Status in update-manager package in Ubuntu:
  Fix Released
Status in devscripts source package in Bionic:
  New
Status in distro-info source package in Bionic:
  New
Status in drslib source package in Bionic:
  Invalid
Status in duecredit source package in Bionic:
  New
Status in gpgme1.0 source package in Bionic:
  New
Status in python-debian source package in Bionic:
  Invalid
Status in reportbug source package in Bionic:
  New
Status in ubuntu-dev-tools source package in Bionic:
  New
Status in update-manager source package in Bionic:
  New
Status in devscripts source package in Focal:
  New
Status in distro-info source package in Focal:
  New
Status in drslib source package in Focal:
  New
Status in duecredit source package in Focal:
  New
Status in gpgme1.0 source package in Focal:
  New
Status in python-debian source package in Focal:
  New
Status in reportbug source package in Focal:
  New
Status in ubuntu-dev-tools source package in Focal:
  Fix Released
Status in update-manager source package in Focal:
  New
Status in devscripts source package in Jammy:
  New
Status in distro-info source package in Jammy:
  New
Status in drslib source package in Jammy:
  New
Status in duecredit source package in Jammy:
  New
Status in gpgme1.0 source package in Jammy:
  New
Status in python-debian source package in Jammy:
  New
Status in reportbug source package in Jammy:
  New
Status in ubuntu-dev-tools source package in Jammy:
  Invalid
Status in update-manager source package in Jammy:
  New
Status in devscripts source package in Kinetic:
  New
Status in distro-info source package in Kinetic:
  Fix Released
Status in drslib source package in Kinetic:
  New
Status in duecredit source package in Kinetic:
  New
Status in gpgme1.0 source package in Kinetic:
  Fix Released
Status in python-debian source package in Kinetic:
  Incomplete
Status in reportbug source package in Kinetic:
  New
Status in ubuntu-dev-tools source package in Kinetic:
  Invalid
Status in update-manager source package in Kinetic:
  New

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. Install the affected package and pip plus python3-dev, gcc, libfuzzy-dev:
  ```
  sudo apt update
  sudo apt install python3-dev python3-pip python3-distro-info python3-debian 
libfuzzy-dev gcc -y
  ```
  2. Install setuptools 67.5 **as normal user** using pip:
  ```
  python3 -m pip install setuptools==67.5.0
  ```
  3. Then try to install ssdeep with pip using that setuptools version:
  ```
  python3 -m pip install ssdeep
  ```

  The installation should succeed with the fixed package, but it will
  fail with InvalidVersion with the affected package versions installed.

  Commands for Benjamin's local testing with schroot:
  ```
  schroot-wrapper -p 
python3-dev,python3-pip,python3-distro-info,python3-debian,libfuzzy-dev,gcc -c 
$distro
  python3 -m pip install setuptools==67.5.0
  python3 -m pip install ssdeep
  ```

  [ 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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/devscripts/+bug/1991606/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to