Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
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:
Doc Type: If docs needed, set a value
Doc Text:
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 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.