Description of problem: There were lot of chnges done when upgrading to 2.0.0b1 * remove pyton2-sphinx * bunch on spec file changes. But i cannot see explanation why some of dependencies were removed also from python3-sphinx. They were not described in https://fedoraproject.org/wiki/Changes/Sphinx2 or in related dist-git commit https://src.fedoraproject.org/rpms/python-sphinx/c/d1c43fc6581909d2068b27c4c58a5fa6acd1ab8d?branch=master Version-Release number of selected component (if applicable): python3-sphinx-1:2.0.0~b1-1.fc31 How reproducible: Deterministic Steps to Reproduce: 1. dnf repoquery --requires python3-sphinx | grep theme Actual results: sh# dnf repoquery --requires python3-sphinx | grep theme Last metadata expiration check: 0:11:39 ago on Tue 19 Mar 2019 10:43:16 AM CET. sh# echo $? 1 Expected results: sh# dnf repoquery --requires python3-sphinx | grep theme Last metadata expiration check: 0:00:46 ago on Tue 19 Mar 2019 09:56:22 AM UTC. python3-sphinx-theme-alabaster python3-sphinx_rtd_theme
Could you explain the reason of that removed requires?
This is what you get when you install sphinx: (sphinx) $ pip install --pre sphinx Collecting alabaster<0.8,>=0.7 (from sphinx) Collecting sphinxcontrib-devhelp (from sphinx) Collecting sphinxcontrib-qthelp (from sphinx) Collecting babel!=2.0,>=1.3 (from sphinx) Collecting sphinxcontrib-htmlhelp (from sphinx) Collecting requests>=2.5.0 (from sphinx) Collecting sphinxcontrib-serializinghtml (from sphinx) Collecting sphinxcontrib-applehelp (from sphinx) Collecting docutils>=0.12 (from sphinx) Collecting snowballstemmer>=1.1 (from sphinx) Collecting sphinxcontrib-jsmath (from sphinx) Collecting packaging (from sphinx) Collecting imagesize (from sphinx) Collecting Pygments>=2.0 (from sphinx) Collecting Jinja2>=2.3 (from sphinx) ... (sphinx) $ pip freeze alabaster==0.7.12 Babel==2.6.0 certifi==2019.3.9 chardet==3.0.4 docutils==0.14 idna==2.8 imagesize==1.1.0 Jinja2==2.10 MarkupSafe==1.1.1 packaging==19.0 Pygments==2.3.1 pyparsing==2.3.1 pytz==2018.9 requests==2.21.0 six==1.12.0 snowballstemmer==1.2.1 Sphinx==2.0.0b1 sphinxcontrib-applehelp==1.0.1 sphinxcontrib-devhelp==1.0.1 sphinxcontrib-htmlhelp==1.0.1 sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==1.0.2 sphinxcontrib-serializinghtml==1.1.1 urllib3==1.24.1 Note that alabaster is the only thing that is a Sphinx theme. This is what the Fedora package requires: $ dnf repoquery --repo=rawhide --requires python3-sphinx /usr/bin/python3 python(abi) = 3.7 python3.7dist(alabaster) < 0.8 python3.7dist(alabaster) >= 0.7 python3.7dist(babel) >= 1.3 python3.7dist(docutils) >= 0.12 python3.7dist(imagesize) python3.7dist(jinja2) >= 2.3 python3.7dist(packaging) python3.7dist(pygments) >= 2.0 python3.7dist(requests) >= 2.5.0 python3.7dist(setuptools) python3.7dist(snowballstemmer) >= 1.1 python3.7dist(sphinxcontrib-applehelp) python3.7dist(sphinxcontrib-devhelp) python3.7dist(sphinxcontrib-htmlhelp) python3.7dist(sphinxcontrib-jsmath) python3.7dist(sphinxcontrib-qthelp) python3.7dist(sphinxcontrib-serializinghtml) Note that alabaster is there. The dependency on sphinx_rtd_theme is not stated by upstream and I don't understand why we would need to add artificial dependency on a custom theme nor I see a need to describe all dependncy changes in https://fedoraproject.org/wiki/Changes/Sphinx2 or related dist-git commit. I guess the real question is: Why do you need this? Is sphinx_rtd_theme an actual dependency that upstream frogot to specify? If that's the case, we should fix this upstream and I'll gladly backport the change. Or does your project/thing/spec use sphinx_rtd_theme and you only (build)require python3-sphinx, assuming python3-sphinx_rtd_theme will always come with it? In my opinion, assuming a transitive dependency is wrong.
For the record, the dependency was added when updating sphinx to 1.3.1 https://src.fedoraproject.org/rpms/python-sphinx/c/e24435f06124df189d5378bfd4c474fcfa5b4188 This is what you get with 1.3.1: (sphinx) $ pip freeze alabaster==0.7.12 Babel==2.6.0 docutils==0.14 Jinja2==2.10 MarkupSafe==1.1.1 Pygments==2.3.1 pytz==2018.9 six==1.12.0 snowballstemmer==1.2.1 Sphinx==1.3.1 sphinx-rtd-theme==0.1.9 So yes, it was based on information from upstream back then.
(In reply to Miro Hrončok from comment #3) > For the record, the dependency was added when updating sphinx to 1.3.1 > > https://src.fedoraproject.org/rpms/python-sphinx/c/ > e24435f06124df189d5378bfd4c474fcfa5b4188 > > This is what you get with 1.3.1: > > (sphinx) $ pip freeze > alabaster==0.7.12 > Babel==2.6.0 > docutils==0.14 > Jinja2==2.10 > MarkupSafe==1.1.1 > Pygments==2.3.1 > pytz==2018.9 > six==1.12.0 > snowballstemmer==1.2.1 > Sphinx==1.3.1 > sphinx-rtd-theme==0.1.9 > > > So yes, it was based on information from upstream back then. In another words, it changed in upstream and packagers should not rely on a transitive dependency. Feel free to close as not a bug.
> In another words, it changed in upstream and packagers should not rely on a transitive dependency. That what I think. If you think that this particular dependency stands out, we can document it explicitly on the change page. I'm now closing this, but feel free to add a note the the proposal (it's a wiki) or let me know if you think it is needed and I'll eventually add it there.