Bug 1416859

Summary: pykde4 FTBFS against sip-4.19+
Product: [Fedora] Fedora Reporter: Peter Gervase <pgervase>
Component: pykde4Assignee: Rex Dieter <rdieter>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: jreznik, rdieter, than
Target Milestone: ---Keywords: Patch
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-01-26 21:34:46 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:

Description Peter Gervase 2017-01-26 15:55:05 UTC
Description of problem:
I go to do a dnf update and of course it has issues
Last metadata expiration check: 0:00:00 ago on Thu Jan 26 08:06:40 2017 EST.
Dependencies resolved.
 Package                                                  Arch                                      Version                                                    Repository                                  Size
Skipping packages with broken dependencies:
 PyQt4                                                    x86_64                                    4.12-1.fc26                                                rawhide                                    2.9 M
 PyQt4-webkit                                             x86_64                                    4.12-1.fc26                                                rawhide                                    125 k
 calibre                                                  x86_64                                    2.76.0-2.fc26                                              rawhide                                     29 M
 kscd                                                     x86_64                                    16.12.1-1.fc26                                             rawhide                                    169 k
 libgeotiff                                               x86_64                                    1.4.0-8.fc26                                               rawhide                                    712 k
 libspatialite                                            x86_64                                    4.3.0a-3.fc26                                              rawhide                                    2.5 M
 ogdi                                                     x86_64                                    3.2.0-0.27.beta2.fc26                                      rawhide                                    256 k
 okular                                                   x86_64                                    16.12.1-1.fc26                                             rawhide                                    760 k
 okular-libs                                              x86_64                                    16.12.1-1.fc26                                             rawhide                                    305 k
 okular-part                                              x86_64                                    16.12.1-1.fc26                                             rawhide                                    970 k
 proj                                                     i686                                      4.9.3-1.fc26                                               rawhide                                    228 k
 proj                                                     x86_64                                    4.9.3-1.fc26                                               rawhide                                    227 k
 python-qt5                                               x86_64                                    5.7.1-1.fc26                                               rawhide                                    3.6 M
 python-qt5-rpm-macros                                    noarch                                    5.7.1-1.fc26                                               rawhide                                     13 k
 python-qt5-webkit                                        x86_64                                    5.7.1-1.fc26                                               rawhide                                    120 k
 sip                                                      x86_64                                    4.19-1.fc26                                                rawhide                                    128 k

Transaction Summary
Skip  16 Packages

Nothing to do.

Doesn't tell me much, but since "sip" is the last package mentioned and easy to type, I tried updating that one by itself:

# dnf update sip --best
Last metadata expiration check: 0:12:45 ago on Thu Jan 26 08:44:43 2017 EST.
Error: problem with installed package pykde4-4.14.3-14.fc26.x86_64
  - package pykde4-4.14.3-14.fc26.x86_64 requires sip-api(11) >= 11.3, but none of the providers can be installed
  - package pykde4-4.14.3-14.fc26.x86_64 requires sip-api(11) >= 11.3, but none of the providers can be installed
  - package pykde4-4.14.3-14.fc26.x86_64 requires sip-api(11) >= 11.3, but none of the providers can be installed
  - cannot install both sip-4.19-1.fc26.x86_64 and sip-4.18.1-2.fc26.x86_64
  - cannot install the best update candidate for package sip-4.18.1-2.fc26.x86_64
(try to add '--allowerasing' to command line to replace conflicting packages)
# rpm -q --requires pykde4| grep sip
sip-api(11) >= 11.3
# rpm -q pykde4
# rpm -q --whatprovides sip-api\(11\)

I downloaded the latest sip rpm from the repo to see what it provides:
# rpm -qp --provides /data/downloads/sip-4.19-1.fc26.x86_64.rpm
sip = 4.19-1.fc26
sip(x86-64) = 4.19-1.fc26
sip-api(12) = 12.0
sip-api(12)(x86-64) = 12.0

Based on the above, it looks like pykde4 requires sip-api(11) which is provided by sip-4.18.1-2.fc26.x86_64. When that sip package gets updated, it provides sip-api(12) instead of sip-api(11). You'd think that'd be good enough, but the pykde4 requires a sip-api(11) >= 11.3, not sip-api >= 11.3. 

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. dnf update

Actual results:
Errors as shown above

Expected results:
dnf update works correctly

Additional info:
I'm not sure if this an issue with dnf that it should be able to see that sip-api(12) is good enough for sip-api(11) >= 11.3 or if pykde4 should require sip-api(anything) >= 11.3 rather than needing sip-api(11) (maybe there's something in sip-api(12) that doesn't work in pykde4 so that's why it needs sip-api(11) >= 11.3?)

Comment 1 Rex Dieter 2017-01-26 18:06:16 UTC
it's simply that sip(11) is not equal to sip(12).  pykde4 needs rebuilding, and unfortunately, the build currently fails, last attempt:


Comment 2 Rex Dieter 2017-01-26 18:09:06 UTC
Items in the distro that still depend on pykde4 (according to repoquery), include:


which is impacted by this.

Comment 3 Rex Dieter 2017-01-26 20:00:27 UTC
Alternatively, I'd been considering ways of packaging parallel-versions of sip, so legacy bindings (like pykde4) could continue working with the old, while newer releases (like python-qt5) can use newer/latest versions.

Comment 4 Rex Dieter 2017-01-26 21:06:55 UTC
Good news, found a fix upstream, doing test builds now.

Comment 5 Rex Dieter 2017-01-26 21:34:46 UTC
yay, it worked,