Bug 1854486 - Automatic RPM dependencies on Python Extras
Summary: Automatic RPM dependencies on Python Extras
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Changes Tracking
Version: 33
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Python Maintainers
QA Contact:
URL:
Whiteboard:
Depends On: 1875490 1878976 1884000
Blocks: F33Changes
TreeView+ depends on / blocked
 
Reported: 2020-07-07 14:44 UTC by Ben Cotton
Modified: 2020-10-13 09:46 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2020-10-13 09:46:46 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Ben Cotton 2020-07-07 14:44:34 UTC
This is a tracking bug for Change: Automatic RPM dependencies on Python Extras
For more details, see: https://fedoraproject.org/wiki/Changes/PythonExtras

The Python RPM dependency generator (that generates python3.Xdist(foo) requirements) will be adapted to also generate requirements on Python extras (e.g. python3.Xdist(foo[bar])) whenever upstream metadata indicate such dependency. An easy opt out mechanism will exist. A supported way of adding metapackages that provide such Python extras (e.g. python3.Xdist(foo[bar])) will be introduced. Change owners will add the missing metapackages that would otherwise cause broken dependencies (in non-modular packages).

Comment 1 Miro Hrončok 2020-07-10 18:47:44 UTC
Infra changes:

https://src.fedoraproject.org/rpms/python-rpm-generators/pull-request/19
https://src.fedoraproject.org/rpms/python-rpm-macros/pull-request/59


Adding new subpackages:

https://src.fedoraproject.org/rpms/python-autobahn/pull-request/4
https://src.fedoraproject.org/rpms/python-CacheControl/pull-request/7
https://src.fedoraproject.org/rpms/python-cairocffi/pull-request/2
https://src.fedoraproject.org/rpms/python-cli-helpers/pull-request/1
https://src.fedoraproject.org/rpms/python-docker/pull-request/27
https://src.fedoraproject.org/rpms/fonttools/pull-request/5
https://src.fedoraproject.org/rpms/ipython/pull-request/14
https://src.fedoraproject.org/rpms/python-lunr/pull-request/2
https://src.fedoraproject.org/rpms/python-oauthlib/pull-request/2
https://src.fedoraproject.org/rpms/python-jwt/pull-request/4
https://src.fedoraproject.org/rpms/python-raven/pull-request/2
https://src.fedoraproject.org/rpms/python-requests/pull-request/9
https://src.fedoraproject.org/rpms/python-tabulate/pull-request/1
https://src.fedoraproject.org/rpms/python-twisted/pull-request/14
https://src.fedoraproject.org/rpms/python-vistir/pull-request/1

Modifying existing subpackages:

https://src.fedoraproject.org/rpms/python-dask/pull-request/1
https://src.fedoraproject.org/rpms/python-django-storages/pull-request/1
https://src.fedoraproject.org/rpms/python-dns-lexicon/pull-request/1
https://src.fedoraproject.org/rpms/python-drf-yasg/pull-request/1
https://src.fedoraproject.org/rpms/python-prometheus_client/pull-request/3

Comment 2 Miro Hrončok 2020-07-12 13:10:34 UTC
Current status:

Requires:
python3.9dist(tabulate[widechars]) >= 0.8.2

Provides:
python3.9dist(autobahn[twisted]) = 19.10.1
python3.9dist(cli-helpers[styles]) = 1.2.1
python3.9dist(fonttools[ufo]) = 4.13
python3.9dist(fonttools[unicode]) = 4.13
python3.9dist(lunr[languages]) = 0.5.8
python3.9dist(python-dotenv[cli]) = 0.14
python3.9dist(requests[security]) = 2.23
python3.9dist(requests[socks]) = 2.23
python3.9dist(setuptools-scm[toml]) = 4.1.2
python3.9dist(tabulate[widechars]) = 0.8.7
python3.9dist(twisted[tls]) = 20.3

Comment 3 Miro Hrončok 2020-07-19 21:52:50 UTC
Current status:

Requires:
python3.9dist(requests[security])
python3.9dist(tabulate[widechars]) >= 0.8.2

Provides:
python3.9dist(autobahn[twisted]) = 20.7.1
python3.9dist(cachecontrol[filecache]) = 0.12.6
python3.9dist(cachecontrol[redis]) = 0.12.6
python3.9dist(cli-helpers[styles]) = 2.0.1
python3.9dist(dask[array]) = 2.21
python3.9dist(dask[bag]) = 2.21
python3.9dist(dask[dataframe]) = 2.21
python3.9dist(dask[delayed]) = 2.21
python3.9dist(dns-lexicon[easyname]) = 3.3.17
python3.9dist(dns-lexicon[gratisdns]) = 3.3.17
python3.9dist(dns-lexicon[henet]) = 3.3.17
python3.9dist(dns-lexicon[hetzner]) = 3.3.17
python3.9dist(dns-lexicon[plesk]) = 3.3.17
python3.9dist(dns-lexicon[route53]) = 3.3.17
python3.9dist(docker[ssh]) = 4.2.1
python3.9dist(fonttools[ufo]) = 4.13
python3.9dist(fonttools[unicode]) = 4.13
python3.9dist(ipython[notebook]) = 7.16.1
python3.9dist(lunr[languages]) = 0.5.8
python3.9dist(prometheus-client[twisted]) = 0.7.1
python3.9dist(python-dotenv[cli]) = 0.14
python3.9dist(requests[security]) = 2.23
python3.9dist(requests[socks]) = 2.23
python3.9dist(setuptools-scm[toml]) = 4.1.2
python3.9dist(tabulate[widechars]) = 0.8.7
python3.9dist(twisted[tls]) = 20.3

Comment 4 Miro Hrončok 2020-07-21 12:17:16 UTC
All PRs merged.

Comment 5 Miro Hrončok 2020-07-29 09:56:09 UTC
Still good:

Requires:   
(python3.9dist(cachecontrol[filecache]) < 0.13 with python3.9dist(cachecontrol[filecache]) >= 0.12.4)
(python3.9dist(pyjwt[crypto]) < 2 with python3.9dist(pyjwt[crypto]) >= 1)
python3.9dist(cli-helpers[styles]) > 1.1
python3.9dist(requests[security])
python3.9dist(tabulate[widechars]) >= 0.8.2

Provides:
Poslední kontrola metadat: před 0:00:16, St 29. července 2020, 11:53:02.
python3.9dist(autobahn[twisted]) = 20.7.1
python3.9dist(cachecontrol[filecache]) = 0.12.6
python3.9dist(cachecontrol[redis]) = 0.12.6
python3.9dist(cairocffi[xcb]) = 1.1.0
python3.9dist(cli-helpers[styles]) = 2.0.1
python3.9dist(dask[array]) = 2.21
python3.9dist(dask[bag]) = 2.21
python3.9dist(dask[dataframe]) = 2.21
python3.9dist(dask[delayed]) = 2.21
python3.9dist(django-storages[azure]) = 1.8
python3.9dist(django-storages[boto3]) = 1.8
python3.9dist(django-storages[boto]) = 1.8
python3.9dist(django-storages[dropbox]) = 1.8
python3.9dist(django-storages[libcloud]) = 1.8
python3.9dist(django-storages[sftp]) = 1.8
python3.9dist(dns-lexicon[easyname]) = 3.3.17
python3.9dist(dns-lexicon[gratisdns]) = 3.3.17
python3.9dist(dns-lexicon[henet]) = 3.3.17
python3.9dist(dns-lexicon[hetzner]) = 3.3.17
python3.9dist(dns-lexicon[plesk]) = 3.3.17
python3.9dist(dns-lexicon[route53]) = 3.3.17
python3.9dist(docker[ssh]) = 4.2.1
python3.9dist(drf-yasg[validation]) = 1.17
python3.9dist(fonttools[ufo]) = 4.13
python3.9dist(fonttools[unicode]) = 4.13
python3.9dist(ipython[notebook]) = 7.16.1
python3.9dist(lunr[languages]) = 0.5.8
python3.9dist(oauthlib[signedtoken]) = 3.0.2
python3.9dist(prometheus-client[twisted]) = 0.7.1
python3.9dist(pyjwt[crypto]) = 1.7.1
python3.9dist(python-dotenv[cli]) = 0.14
python3.9dist(raven[flask]) = 6.10
python3.9dist(requests[security]) = 2.24
python3.9dist(requests[socks]) = 2.24
python3.9dist(setuptools-scm[toml]) = 4.1.2
python3.9dist(tabulate[widechars]) = 0.8.7
python3.9dist(twisted[tls]) = 20.3

Comment 6 Miro Hrončok 2020-08-04 23:14:07 UTC
After the mass rebuild, things got a bit more widely required (that was expected), but so far so good.

Requires:
(python3.9dist(cachecontrol[filecache]) < 0.13 with python3.9dist(cachecontrol[filecache]) >= 0.12.4)
(python3.9dist(pyjwt[crypto]) < 2 with python3.9dist(pyjwt[crypto]) >= 1)
python3.9dist(autobahn[twisted]) >= 0.14.1
python3.9dist(cairocffi[xcb]) >= 0.9
python3.9dist(cli-helpers[styles]) > 1.1
python3.9dist(cli-helpers[styles]) >= 1.2
python3.9dist(docker[ssh]) >= 3.7
python3.9dist(fonttools[ufo]) >= 3.32
python3.9dist(fonttools[ufo]) >= 4
python3.9dist(fonttools[ufo]) >= 4.10
python3.9dist(fonttools[ufo]) >= 4.6
python3.9dist(fonttools[unicode]) >= 4.10
python3.9dist(fonttools[unicode]) >= 4.6
python3.9dist(ipython[notebook]) >= 4
python3.9dist(lunr[languages]) = 0.5.8
python3.9dist(oauthlib[signedtoken]) >= 1
python3.9dist(raven[flask])
python3.9dist(requests[security])
python3.9dist(requests[security]) >= 2.20
python3.9dist(requests[security]) >= 2.6
python3.9dist(requests[socks])
python3.9dist(tabulate[widechars]) >= 0.8.2
python3.9dist(twisted[tls]) >= 15.5
python3.9dist(twisted[tls]) >= 16.4
python3.9dist(twisted[tls]) >= 17.1
python3.9dist(twisted[tls]) >= 17.5
python3.9dist(twisted[tls]) >= 18.7

Provides:
python3.9dist(autobahn[twisted]) = 20.7.1
python3.9dist(cachecontrol[filecache]) = 0.12.6
python3.9dist(cachecontrol[redis]) = 0.12.6
python3.9dist(cairocffi[xcb]) = 1.1.0
python3.9dist(cli-helpers[styles]) = 2.1
python3.9dist(dask[array]) = 2.21
python3.9dist(dask[bag]) = 2.21
python3.9dist(dask[dataframe]) = 2.21
python3.9dist(dask[delayed]) = 2.21
python3.9dist(django-storages[azure]) = 1.8
python3.9dist(django-storages[boto3]) = 1.8
python3.9dist(django-storages[boto]) = 1.8
python3.9dist(django-storages[dropbox]) = 1.8
python3.9dist(django-storages[libcloud]) = 1.8
python3.9dist(django-storages[sftp]) = 1.8
python3.9dist(dns-lexicon[easyname]) = 3.3.17
python3.9dist(dns-lexicon[gratisdns]) = 3.3.17
python3.9dist(dns-lexicon[henet]) = 3.3.17
python3.9dist(dns-lexicon[hetzner]) = 3.3.17
python3.9dist(dns-lexicon[plesk]) = 3.3.17
python3.9dist(dns-lexicon[route53]) = 3.3.17
python3.9dist(dnspython[dnssec]) = 2
python3.9dist(dnspython[doh]) = 2
python3.9dist(dnspython[idna]) = 2
python3.9dist(dnspython[trio]) = 2
python3.9dist(docker[ssh]) = 4.2.1
python3.9dist(drf-yasg[validation]) = 1.17
python3.9dist(fonttools[ufo]) = 4.13
python3.9dist(fonttools[unicode]) = 4.13
python3.9dist(ipython[notebook]) = 7.17
python3.9dist(lunr[languages]) = 0.5.8
python3.9dist(oauthlib[signedtoken]) = 3.0.2
python3.9dist(prometheus-client[twisted]) = 0.7.1
python3.9dist(pyjwt[crypto]) = 1.7.1
python3.9dist(python-dotenv[cli]) = 0.14
python3.9dist(raven[flask]) = 6.10
python3.9dist(requests[security]) = 2.24
python3.9dist(requests[socks]) = 2.24
python3.9dist(setuptools-scm[toml]) = 4.1.2
python3.9dist(tabulate[widechars]) = 0.8.7
python3.9dist(twisted[tls]) = 20.3

Comment 7 Ben Cotton 2020-08-11 14:40:24 UTC
Branching F33 Change Tracker bugs.

Today is the code complete (testable) deadline. All bugs should be at least in MODIFIED state by now to indicate they are testable.

Comment 8 Tony Asleson 2020-08-12 15:41:26 UTC
This change may be the cause for preventing packages from being installed because
of missing dependencies

ref. https://bugzilla.redhat.com/show_bug.cgi?id=1868128

Comment 9 Tony Asleson 2020-08-12 15:58:54 UTC
(In reply to Tony Asleson from comment #8)
> This change may be the cause for preventing packages from being installed
> because
> of missing dependencies
> 
> ref. https://bugzilla.redhat.com/show_bug.cgi?id=1868128

After further investigation, I don't think this applies.  Sorry for the noise.

Comment 10 Petr Viktorin (pviktori) 2020-10-13 09:46:46 UTC
If there is any more breakage, it should be tracked separately.


Note You need to log in before you can comment on or make changes to this bug.