Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 2223227

Summary: Please update setuptools to support PEP 621
Product: Red Hat Enterprise Linux 9 Reporter: Orion Poplawski <orion>
Component: python-setuptoolsAssignee: Python Maintainers <python-maint>
Status: CLOSED WONTFIX QA Contact: RHEL CS Apps Subsystem QE <rhel-cs-apps-subsystem-qe>
Severity: high Docs Contact:
Priority: unspecified    
Version: 9.2CC: cstratak, mhroncok, msaulnier, pviktori
Target Milestone: rcFlags: pm-rhel: mirror+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-08-23 12:22:20 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:

Description Orion Poplawski 2023-07-16 22:42:13 UTC
Description of problem:

When trying to build newer python packages for EPEL9, I'm seeing errors like:

+ /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/uc.micro-py-1.0.2/pyproject-wheeldir -x test
Handling setuptools from build-system.requires
Requirement satisfied: setuptools
   (installed: setuptools 53.0.0)
HOOK STDOUT: running egg_info
HOOK STDOUT: creating UNKNOWN.egg-info
HOOK STDOUT: writing UNKNOWN.egg-info/PKG-INFO
HOOK STDOUT: writing dependency_links to UNKNOWN.egg-info/dependency_links.txt
HOOK STDOUT: writing top-level names to UNKNOWN.egg-info/top_level.txt
HOOK STDOUT: writing manifest file 'UNKNOWN.egg-info/SOURCES.txt'
HOOK STDOUT: reading manifest file 'UNKNOWN.egg-info/SOURCES.txt'
HOOK STDOUT: reading manifest template 'MANIFEST.in'
HOOK STDOUT: adding license file 'LICENSE'
HOOK STDOUT: writing manifest file 'UNKNOWN.egg-info/SOURCES.txt'
...
+ /usr/bin/python3 /usr/lib/rpm/redhat/pyproject_save_files.py --output-files /builddir/build/BUILD/python-uc-micro-py-1.0.2-2.el9.noarch-pyproject-files --output-modules /builddir/build/BUILD/python-uc-micro-py-1.0.2-2.el9.noarch-pyproject-modules --buildroot /builddir/build/BUILDROOT/python-uc-micro-py-1.0.2-2.el9.noarch --sitelib /usr/lib/python3.9/site-packages --sitearch /usr/lib64/python3.9/site-packages --python-version 3.9 --pyproject-record /builddir/build/BUILD/python-uc-micro-py-1.0.2-2.el9.noarch-pyproject-record --prefix /usr uc_micro
Traceback (most recent call last):
  File "/usr/lib/rpm/redhat/pyproject_save_files.py", line 775, in <module>
    main(cli_args)
  File "/usr/lib/rpm/redhat/pyproject_save_files.py", line 730, in main
    file_section, module_names = pyproject_save_files_and_modules(
  File "/usr/lib/rpm/redhat/pyproject_save_files.py", line 720, in pyproject_save_files_and_modules
    generate_file_list(paths_dict, globs, include_auto)
  File "/usr/lib/rpm/redhat/pyproject_save_files.py", line 534, in generate_file_list
    raise ValueError(f"Globs did not match any module: {missed_text}")
ValueError: Globs did not match any module: uc_micro

Version-Release number of selected component (if applicable):
python3-setuptools-53.0.0-12.el9.noarch

Comment 1 Miro Hrončok 2023-07-17 07:09:54 UTC
What bothers me about this is that setuptools will happily package such project as UNKNOWN-0.0.0 instead of failing out right.

Comment 2 Miro Hrončok 2023-07-17 07:14:22 UTC
As far as the requested update goes, we have seen many breaking cxhnages when updating setuptools in Fedora. I am quite pessimistic about rebasing from setuptools 53 to setuptools 61. I thionk this would require a backport. I have not accessed a possibility or cost of such backport.

Comment 3 Petr Viktorin (pviktori) 2023-08-09 12:26:23 UTC
At first glance, it looks like packaging a newer version of setuptools as a new alternative package might be the best way to go.

Comment 4 Orion Poplawski 2023-08-13 22:56:29 UTC
As long as this is not done as a dnf module - EPEL cannot build against module provided packages.

Comment 5 Petr Viktorin (pviktori) 2023-08-23 12:22:20 UTC
Unfortunately we can't support an alternate version of setuptools in RHEL without business justification.
This is major new functionality, so we can't backport or rebase either.

A new package in EPEL looks like the only possible solution.

Comment 6 Miro Hrončok 2023-08-26 10:27:33 UTC
> A new package in EPEL looks like the only possible solution.

For the record, a conflicting package with an alternate version of something packaged in RHEL is not allowed in EPEL (by EPEL's own policy). https://docs.fedoraproject.org/en-US/epel/epel-policy/#policy_for_conflicting_packages