[PyKDE] Updating to the latest versions of eric/sip/PyQt/PyKDE ...

Jim Bublitz jbublitz at nwinternet.com
Tue Apr 27 20:50:00 BST 2004


On Tuesday April 27 2004 04:32, Joachim Werner wrote:
> We have shipped the following versions with SUSE LINUX 9.1:

> - eric-3.3.1
> - sip-3.10.1
> - PyQt-3.11

> PyKDE wasn't ready for shipment at the time the 9.1 distro was
> prepared.

> Now we are in the process of preparing an SDK (add-ons and
> development tools that are not part of the SUSE LINUX Server,
> but needed to develop software for it).

> The problem we have (as usual) is that on the one hand we want
> to ship with the latest code, but on the other hand we have to
> keep the enterprise Linux distribution stable for a long time
> and don't want to have to maintain several versions of the
> same tool.

Both PyKDE and PyQt maintain backward support pretty well. I 
still test/maintain PyKDE back to KDE3.0.0/SuSE8.x for every 
release.

> My question to the maintainers of the above products:

> Considering that the SDK will have an expected lifetime of at
> least one year, would you feel comfortable with us shipping
> the above versions (+ PyKDE 3.11 if everything works out as
> planned) or should we use later versions?

It depends on your timing. As of about 5 minutes ago PyKDE-3.11 
will build against either sip 3.10.1 or the latest sip 4.0 
snapshot. There is one trivial issue (one member variable in one 
fairly obscure class) and a couple things to verify, but 
otherwise there don't appear to be any problems - PyKDE loads 
and executes fine, and any bugs are in both versions as far as I 
know.  That's through KDE 3.2.2 and whatever Qt version was 
packaged with the latest SuSE KDE rpms.

I basically have one section of code to check out yet, plus a few 
changes to build system, and PyKDE will be complete for 3.10.1 
(minus documentation, which is still going to take a while). A 
sip4.0 "final" version mostly involves some cleanup of compiler 
warnings, but I think those are cosmetic and not functional.

It basically depends on your schedule and Phil's sip 4.0final 
release schedule - I believe Phil is pretty close. PyQt and 
PyKDE will work with either sip version. People switching from 
sip3.10.1 to sip4.0 would have to rebuild though.

> Updating eric to 3.4.1 should be no problem, but my main
> concern is sip. sip 4 doesn't seem to be completely working
> with PyKDE yet.

It works here on SuSE8.2/9.0. Haven't tried other platforms yet, 
but I don't expect major problems.

> The real problem is compatibility of applications written
> using those tools/bindings. If we can make sure that a Python
> program that was written against the current PyQt and/or PyKDE
> will run without problems on later versions then updating
> those wouldn't cause me any headaches.

At the Python level, there's no difference between sip3 or sip4 
based versions. The differences are all in the generated C++ 
code - even the sip files are compatible (except for 4 lines in 
PyKDE that require a #if SIP_VERSION for a cast).

Python programmers shouldn't be able to tell the difference 
between the two versions.

There are three reasons PyKDE lags:

1. My personal schedule, which I sometimes don't have control 
over. I plan to release the tools that build PyKDE so that even 
someone relatively unfamiliar with sip should be able to 
generate it if I'm delayed.  The parts that need some additional 
knowledge of sip are usually fairly obscure anyway.

2. sip changes - this is becoming a non-issue, and in fact Phil 
has eliminated some long-standing obscure problems (affecting 
only a few methods) and sip4 looks like it will offer code 
stability.

3. Major KDE upgrades: KDE2->3 was time-consuming, changes like 
KDE 3.1->3.2 are less so. I haven't looked at it very closely, 
but KDE/Qt3->4 will probably take some work. It's easier now 
though to develop PyKDE along with the KDE betas/rcs, and I'll 
probably start doing that, which should eliminate some of the 
lag.


Jim




More information about the PyQt mailing list