Bug 2183380

Summary: python-gpiozero fails to build with the latest setuptools version
Product: [Fedora] Fedora Reporter: Charalampos Stratakis <cstratak>
Component: python-gpiozeroAssignee: Miro Hrončok <mhroncok>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: mhroncok, python-packagers-sig
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-gpiozero-1.6.2-8.fc39 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-04-03 07:04:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2144132    

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.