Bug 2183380 - python-gpiozero fails to build with the latest setuptools version
Summary: python-gpiozero fails to build with the latest setuptools version
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-gpiozero
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Miro Hrončok
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 2144132
TreeView+ depends on / blocked
 
Reported: 2023-03-31 00:11 UTC by Charalampos Stratakis
Modified: 2023-04-03 07:04 UTC (History)
2 users (show)

Fixed In Version: python-gpiozero-1.6.2-8.fc39
Clone Of:
Environment:
Last Closed: 2023-04-03 07:04:11 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Charalampos Stratakis 2023-03-31 00:11:12 UTC
python-gpiozero fails to build with the latest setuptools version.

This report is automated and not very verbose, but we'll try to get back here with details.

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/cstratak/setuptools-67.5.1/fedora-rawhide-x86_64/05723219-python-gpiozero/

For all our attempts to build python-gpiozero with the latest setuptools, see:
https://copr.fedorainfracloud.org/coprs/cstratak/setuptools-67.5.1/package/python-gpiozero/

Let us know here if you have any questions.

Comment 1 Miro Hrončok 2023-03-31 09:25:13 UTC
Traceback (most recent call last):
  File "/builddir/build/BUILD/gpiozero-1.6.2/setup.py", line 139, in <module>
    main()
  File "/builddir/build/BUILD/gpiozero-1.6.2/setup.py", line 118, in main
    setup(
  File "/usr/lib/python3.11/site-packages/setuptools/__init__.py", line 108, in setup
    return distutils.core.setup(**attrs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
    return run_commands(dist)
           ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
    dist.run_commands()
  File "/usr/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.11/site-packages/setuptools/dist.py", line 1221, in run_command
    super().run_command(command)
  File "/usr/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
    cmd_obj.run()
  File "/usr/lib/python3.11/site-packages/setuptools/command/install.py", line 68, in run
    return orig.install.run(self)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/setuptools/_distutils/command/install.py", line 708, in run
    self.run_command(cmd_name)
  File "/usr/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python3.11/site-packages/setuptools/dist.py", line 1221, in run_command
    super().run_command(command)
  File "/usr/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
    cmd_obj.run()
  File "/usr/lib/python3.11/site-packages/setuptools/command/install_scripts.py", line 26, in run
    self._install_ep_scripts()
  File "/usr/lib/python3.11/site-packages/setuptools/command/install_scripts.py", line 30, in _install_ep_scripts
    from pkg_resources import Distribution, PathMetadata
  File "/usr/lib/python3.11/site-packages/pkg_resources/__init__.py", line 3323, in <module>
    @_call_aside
     ^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkg_resources/__init__.py", line 3298, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3.11/site-packages/pkg_resources/__init__.py", line 3336, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkg_resources/__init__.py", line 629, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3.11/site-packages/pkg_resources/__init__.py", line 966, in require
    needed = self.resolve(parse_requirements(requirements))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkg_resources/__init__.py", line 827, in resolve
    dist = self._resolve_dist(
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkg_resources/__init__.py", line 868, in _resolve_dist
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'colorzero' distribution was not found and is required by the application
error: Bad exit status from /var/tmp/rpm-tmp.pOlV2v (%install)

Comment 2 Miro Hrončok 2023-03-31 09:27:58 UTC
Observations:

 - python3-gpiozero requires python3.11dist(colorzero) on runtime.
 - python-gpiozero uses the old Python RPM macros and does not BuildRequire colorzero

Apparently, setuptools now requires runtime deps to create console_strip entrypoints, which is quite a change :/

A solution is to add the BR or to convert the package to pyproject-rpm-macros. I'll do both.

Comment 4 Fedora Update System 2023-04-03 07:03:05 UTC
FEDORA-2023-425f64369d has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2023-425f64369d

Comment 5 Fedora Update System 2023-04-03 07:04:11 UTC
FEDORA-2023-425f64369d has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.