Bug 2267060 - docopt: consider switching to docopt-ng
Summary: docopt: consider switching to docopt-ng
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-docopt
Version: rawhide
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Carl George 🤠
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: FailedQA
Depends On: 2268249
Blocks: 2268066 2268067 2268072 2268075 2268085 2268086 2268087 2268088 2268089 2268090 2268091 2268093 2268094 2268096 2268097 2268098 2268101 2268102 2268103 2268104
TreeView+ depends on / blocked
 
Reported: 2024-02-29 13:33 UTC by Zbigniew Jędrzejewski-Szmek
Modified: 2024-03-07 02:32 UTC (History)
7 users (show)

Fixed In Version: python-docopt-0.9.0-1.fc41 python-docopt-0.6.2-1.fc41
Clone Of:
Environment:
Last Closed: 2024-03-06 22:11:20 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Zbigniew Jędrzejewski-Szmek 2024-02-29 13:33:11 UTC
> docopt/docopt is vastly outdated and has known bugs that are not
> getting fixed, one should switch to jazzband/docopt-ng, which is
> actively maintained.

This package hasn't been updated in a few years, so we should consider
doing the switch. 'dnf5 repoquery --whatrequires python3-docopt' lists
~two dozen packages, so we need some version of docopt.

Reproducible: Always

Comment 1 Fedora Update System 2024-03-02 02:13:23 UTC
FEDORA-2024-dfe5bbd416 (python-docopt-0.9.0-1.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-dfe5bbd416

Comment 2 Fedora Update System 2024-03-02 02:17:20 UTC
FEDORA-2024-dfe5bbd416 (python-docopt-0.9.0-1.fc41) has been pushed to the Fedora 41 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 3 Brian Lane 2024-03-05 22:07:13 UTC
Note that this may break installing packages that depend on it, like python-coveralls which expects python3.12dist(docopt) to be provided instead of python3.12dist(docopt-ng). I've fixed this in python-coveralls-3.3.1-10.fc41

Comment 4 Fedora Update System 2024-03-05 22:11:57 UTC
FEDORA-2024-32ece25f93 (python-coveralls-3.3.1-10.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-32ece25f93

Comment 5 Fedora Update System 2024-03-05 22:14:16 UTC
FEDORA-2024-32ece25f93 (python-coveralls-3.3.1-10.fc41) has been pushed to the Fedora 41 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 6 Miro Hrončok 2024-03-06 09:26:05 UTC
This has indeed regressed.

It's not possible to just switch pypi projects packages as python3-docopt, they have different metadata.


$ repoquery --repo=rawhide --provides python3-docopt
...
python3.12dist(docopt-ng) = 0.9
python3dist(docopt-ng) = 0.9


$ repoquery -q --repo=rawhide --whatrequires 'python3.12dist(docopt)'
adb-enhanced-0:2.5.14-8.fc40.noarch
docker-compose-0:1.29.2-12.fc40.noarch
mackup-0:0.8.32-11.fc40.noarch
protonvpn-cli-0:2.2.11-11.fc40.noarch
python3-bioread-0:3.0.1-4.fc40.noarch
python3-coveralls-0:3.3.1-9.fc40.noarch
python3-doxytag2zealdb-0:0.3.1-11.fc40.noarch
python3-hdfs-0:2.7.3-2.fc41.noarch
python3-kiwi-0:9.25.21-5.fc41.noarch
python3-kiwi-boxed-plugin-0:0.2.32-1.fc41.noarch
python3-liquidctl-0:1.13.0-4.fc41.noarch
python3-num2words-0:0.5.13-5.fc40.noarch
python3-odml-0:1.5.4-3.fc40.noarch
python3-pykwalify-0:1.8.0-9.fc40.noarch
python3-pytest-watch-0:4.2.0-19.fc40.noarch
python3-stomppy-0:8.1.0-5.fc40.noarch
python3-udiskie-0:2.5.2-1.fc40.noarch
python3-vconnector-0:0.6.0-14.fc40.noarch
python3-vevents-0:0.1.0-0.16.20149631git3ff37a2.fc40.noarch
python3-vpoller-0:0.7.3-22.fc40.noarch
teampulls-0:0.2.2-14.fc40.noarch
xortool-0:0.99-14.fc40.noarch


$ repoquery -q --repo=rawhide-source --whatrequires 'python3dist(docopt)'
kiwi-0:9.25.21-5.fc41.src
kiwi-boxed-plugin-0:0.2.32-1.fc41.src
liquidctl-0:1.13.0-4.fc41.src
python-bioread-0:3.0.1-4.fc40.src
python-doxytag2zealdb-0:0.3.1-11.fc40.src
python-hdfs-0:2.7.3-2.fc41.src
python-jedi-0:0.19.1-3.fc40.src
python-num2words-0:0.5.13-5.fc40.src
python-odml-0:1.5.4-3.fc40.src
python-parso-0:0.8.3-9.fc40.src
python-pykwalify-0:1.8.0-9.fc40.src
stomppy-0:8.1.0-5.fc40.src
udiskie-0:2.5.2-1.fc40.src

Comment 7 Ian McInerney 2024-03-06 13:07:45 UTC
Yes, this is now causing FTI against packages on F41, such as python-doxytag2zealdb: https://bugzilla.redhat.com/show_bug.cgi?id=2268087.

Comment 8 Felix Kaechele 2024-03-06 14:55:27 UTC
If the new upstream being used is intended as a drop-in replacement could this package maybe also provide python3.12dist(docopt) in that case?

I'm happy to also send a patch upstream for pykwalify to use docopt-ng instead.

Comment 9 Carl George 🤠 2024-03-06 16:24:29 UTC
Sorry about the trouble here folks.  I didn't fully think through the possible effects of this change.  I'm going to create a python-docopt-ng package, and revert the change in python-docopt with an epoch.

Comment 10 Zbigniew Jędrzejewski-Szmek 2024-03-06 17:30:55 UTC
Hmm, I really think we should massage the metadata to provide the old Provides.
If we add a new package, then we'll have to massage all the dependent packages,
one by one, to use the new project. It seems much better to switch them to the
new code automatically.

Comment 11 Carl George 🤠 2024-03-06 19:51:29 UTC
I would rather let other packages switch their dependency to docopt-ng on their schedule (or rather their upstreams' schedule), rather than forcing a mad rush to do it all at once.  It's mostly a drop in replacement, but there are a few removals.  I thought this would be ok for rawhide, but that combined with the metadata problem makes me leary.

https://github.com/jazzband/docopt-ng/blob/0.9.0/CHANGELOG.md

I plan to post about this on the devel mailing list to give packagers a heads up to work with their upstreams to do the docopt -> docopt-ng switch.  It may also be a good idea to official deprecate python-docopt so new packages can't depend on it.

I've posted a new package review for python-docopt-ng in bug 2268249.

Comment 12 Carl George 🤠 2024-03-06 19:59:01 UTC
PR to revert python-docopt to the old upstream.

https://src.fedoraproject.org/rpms/python-docopt/pull-request/7

Comment 13 Fedora Update System 2024-03-06 21:49:54 UTC
FEDORA-2024-2d72fabcb6 (python-docopt-0.6.2-1.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-2d72fabcb6

Comment 14 Fedora Update System 2024-03-06 22:11:20 UTC
FEDORA-2024-2d72fabcb6 (python-docopt-0.6.2-1.fc41) has been pushed to the Fedora 41 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.