Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 668014 - dev-python/PyQt5-5.11.3 - missing private sip module
Summary: dev-python/PyQt5-5.11.3 - missing private sip module
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords: PMASKED
: 668012 668134 668912 669480 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-10-08 06:38 UTC by Denis Descheneaux
Modified: 2018-12-27 19:51 UTC (History)
11 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
ebuild patch for sip-4.19.13 (ebuild.patch,395 bytes, patch)
2018-12-14 15:01 UTC, Kjell Claesson
Details | Diff
emerge log after sip patch. (emerge.log,5.98 KB, text/x-log)
2018-12-14 15:02 UTC, Kjell Claesson
Details
emerge.info (emerge.info,7.56 KB, application/x-info)
2018-12-14 15:05 UTC, Kjell Claesson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Denis Descheneaux 2018-10-08 06:38:44 UTC
http://pyqt.sourceforge.net/Docs/PyQt5/incompatibilities.html

Breaks one package that i know off, possibly others as well...

- qutebrowser

Information from #qutebrowser on freenode

$ python3 -c "from PyQt5 import QtCore"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'PyQt5.sip'
$

Downgrading back to dev-python/PyQt5-5.10.1-r1, qutebrowser launches correctly and the test passes

$ python3 -c "from PyQt5 import QtCore"
[gentoo-ssd] ~
$
Comment 1 Florian Bruhin 2018-10-08 08:24:04 UTC
This seems unrelated to qutebrowser - it adjusted its sip imports with the v1.4.0 release in July.

Taking a quick look at the PyQt5 ebuild, it looks like it doesn't have a separate sip built as PyQt5.sip - see:

http://pyqt.sourceforge.net/Docs/PyQt5/installation.html#downloading-sip
https://www.riverbankcomputing.com/pipermail/pyqt/2018-July/040490.html
Comment 2 Juergen Rose 2018-10-08 09:51:49 UTC
(In reply to Florian Bruhin from comment #1)
> This seems unrelated to qutebrowser - it adjusted its sip imports with the
> v1.4.0 release in July.
> 
> Taking a quick look at the PyQt5 ebuild, it looks like it doesn't have a
> separate sip built as PyQt5.sip - see:
> 
> http://pyqt.sourceforge.net/Docs/PyQt5/installation.html#downloading-sip
> https://www.riverbankcomputing.com/pipermail/pyqt/2018-July/040490.html

Atleast sip-4.19.13 is installed:

root@lynx:/root(7)# qlist -Iv dev-python/sip
dev-python/sip-4.19.13
Comment 3 Juergen Rose 2018-10-08 09:53:25 UTC
See https://bugs.gentoo.org/668012 .
Comment 4 Davide Pesavento (RETIRED) gentoo-dev 2018-10-08 17:43:30 UTC
*** Bug 668012 has been marked as a duplicate of this bug. ***
Comment 5 Larry the Git Cow gentoo-dev 2018-10-08 18:05:13 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=663191c298a0a06f56c2d6a0bb963c3a13fb7309

commit 663191c298a0a06f56c2d6a0bb963c3a13fb7309
Author:     Davide Pesavento <pesa@gentoo.org>
AuthorDate: 2018-10-08 18:03:13 +0000
Commit:     Davide Pesavento <pesa@gentoo.org>
CommitDate: 2018-10-08 18:05:03 +0000

    package.mask: mask >=dev-python/PyQt5-5.11
    
    Bug: https://bugs.gentoo.org/668014
    Signed-off-by: Davide Pesavento <pesa@gentoo.org>

 profiles/package.mask | 4 ++++
 1 file changed, 4 insertions(+)
Comment 6 Kjell Claesson 2018-12-14 15:01:14 UTC
Created attachment 557774 [details, diff]
ebuild patch for sip-4.19.13

Sip is supplying the PyQt5.sip module. So by building sip with the added line in the ebuild, then building PyQt5-5.11.3 you get the private sip module.

So the problem is not in PyQt5.

Also adding buildlog. Where all dependants on PyQt5 is rebuilt.
Comment 7 Kjell Claesson 2018-12-14 15:02:50 UTC
Created attachment 557776 [details]
emerge log after sip patch.
Comment 8 Kjell Claesson 2018-12-14 15:05:08 UTC
Created attachment 557778 [details]
emerge.info
Comment 9 Davide Pesavento (RETIRED) gentoo-dev 2018-12-16 20:05:18 UTC
(In reply to Kjell Claesson from comment #6)
> Created attachment 557774 [details, diff] [details, diff]
> ebuild patch for sip-4.19.13
> 
> Sip is supplying the PyQt5.sip module. So by building sip with the added
> line in the ebuild, then building PyQt5-5.11.3 you get the private sip
> module.

I'm well aware of how the pieces fit together, but what you propose is clearly not a viable solution. We can't require sip to know about all its possible reverse deps and build a private module for each of them... Upstream said that in the future this will be the only supported way to build the sip module, so many more reverse deps will switch to this model.

> So the problem is not in PyQt5.

Yes, it is. PyQt5 started requiring a private sip module, so it _is_ PyQt5's responsibility to deal with the newly added dependency.

The "proper" solution is to add a new package that provides a private sip module for PyQt5. Going forward, for each package that switches to the new model we'll have to introduce a ${pkg}-sip ebuild that installs a private sip module for that package.
Comment 10 Davide Pesavento (RETIRED) gentoo-dev 2018-12-24 18:44:17 UTC
*** Bug 668912 has been marked as a duplicate of this bug. ***
Comment 11 Davide Pesavento (RETIRED) gentoo-dev 2018-12-24 18:45:33 UTC
*** Bug 669480 has been marked as a duplicate of this bug. ***
Comment 12 Davide Pesavento (RETIRED) gentoo-dev 2018-12-24 18:48:21 UTC
*** Bug 668134 has been marked as a duplicate of this bug. ***
Comment 13 Larry the Git Cow gentoo-dev 2018-12-27 19:49:31 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8d0d6435b8fe7be80634a35d98851b071a57c817

commit 8d0d6435b8fe7be80634a35d98851b071a57c817
Author:     Davide Pesavento <pesa@gentoo.org>
AuthorDate: 2018-12-27 19:46:26 +0000
Commit:     Davide Pesavento <pesa@gentoo.org>
CommitDate: 2018-12-27 19:49:11 +0000

    package.mask: drop dev-python/PyQt5 mask
    
    Bug: https://bugs.gentoo.org/668014
    Signed-off-by: Davide Pesavento <pesa@gentoo.org>

 profiles/package.mask | 4 ----
 1 file changed, 4 deletions(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=082b4da4012eaca5a5a4b17e2cd2300e90eabba1

commit 082b4da4012eaca5a5a4b17e2cd2300e90eabba1
Author:     Davide Pesavento <pesa@gentoo.org>
AuthorDate: 2018-12-27 19:42:15 +0000
Commit:     Davide Pesavento <pesa@gentoo.org>
CommitDate: 2018-12-27 19:49:11 +0000

    dev-python/PyQt5: remove broken 5.11.3
    
    Bug: https://bugs.gentoo.org/668014
    Package-Manager: Portage-2.3.52, Repoman-2.3.12
    Signed-off-by: Davide Pesavento <pesa@gentoo.org>

 dev-python/PyQt5/Manifest            |   1 -
 dev-python/PyQt5/PyQt5-5.11.3.ebuild | 195 -----------------------------------
 2 files changed, 196 deletions(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1252c19b894ba758e02a5efe468b9771bc76923c

commit 1252c19b894ba758e02a5efe468b9771bc76923c
Author:     Davide Pesavento <pesa@gentoo.org>
AuthorDate: 2018-12-27 19:39:19 +0000
Commit:     Davide Pesavento <pesa@gentoo.org>
CommitDate: 2018-12-27 19:49:10 +0000

    dev-python/PyQt5: add 5.12 snapshot
    
    This depends on the new private SIP module (dev-python/PyQt5-sip).
    
    Added support for QtNetworkAuth.
    QtWebEngine support has been removed since it is no longer present
    in the source tarball and will likely be packaged separately.
    
    Bug: https://bugs.gentoo.org/668014
    Package-Manager: Portage-2.3.52, Repoman-2.3.12
    Signed-off-by: Davide Pesavento <pesa@gentoo.org>

 dev-python/PyQt5/Manifest                        |   1 +
 dev-python/PyQt5/PyQt5-5.12_pre1812231618.ebuild | 196 +++++++++++++++++++++++
 dev-python/PyQt5/metadata.xml                    |   1 +
 3 files changed, 198 insertions(+)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=02f083936236b26158bfd6be33a985ebe7631c51

commit 02f083936236b26158bfd6be33a985ebe7631c51
Author:     Davide Pesavento <pesa@gentoo.org>
AuthorDate: 2018-12-27 19:24:39 +0000
Commit:     Davide Pesavento <pesa@gentoo.org>
CommitDate: 2018-12-27 19:49:08 +0000

    dev-python/PyQt5-sip: new package
    
    This is the private SIP module (sip.so) for PyQt5, required since PyQt5-5.11.
    
    Bug: https://bugs.gentoo.org/668014
    Package-Manager: Portage-2.3.52, Repoman-2.3.12
    Signed-off-by: Davide Pesavento <pesa@gentoo.org>

 dev-python/PyQt5-sip/Manifest                      |  1 +
 .../PyQt5-sip-4.19.14_pre1812231555.ebuild         | 91 ++++++++++++++++++++++
 dev-python/PyQt5-sip/metadata.xml                  | 18 +++++
 3 files changed, 110 insertions(+)
Comment 14 Davide Pesavento (RETIRED) gentoo-dev 2018-12-27 19:51:55 UTC
This should be fixed in the new 5.12 snapshot.