Bug 1714218

Summary: python3-poppler-qt5 drags in python2-sip as a runtime dependency
Product: [Fedora] Fedora Reporter: Tomáš Hozza <thozza>
Component: python3-poppler-qt5Assignee: Gwyn Ciesla <gwync>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 30CC: gwync, projects.rg
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python3-poppler-qt5-0.24.2-12.fc30 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-06-05 01:35:17 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1707034, 1285816    

Description Tomáš Hozza 2019-05-27 12:08:27 UTC
Description of problem:
When installing python3-poppler-qt, a Python2 version of python-sip is pulled in, instead of the Python3 version.

This is probably because of lack of explicit runtime dependency with python version.

[root@d2fc663cafd3 /]# cat /etc/fedora-release 
Fedora release 30 (Thirty)

[root@d2fc663cafd3 /]# dnf repoquery --whatrequires python2-sip
Last metadata expiration check: 0:27:01 ago on Mon 27 May 2019 11:35:23 AM UTC.
PyQwt-0:5.2.0-40.fc29.i686
PyQwt-0:5.2.0-40.fc29.x86_64
PyQwt-0:5.2.0-42.fc30.i686
PyQwt-0:5.2.0-42.fc30.x86_64
avogadro-libs-0:1.2.0-24.fc30.i686
avogadro-libs-0:1.2.0-24.fc30.x86_64
avogadro-libs-0:1.2.0-25.fc30.i686
avogadro-libs-0:1.2.0-25.fc30.x86_64
calibre-0:3.36.0-4.fc30.x86_64
pykde4-0:4.14.3-30.fc30.i686
pykde4-0:4.14.3-30.fc30.x86_64
python2-wxpython4-0:4.0.4-2.fc30.x86_64
python3-poppler-qt5-0:0.24.2-11.fc30.x86_64
python3-qgis-0:3.4.4-3.fc30.i686
python3-qgis-0:3.4.4-3.fc30.x86_64
python3-qgis-0:3.4.6-1.fc30.i686
python3-qgis-0:3.4.6-1.fc30.x86_64

[root@d2fc663cafd3 /]# dnf repoquery --requires python3-poppler-qt5
Last metadata expiration check: 0:27:05 ago on Mon 27 May 2019 11:35:23 AM UTC.
libc.so.6(GLIBC_2.14)(64bit)
libgcc_s.so.1()(64bit)
libgcc_s.so.1(GCC_3.0)(64bit)
libpoppler-qt5.so.1()(64bit)
libpython3.7m.so.1.0()(64bit)
libstdc++.so.6()(64bit)
libstdc++.so.6(CXXABI_1.3)(64bit)
libstdc++.so.6(CXXABI_1.3.8)(64bit)
libstdc++.so.6(CXXABI_1.3.9)(64bit)
libstdc++.so.6(GLIBCXX_3.4)(64bit)
python(abi) = 3.7
python3-qt5
rtld(GNU_HASH)
sip-api(12) >= 12.5

Version-Release number of selected component (if applicable):
python3-poppler-qt5-0.24.2-11.fc30.x86_64

How reproducible:
always

Steps to Reproduce:
1. install python3-poppler-qt5 on F30
2.
3.

Actual results:
python2-sip is pulled in as runtime dependency

Expected results:
python3-sip is pulled in as runtime dependency

Comment 1 Raphael Groner 2019-05-27 19:40:45 UTC
FTR The package is named python3-poppler-qt5 instead of python3-poppler-qt.

The false dependency with wrong python version seems to result from that generic line:
> %{?_sip_api:Requires: sip-api(%{_sip_api_major}) >= %{_sip_api}}
https://src.fedoraproject.org/rpms/python3-poppler-qt5/blob/master/f/python3-poppler-qt5.spec#_10

Dnf fails to properly handle the virtual Provides of sip-api.

Comment 2 Fedora Update System 2019-05-27 21:40:33 UTC
python3-poppler-qt5-0.24.2-12.fc30 has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-a7a4ccb12e

Comment 3 Fedora Update System 2019-05-28 02:28:21 UTC
python3-poppler-qt5-0.24.2-12.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-a7a4ccb12e

Comment 4 Tomáš Hozza 2019-05-28 07:49:01 UTC
(In reply to Raphael Groner from comment #1)
> FTR The package is named python3-poppler-qt5 instead of python3-poppler-qt.
> 
> The false dependency with wrong python version seems to result from that
> generic line:
> > %{?_sip_api:Requires: sip-api(%{_sip_api_major}) >= %{_sip_api}}
> https://src.fedoraproject.org/rpms/python3-poppler-qt5/blob/master/f/python3-
> poppler-qt5.spec#_10
> 
> Dnf fails to properly handle the virtual Provides of sip-api.

Yes, that was my conclusion as well. There are more packages probably with the same issue, as shown in the output of "dnf repoquery --whatrequires python2-sip" above. Thanks for looking into this.

Comment 5 Fedora Update System 2019-06-05 01:35:17 UTC
python3-poppler-qt5-0.24.2-12.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.