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

Re: libsoqt change Qt3 -> Qt4: change package?



On Thu, Aug 16, 2007 at 09:41:17PM -0500, Steve M. Robbins wrote:

> I need some guidance from library packaging gurus.  

> Libsoqt is a library that is currently linked with Qt3.  I've had a
> request to rebuild it with Qt4 instead (#415382) which can be done by
> simply changing the configuration.

It looks like many of the soqt headers include Qt headers, and consequently
the soqt ABI is dependent on the Qt ABI (e.g., at the top level,
SoQt::init() returns a QWidget *).  I would argue therefore that yes, the
soname should be changed for the qt3->qt4 change, because the ABI has
changed; and the ideal case is for the new qt4-linked package to be
co-installable with the pre-existing qt3-linked package.

> Can I simply upload the reconfigured shared library package, which now
> depends on the qt4 packages rather than qt3 packages?

This is insufficient because any binary packages that are linked against
libsoqt /must/ be forced to relink against both the new libqt and the new
libsoqt at the same time, or else that binary package will be trying to mix
the two Qt ABIs.

> Or do I keep the SONAME but put it into a new package, like we do for
> the gcc ABI transitions?  If so, is there a convention or do I just
> pick a suffix I like (e.g. qt4)?

This would prevent breaking individual packages that depend on libsoqt20,
but would of course leave the old and new versions of libsoqt conflicting
with one another such that all reverse-deps would have to be upgraded as a
group.  This isn't ideal, but given that libsoqt doesn't /have/ any
reverse-deps in Debian, I wouldn't consider it a bug.

> Or do I need to change the SONAME?

In collaboration with upstream, this is the ideal.  With a bit of
autoconfery, it's certainly possible to automatically pick up the qt major
version for inclusion in the soname; c.f. libapt-pkg.

Cheers,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
vorlon@debian.org                                   http://www.debian.org/



Reply to: