No edit summary |
|||
Line 81: | Line 81: | ||
--> | --> | ||
From [ | From [https://docs.fedoraproject.org/en-US/packaging-guidelines/#buildrequires Fedora Packaging Guidelines]: ''It is important that your package list all necessary build dependencies using the BuildRequires: tag.'' As our testing showed, this is not true for many packages. Some of them can successfully build either with or without setuptools (they use try-except import and fallback to distutils from the standard library). Such packages are especially dangerous when not BuildRequiring setuptools -- they can produce different results depending on the presence of setuptools: either an .egg-info metadata directory (w/setuptools) or .egg-info text file (w/distutils). RPM has troubles when [https://docs.fedoraproject.org/en-US/packaging-guidelines/Directory_Replacement/ upgrading directories to files]. | ||
== Scope == | == Scope == |
Revision as of 08:49, 11 March 2021
python3.10 won't pull in setuptools by default in rpmbuild
Summary
python3.10 currently requires python-setuptools if rpmbuild is used. Due to a change in RPM generators, this is not needed anymore hence we are removing it.
Owner
- Name: Thrnciar
- Name: Churchyard
- Email: python-maint@redhat.com
Current status
- Targeted release: Fedora Linux 35
- Last updated: 2021-03-11
- FESCo issue: <will be assigned by the Wrangler>
- Tracker bug: <will be assigned by the Wrangler>
- Release notes tracker: <will be assigned by the Wrangler>
Detailed Description
python3.10 currently requires python-setuptools if rpmbuild is used. This was needed for RPM generators but since it adapted pyparsing, this is not needed anymore hence we are removing it. We tested this change in python3.10 COPR and it showed us 140 packages affected by this change. To avoid any breakages we plan to do a mass spec update to explicitly BuildRequire python-setuptools.
Feedback
Benefit to Fedora
From Fedora Packaging Guidelines: It is important that your package list all necessary build dependencies using the BuildRequires: tag. As our testing showed, this is not true for many packages. Some of them can successfully build either with or without setuptools (they use try-except import and fallback to distutils from the standard library). Such packages are especially dangerous when not BuildRequiring setuptools -- they can produce different results depending on the presence of setuptools: either an .egg-info metadata directory (w/setuptools) or .egg-info text file (w/distutils). RPM has troubles when upgrading directories to files.
Scope
- Proposal owners:
- Other developers:
- Release engineering: #Releng issue number
- Policies and guidelines: N/A (not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with Objectives:
Upgrade/compatibility impact
How To Test
User Experience
Dependencies
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? N/A (not a System Wide Change), Yes/No
Documentation
N/A (not a System Wide Change)