[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RFH: python-sip runtime version checks



See #647210 for the most recent instance of these checks causing problems. python-sip will raise a RuntimeError if the upstream version of python-qt4 (specifically PyQt4.QtCore) used at runtime is different than the one the package was built with.

RuntimeError: the PyQt4.QtCore module is version 1 but the PyQt4.Qwt5.Qwt module requires version -1

This check is done in the section starting at line 1258 of siplib/siplib.c.in in the sip4 version currently in unstable (4.13) if you're interested to see the source of the trouble.

I've put a bandage on the immediate issue by uploading an update python-qt4 with breaks added and binNMUing the relevant packages (pykde4, pyqwt5, and qscintilla2), but I think it would be good if we had a better solution than this in the long run since it's going to happen again every time there is a new python-qt4 upstream version.

There is already a dh_sip, but it only examines the sip API version, not the PyQt4 version. I was thinking it might be extended to cover this case and include expanding ${sip:Depends} to generate a versioned depends on python-qt4 >= upstream:Version, python-qt4 << upstream:Version +1. It might also have a ${sip:Breaks} that would automatically update the relevant Breaks when python-qt4 is updated to a new upstream version.

I'm traveling this week, so it might just be the jetlag talking, but that seems reasonable. Comments? Anyone willing to help if it does make sense (my Perl foo is non-existent)?

Scott K


Reply to: