Churchyard (talk | contribs) |
(adding tracker bug) |
||
(14 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
= Setuptools 74+ <!-- The name of your change proposal --> = | = Setuptools 74+ <!-- The name of your change proposal --> = | ||
== Summary == | == Summary == | ||
Line 24: | Line 23: | ||
== Current status == | == Current status == | ||
[[Category: | [[Category:ChangeAcceptedF42]] | ||
<!-- When your change proposal page is completed and ready for review and announcement --> | <!-- When your change proposal page is completed and ready for review and announcement --> | ||
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | <!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | ||
Line 31: | Line 30: | ||
<!-- Select proper category, default is Self Contained Change --> | <!-- Select proper category, default is Self Contained Change --> | ||
[[Category:SelfContainedChange]] | <!-- [[Category:SelfContainedChange]] --> | ||
[[Category:SystemWideChange]] | |||
* Targeted release: [https://docs.fedoraproject.org/en-US/releases/f42/ Fedora Linux 42] | * Targeted release: [https://docs.fedoraproject.org/en-US/releases/f42/ Fedora Linux 42] | ||
Line 42: | Line 41: | ||
ON_QA -> change is fully code complete | ON_QA -> change is fully code complete | ||
--> | --> | ||
* [Announced] | * [https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org/thread/WTTYL2PLBKQAX75VXCM7ROLUMZJJLCVJ/ Announced] | ||
* [ | * [https://discussion.fedoraproject.org/t/f42-change-proposal-setuptools-74-system-wide/132052 Discussion thread] | ||
* FESCo issue: | * FESCo issue: [https://pagure.io/fesco/issue/3278 #3278] | ||
* Tracker bug: | * Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=2319387 #2319387] | ||
* Release notes tracker: <will be assigned by the Wrangler> | * Release notes tracker: <will be assigned by the Wrangler> | ||
Line 537: | Line 536: | ||
== Feedback == | == Feedback == | ||
<!-- Summarize the feedback from the community and address why you chose not to accept proposed alternatives. This section is optional for all change proposals but is strongly suggested. Incorporating feedback here as it is raised gives FESCo a clearer view of your proposal and leaves a good record for the future. If you get no feedback, that is useful to note in this section as well. For innovative or possibly controversial ideas, consider collecting feedback before you file the change proposal. --> | <!-- Summarize the feedback from the community and address why you chose not to accept proposed alternatives. This section is optional for all change proposals but is strongly suggested. Incorporating feedback here as it is raised gives FESCo a clearer view of your proposal and leaves a good record for the future. If you get no feedback, that is useful to note in this section as well. For innovative or possibly controversial ideas, consider collecting feedback before you file the change proposal. --> | ||
python-devel thread from August 2024: https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/thread/YOC5527SRKNY2XG6CMS3KNGJ54O7SMXI/ | |||
Listed ~200 packages, ~30 were fixed in a month. Thank you, maintainers! | |||
== Benefit to Fedora == | == Benefit to Fedora == | ||
Line 569: | Line 571: | ||
== Scope == | == Scope == | ||
* Proposal owners: | * Proposal owners: update python-setuptools to 74.x.x or newer, open bugzillas, provide help | ||
<!-- What work do the feature owners have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | <!-- What work do the feature owners have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | ||
* Other developers: | * Other developers: report problems to the upstream and backport patches to the affected packages. The impact can be tested using [https://copr.fedorainfracloud.org/coprs/churchyard/setuptools-74/ copr repository where setuptools 74+ has been built]. | ||
<!-- What work do other developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | <!-- What work do other developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | ||
* Release engineering: [https://pagure.io/releng/ | * Release engineering: [https://pagure.io/releng/issue/12323 #12323] <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)? Is a mass rebuild required? include a link to the releng issue. | <!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)? Is a mass rebuild required? include a link to the releng issue. | ||
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication --> | The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication --> | ||
Line 585: | Line 587: | ||
<!-- If your Change may require trademark approval (for example, if it is a new Spin), file a ticket ( https://pagure.io/Fedora-Council/tickets/issues ) requesting trademark approval from the Fedora Council. This approval will be done via the Council's consensus-based process. --> | <!-- If your Change may require trademark approval (for example, if it is a new Spin), file a ticket ( https://pagure.io/Fedora-Council/tickets/issues ) requesting trademark approval from the Fedora Council. This approval will be done via the Council's consensus-based process. --> | ||
* Alignment with the Fedora Strategy: | * Alignment with the Fedora Strategy: First? | ||
<!-- Does your proposal align with the current Fedora Strategy: https://discussion.fedoraproject.org/t/fedora-strategy-2028-february-march-planning-work-and-roadmap-til-flock/43618 ? It's okay if it doesn't, but it's something to consider --> | <!-- Does your proposal align with the current Fedora Strategy: https://discussion.fedoraproject.org/t/fedora-strategy-2028-february-march-planning-work-and-roadmap-til-flock/43618 ? It's okay if it doesn't, but it's something to consider --> | ||
Line 592: | Line 594: | ||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
There is a clean upgrade path from current version to python-setuptools 69.x.x. Fedora users using RPM-packaged setuptools will use setuptools 74+ by default. | |||
== Early Testing (Optional) == | == Early Testing (Optional) == | ||
<!-- This is an optional step for system-wide changes to avail of. If you would like to build an initial proof of concept of your change and have a member of Fedora QA help you write and/or run some initial basic tests on your code, please email tests@fedoraproject.org and include the link to your change proposal. This step is *optional*. --> | <!-- This is an optional step for system-wide changes to avail of. If you would like to build an initial proof of concept of your change and have a member of Fedora QA help you write and/or run some initial basic tests on your code, please email tests@fedoraproject.org and include the link to your change proposal. This step is *optional*. --> | ||
Do you require 'QA Blueprint' support? | Do you require 'QA Blueprint' support? N <!-- Optional Step for System-Wide Changes only --> | ||
== How To Test == | == How To Test == | ||
Line 614: | Line 617: | ||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
* Find the package you want to update in the [https://copr.fedorainfracloud.org/coprs/churchyard/setuptools-74/ copr repository] and check the build logs to determine the fail cause. | |||
* Work with the upstream to resolve the issue or drop the need for `setup.py test` during the build of the package. | |||
* When updating the package, you can test it using the same copr repository where the latest version of setuptools has been built. | |||
* Let us know if something doesn't work as it should. | |||
== User Experience == | == User Experience == | ||
Line 626: | Line 633: | ||
- Green has been scientifically proven to be the most relaxing color. The move to a default background color of green with green text will result in Fedora users being the most relaxed users of any operating system. | - Green has been scientifically proven to be the most relaxing color. The move to a default background color of green with green text will result in Fedora users being the most relaxed users of any operating system. | ||
--> | --> | ||
Regular distro users shouldn't notice any change in setuptools behavior, except for upstream-intended changes. | |||
== Dependencies == | == Dependencies == | ||
Line 636: | Line 644: | ||
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan? This might be as simple as "Revert the shipped configuration". Or it might not (e.g. rebuilding a number of dependent packages). If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy. --> | <!-- If you cannot complete your feature by the final development freeze, what is the backup plan? This might be as simple as "Revert the shipped configuration". Or it might not (e.g. rebuilding a number of dependent packages). If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy. --> | ||
* Contingency mechanism: (What to do? Who will do it?) | * Contingency mechanism: (What to do? Who will do it?) Provide a compat package with setuptools 69 <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
<!-- When is the last time the contingency mechanism can be put in place? This will typically be the beta freeze. --> | <!-- When is the last time the contingency mechanism can be put in place? This will typically be the beta freeze. --> | ||
* Contingency deadline: | * Contingency deadline: mass rebuild <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? --> | <!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? --> | ||
* Blocks release? | * Blocks release? No <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
== Documentation == | == Documentation == | ||
<!-- Is there upstream documentation on this change, or notes you have written yourself? Link to that material here so other interested developers can get involved. --> | <!-- Is there upstream documentation on this change, or notes you have written yourself? Link to that material here so other interested developers can get involved. --> | ||
[https://setuptools.pypa.io/en/stable/history.html Setuptools changelog] | |||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
This page is the documentation. | |||
== Release Notes == | == Release Notes == |
Latest revision as of 14:36, 17 October 2024
Setuptools 74+
Summary
Update to a new upstream release of python-setuptools
that is not completely compatible with previous releases. Most notably, version 72.0.0 removed support for the setup.py test
command (deprecated for 5 years). This is a breaking change and Fedora packages that use the setup.py test
command during the build need to be adapted to use a different test runner, such as unittest, pytest, etc.
There might be other breaking changes. We estimate 142 to 196 Fedora Rawhide packages to fail to build due to this upgrade (as of Sep 2024).
Owner
- Name: Miro Hrončok
- Email: mhroncok@redhat.com
Current status
- Targeted release: Fedora Linux 42
- Last updated: 2024-10-17
- Announced
- Discussion thread
- FESCo issue: #3278
- Tracker bug: #2319387
- Release notes tracker: <will be assigned by the Wrangler>
Detailed Description
Setuptools is a package development process library designed to facilitate packaging Python projects by enhancing the former Python standard library distutils (distribution utilities). It changes fast and it often introduces breaking changes such as the removal of the setup.py test
command in version 72.0.0 which was deprecated since 2019.
If your Fedora package still uses the setup.py test
command (deprecated for 5 years), please update to %pytest
, %tox
, %{python3} -m unittest
, etc.
List of packages that will likely fail to build, because they use the removed setup.py test
command in the specfile:
$ rg '^[^-#].+(\b|_)setup(\.py|\})\s+test\b' -l | sed -E 's|^rpm-specs/(.+)\.spec$|\1|' | sort adapt ansible-inventory-grapher binwalk btrfs-sxbackup calibre cepces classification-banner ddiskit fprettify fros grammalecte gtts gtts-token hddfancontrol hgsvn ioc-writer isrcsubmit kitty lazygal libvirt-test-API mopidy mopidy-mpd nototools past-time petsc pycairo PyGreSQL pyjokes pyowm python3-lxc python3-mallard-ducktype python-aioresponses python-apsw python-auth-credential python-autopage python-binaryornot python-booleanoperations python-bracex python-can python-case python-casttube python-cccolutils python-chai python-cliff python-collada python-colorclass python-CommonMark python-cpuinfo python-cwcwidth python-cx-oracle python-decorator python-dfdatetime python-dictdiffer python-digitalocean python-dirq python-distroinfo python-django-contrib-comments python-django-prometheus python-dkimpy python-enlighten python-epub python-events python-fedmsg-meta-fedora-infrastructure python-flask-wtf-decorators python-flask-xml-rpc python-flufl-i18n python-fontMath python-freeipa python-gammu python-genshi python-genty python-geojson python-gerritlib python-glyphsLib python-gmqtt python-hgapi python-html5-parser python-httpsig-cffi python-hypothesis-fspaths python-imagehash python-ipgetter2 python-iptools python-jack-client python-jcconv python-jinja2_pluralize python-jinja2-time python-journal-brief python-json-minify python-jsonpath-ng python-jsonpath-rw python-klusta python-launchpadlib python-lazr-uri python-libusb1 python-lupa python-markups python-messaging python-moksha-hub python-murano-pkg-check python-mutatormath python-mwclient python-neurosynth python-num2words python-oletools python-openidc-client python-oslo-context python-oslo-metrics python-os-service-types python-ouimeaux python-pdfkit python-phonenumbers python-poyo python-pyasn1 python-pyclipper python-pycryptodomex python-pydispatcher python-pyfim python-pymediainfo python-pyramid_sawing python-pyramid-tm python-pysignals python-pysocks python-pystray python-pyte python-pytest-fixture-config python-pytest-flakes python-pytest-runner python-pytimeparse python-repoze-lru python-rmtest python-rsd-lib python-scripttest python-serpy python-shodan python-simplegeneric python-simplevisor python-singledispatch python-slacker python-smartypants python-sphinxcontrib-autoprogram python-sphinxcontrib-trio python-sql python-ssdeep python-statsd python-svg-path python-testscenarios python-textile python-textparser python-tgscheduler python-tidy python-timeout-decorator python-tosca-parser python-translationstring python-tree-format python-typing-inspect python-volatile python-wadllib python-whoosh python-wsgi_intercept python-www-authenticate python-xmp-toolkit python-xunitparser python-yapsy python-yaql python-zc-customdoctests python-zc-lockfile python-zope-deprecation python-zope-testing python-zstd sepolicy_analysis tpm2-pkcs11 transifex-client
List of packages that actually failed in our testing copr but did not fail in a control copr:
ansible-inventory-grapher btrfs-sxbackup cepces classification-banner ddiskit flent fprettify fros gpgme grammalecte grpc hddfancontrol ioc-writer lazygal mopidy mopidy-mpd mozjs102 past-time PyGreSQL pyproject-rpm-macros python3-lxc python3-mallard-ducktype python-aioresponses python-binaryornot python-bracex python-case python-cccolutils python-chai python-cliff python-collada python-colorclass python-cpuinfo python-cwcwidth python-daemon python-decorator python-dfdatetime python-digitalocean python-distroinfo python-django-contrib-comments python-django-prometheus python-epub python-events python-flake8-class-newline python-flask-wtf-decorators python-flask-xml-rpc python-flufl-i18n python-fontMath python-freeipa python-genshi python-genty python-geojson python-hypothesis-fspaths python-imagehash python-iptools python-jack-client python-jcconv python-jinja2_pluralize python-jinja2-time python-json-minify python-jsonpath-ng python-jsonpath-rw python-jupyter-packaging python-klusta python-launchpadlib python-lazr-uri python-libusb1 python-lupa python-markups python-moksha-hub python-mutatormath python-mwclient python-nose python-oletools python-openidc-client python-oslo-context python-oslo-metrics python-ouimeaux python-parsel python-pdfkit python-phonenumbers python-poyo python-pyasn1 python-pycdio python-pyclipper python-pydispatcher python-pyemd python-pygmtools python-pymediainfo python-pyproject-api python-pyproject-hooks python-pyramid_sawing python-pyramid-tm python-pysignals python-pysrt python-pytaglib python-pyte python-pytest-fixture-config python-pytest-flakes python-pytest-runner python-pytimeparse python-pyvmomi python-repoze-lru python-rmtest python-robot-detection python-scikit-build python-scripttest python-serpy python-simplegeneric python-singledispatch python-slacker python-sphinxcontrib-autoprogram python-sphinxcontrib-trio python-sql python-ssdeep python-statsd python-svg-path python-testscenarios python-textparser python-tgscheduler python-timeout-decorator python-translationstring python-tree-format python-trml2pdf python-typing-inspect python-virtualenv python-volatile python-wadllib python-whoosh python-wsgi_intercept python-www-authenticate python-xmp-toolkit python-xunitparser python-yaql python-zc-customdoctests python-zc-lockfile python-zope-deprecation python-zope-testing python-zope-testrunner python-zstd sentencepiece tpm2-pkcs11 transifex-client
Both lists together, by maintainers:
abbra python-whoosh abompard python-flufl-i18n python-jinja2_pluralize python-pyramid_sawing python-pysocks python-translationstring python-zope-deprecation python-zope-testing python-zope-testrunner adamwill python-mwclient adrian flent aekoroglu python-django-prometheus python-pytaglib python-repoze-lru python-serpy python-xunitparser ajax binwalk alexl pycairo amigadave isrcsubmit python3-mallard-ducktype amoralej python-rsd-lib python-yaql ankursinha python-klusta python-num2words python-pyemd python-pyfim apevec python-oslo-context python-testscenarios python-wsgi_intercept asn cepces athoscr python-booleanoperations python-epub python-fontMath python-glyphsLib python-mutatormath python-pyclipper atim kitty aviso python-enlighten besser82 python-jcconv caolanm pycairo carlwgeorge python-pyproject-hooks chandankumar python-oslo-context python-tosca-parser python-wsgi_intercept chedi python-jinja2-time python-poyo python-pytest-flakes python-tree-format chkr calibre churchyard pyproject-rpm-macros python-genty python-launchpadlib python-lazr-uri python-nose python-scripttest python-simplegeneric python-virtualenv python-wadllib cicku python-apsw ckalina ddiskit cottsay python-flake8-class-newline cqi python-django-contrib-comments cstratak python-virtualenv dcallagh python-phonenumbers python-www-authenticate dcavalca tpm2-pkcs11 dchen cepces defolos grpc dfateyev python-apsw dherrera python-pytest-runner dminer python-zstd dshea python-jinja2_pluralize echevemaster python-pydispatcher transifex-client eeickmeyer python-jack-client esyr ddiskit fab ioc-writer past-time python-cx-oracle python-dfdatetime python-geojson python-gmqtt python-imagehash python-ipgetter2 python-jsonpath-ng python-jsonpath-rw python-shodan python-slacker python-textparser python-zc-customdoctests fale python-decorator python-pyvmomi fed500 python-pygmtools fedepell python-jinja2-time filiperosset hddfancontrol fjanus PyGreSQL frantisekz mozjs102 frostyx python-flask-wtf-decorators fschwarz python-digitalocean python-genshi girst mopidy mopidy-mpd gsauthof python-aioresponses gui1ty python-moksha-hub hhorak PyGreSQL hiwkby python-oslo-metrics hobbes1069 python-collada hvad python-events ignatenkobrain python-pytest-flakes python-simplegeneric jamatos python-markups python-smartypants jcapitao python-cliff python-distroinfo python-timeout-decorator jcaratzas python-repoze-lru python-simplegeneric python-singledispatch python-sphinxcontrib-trio python-zc-lockfile jjelen tpm2-pkcs11 jkucera gpgme jmontleon python-dictdiffer jonathanspw kitty python-freeipa python-parsel python-pystray python-pytest-runner python-zstd jonny python-libusb1 jorti python-pysrt jpena python-murano-pkg-check python-tosca-parser jruzicka python-tosca-parser jujens python-CommonMark python-hgapi jussilehtola fprettify kalev pycairo kevin calibre python-chai python-decorator python-html5-parser python-pycdio python-pyramid-tm python-pysocks python-pytest-fixture-config python-svg-path python-tgscheduler kni python-ouimeaux python-pysignals ktdreyer python-testscenarios kushal python-daemon laxathom python-gammu lbalhar python-jupyter-packaging python-pyproject-api python-pyproject-hooks python-virtualenv lbazan python-neurosynth transifex-client lberk python-rmtest lbrabec python-xunitparser lcons python-auth-credential python-dirq python-messaging python-simplevisor lecris python-scikit-build limb python-typing-inspect lnie libvirt-test-API lyessaadi python-yapsy maha python-sphinxcontrib-autoprogram melmorabity grammalecte python-pycryptodomex mfabian nototools mhayden python-virtualenv mhlavink gpgme mohanboddu python-openidc-client mrc0mmand gpgme mrunge python-pytimeparse python-singledispatch python-testscenarios python-virtualenv nathans python-rmtest nb python-digitalocean neil grpc python-gerritlib ngompa python-case python-dkimpy python-freeipa python-pystray python-robot-detection python-zstd opohorel python-launchpadlib python-lazr-uri python-wadllib orion python-virtualenv python-zope-testing orphan python-case python-fedmsg-meta-fedora-infrastructure python-hypothesis-fspaths python-iptools osloup PyGreSQL pbrobinson adapt gtts gtts-token pyjokes python-can python-casttube tpm2-pkcs11 peter python-libusb1 pingou python-binaryornot python-case python-chai python-flask-xml-rpc pkubat PyGreSQL pnemade ansible-inventory-grapher python-bracex python-cpuinfo poros ddiskit praiskup PyGreSQL puiterwijk python-cccolutils pwhalen pyjokes pyowm pwu nototools qulogic python-json-minify python-xmp-toolkit radez python-zc-lockfile python-zope-testing raphgro python-pdfkit python-pyvmomi rathann lazygal rcallicotte python-pyvmomi rcritten cepces python-pyasn1 rdieter gpgme python-mwclient rebus python-colorclass python-oletools rhughes pycairo robert python-oletools rstrode pycairo sagitter petsc salimma kitty python-lupa python-pytest-runner python-robot-detection python-volatile python-zope-testrunner python-zstd sergiomb python-gammu sgallagh python-whoosh sharkcz python-sql shoracek tpm2-pkcs11 slinabery python-jsonpath-rw solopasha kitty spichugi python-pyasn1 suve python-ssdeep swt2c binwalk tdecacqu python-statsd terjeros hgsvn python-cwcwidth python-httpsig-cffi python-pyte python-tidy tflink python-xunitparser thebeanogamer classification-banner thm python-sphinxcontrib-trio python-textile python3-lxc thofmann btrfs-sxbackup thrnciar python-scikit-build tieugene python-trml2pdf tohojo flent tomspur python-daemon python-simplegeneric topazus sentencepiece trawets fros ttorling python-pysocks twaugh python-journal-brief vascom python-pymediainfo vmojzis sepolicy_analysis vtrefny python-pytimeparse xavierb python-daemon ykarel python-os-service-types zaneb python-autopage zawertun kitty zbyszek calibre zsun ddiskit
We will be slowly crushing the failures and opening bugzillas before we actually update setuptools.
Feedback
python-devel thread from August 2024: https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/thread/YOC5527SRKNY2XG6CMS3KNGJ54O7SMXI/
Listed ~200 packages, ~30 were fixed in a month. Thank you, maintainers!
Benefit to Fedora
Fedora offers cutting-edge technologies for Python and setuptools is one of the most important Python packages. By doing this update we bring users the latest features that setuptools offers and also we enable Fedora 42+ to receive future updates as well.
Scope
- Proposal owners: update python-setuptools to 74.x.x or newer, open bugzillas, provide help
- Other developers: report problems to the upstream and backport patches to the affected packages. The impact can be tested using copr repository where setuptools 74+ has been built.
- Release engineering: #12323
- Policies and guidelines: N/A (not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with the Fedora Strategy: First?
Upgrade/compatibility impact
There is a clean upgrade path from current version to python-setuptools 69.x.x. Fedora users using RPM-packaged setuptools will use setuptools 74+ by default.
Early Testing (Optional)
Do you require 'QA Blueprint' support? N
How To Test
- Find the package you want to update in the copr repository and check the build logs to determine the fail cause.
- Work with the upstream to resolve the issue or drop the need for
setup.py test
during the build of the package. - When updating the package, you can test it using the same copr repository where the latest version of setuptools has been built.
- Let us know if something doesn't work as it should.
User Experience
Regular distro users shouldn't notice any change in setuptools behavior, except for upstream-intended changes.
Dependencies
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) Provide a compat package with setuptools 69
- Contingency deadline: mass rebuild
- Blocks release? No
Documentation
This page is the documentation.