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 1690329 - Missing requirement on python3-sphinx_rtd_theme
Summary: Missing requirement on python3-sphinx_rtd_theme
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: python-sphinx
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Miro Hrončok
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: SPHINX2
TreeView+ depends on / blocked
 
Reported: 2019-03-19 09:57 UTC by Lukas Slebodnik
Modified: 2019-03-19 13:27 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-03-19 12:33:43 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Lukas Slebodnik 2019-03-19 09:57:39 UTC
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

Comment 1 Lukas Slebodnik 2019-03-19 09:58:39 UTC
Could you explain the reason of that removed requires?

Comment 2 Miro Hrončok 2019-03-19 10:56:06 UTC
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.

Comment 3 Miro Hrončok 2019-03-19 11:05:14 UTC
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.

Comment 4 Lukas Slebodnik 2019-03-19 12:21:04 UTC
(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.

Comment 5 Miro Hrončok 2019-03-19 12:33:43 UTC
> 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.


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