Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 275829 - x11-libs/qscintilla-2.4 and dev-python/qscintilla-python-2.4 ebuilds install wrong version
Summary: x11-libs/qscintilla-2.4 and dev-python/qscintilla-python-2.4 ebuilds install ...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-29 14:05 UTC by Darren Dale
Modified: 2009-06-29 20:16 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Darren Dale 2009-06-29 14:05:53 UTC
The x11-libs/qscintilla-2.4 and dev-python/qscintilla-python-2.4 ebuilds are fetching and installing snapshots that are almost a month out of date rather than the official 2.4 release. For example, in qscintilla-2.4.ebuild:

MY_P="QScintilla-gpl-${PV/_pre/-snapshot-}"

DESCRIPTION="A Qt port of Neil Hodgson's Scintilla C++ editor class"
HOMEPAGE="http://www.riverbankcomputing.co.uk/software/qscintilla/intro"
SRC_URI="http://www.riverbankcomputing.co.uk/static/Downloads/QScintilla2/${MY_P}.tar.gz"


This should be an easy fix. Maybe MY_P should be:

MY_P="QScintilla-gpl-${PV}"

I think I have seen occassional segfaults after installing these snapshots with sip-4.5.1 and pyqt4-4.5.1, although I may be remembering expeeriences with another distro. Still, hopefully this can be fixed in portage quickly.

Reproducible: Always
Comment 1 Darren Dale 2009-06-29 14:20:27 UTC
Ugh. dev-python/sip-4.8.1 is also installing a snapshot for the same reason.
Comment 2 Darren Dale 2009-06-29 14:57:22 UTC
I tried updating the sip, qscintilla and qscintilla-python ebuilds to fix the MY_P variable. But after remerging, I still see in the python interactive interpretter:

from PyQt4 import Qsci
print Qsci.QSCINTILLA_VERSION_STR # yields '2.4-snapshot-20090603'

I don't know where this is coming from, I've unpacked the tarball downloaded by portage and "grep -r QSCINTILLA_VERSION_STR ." yields:

./Qt3/Qsci/qsciglobal.h:#define QSCINTILLA_VERSION_STR  "2.4"
./Qt4/Qsci/qsciglobal.h:#define QSCINTILLA_VERSION_STR  "2.4"
./Python/sip/qscimodcommon.sip:const char *QSCINTILLA_VERSION_STR;
./Python/configure.py:        _, sciversstr = sipconfig.read_version(sciglobal, "QScintilla", "QSCINTILLA_VERSION", "QSCINTILLA_VERSION_STR")
./ChangeLog:Added QSCINTILLA_VERSION, QSCINTILLA_VERSION_STR and QSCINTILLA_BUILD.

I've tried emerge -Cp qscintilla and also manually removing /usr/lib/python2.6/site-packages/PyQt4/Qsci.so, and then importing Qsci which failed as expected since I just removed it from my system. Then I reinstall and check the version string and it still says its a snapshot.
Comment 3 Markos Chandras (RETIRED) gentoo-dev 2009-06-29 16:08:35 UTC
Seriously what are you talking about?

MY_P="QScintilla-gpl-${PV/_pre/-snapshot-}"

will replace _pre on ${PV} with -snapshot- . But it wont replace anything on 2.4 packages since there is no _pre on ${PV}

The bug in invalid

The ebuild downloads QScintilla-gpl-2.4.tar.gz which is the correct ebuild. Same rule applies on every package

Comment 4 Darren Dale 2009-06-29 18:42:41 UTC
(In reply to comment #3)
> Seriously what are you talking about?

>>> from PyQt4 import Qsci
>>> print Qsci.QSCINTILLA_VERSION_STR
2.4-snapshot-20090603


> MY_P="QScintilla-gpl-${PV/_pre/-snapshot-}"
> 
> will replace _pre on ${PV} with -snapshot- . But it wont replace anything on
> 2.4 packages since there is no _pre on ${PV}

I guess I don't understand some of the magic in the new ebuilds. Based on the Qsci python package reporting itself to be a snapshot, and the presence of some code in the ebuild that seemed to point to a snapshot, I naturally concluded that portage installed a snapshot. 

Do you know why the Qsci python package reports itself to be a snapshot?
Comment 5 Markos Chandras (RETIRED) gentoo-dev 2009-06-29 18:54:27 UTC
maybe there are some leftovers on source code or something

Did you rebuild PyQt4?
Comment 6 Darren Dale 2009-06-29 19:20:03 UTC
(In reply to comment #5)
> maybe there are some leftovers on source code or something
> 
> Did you rebuild PyQt4?
> 

Yes I did.
Comment 7 Markos Chandras (RETIRED) gentoo-dev 2009-06-29 19:24:42 UTC
It works for me anyway

>>> from PyQt4 import Qsci
>>> print Qsci.QSCINTILLA_VERSION_STR
2.4

maybe the whole family sip/PyQt4/qscintilla-{,python} need a rebuild
Comment 8 Darren Dale 2009-06-29 19:28:34 UTC
I did that once already, but I'll try again.
Comment 9 Davide Pesavento (RETIRED) gentoo-dev 2009-06-29 19:33:13 UTC
I guess your system has a Qsci.so in a location that overrides the "right" one (/usr/lib/python2.6/site-packages/PyQt4/Qsci.so), thus python loads the wrong library. Can you search your whole system for Qsci.so? Something like
find /usr -type f -name 'Qsci.so'
Comment 10 Darren Dale 2009-06-29 20:16:09 UTC
(In reply to comment #9)
> I guess your system has a Qsci.so in a location that overrides the "right" one

It was actually an old version of qsciglobal.h that was installed (not by portage) in /usr/include/qt4/Qsci. I think this was the only version of qsciglobal.h on my system, even after remerging the entire sip/PyQt4/qscintilla suite, but I'm not certain. I removed /usr/include/qt4/Qsci and remerged and now things look sane again.