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. [EMAIL PROTECTED] http://www.debian.org/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]