[Pkg-xmpp-devel] Bug#919487: [libqxmpp0] Bump SONAME of library and add symbols file

Boris Pek tehnick-8 at yandex.ru
Wed Jan 16 16:15:54 GMT 2019


Package: libqxmpp0
Version: 1.0.0-1
Severity: important
X-Debbugs-CC: jeremy.laine at m4x.org


Hi Jeremy,

During long time of maintaining of qxmpp package in Debian archive there
were no packages which were depending from it, so unchanged SONAME (and
package name) did not cause to any problems.

But recently I have found that since 2015 [1] kadu package has become a
reverse dependency of qxmpp.

Unfortunately I have found it after upload of qxmpp/1.0.0-1 to unstable.
Happily qxmpp have a stable API and no changes in kadu sources are
required. But ABI of libqxmpp0 has been somehow changed since 0.9.3-1
and kadu package needs rebuild against it.

I thought that simple binNMU will resolve a situation. But Release Team
requires [2] an increasing of SONAME of library before binNMU.

So my current plan is:
* Change SONAME of library to libqxmpp.so.1 (patch in Debian package +
  similar commit in upstream).
* Rename package libqxmpp0 to libqxmpp1 and upload it to experimental
  (and wait its processing through a NEW queue).
* Upload updated package to unstable and request a binNMU for kadu
  package.

As for changes in ABI between qxmpp/0.9.3-1 and xmpp/1.0.0-1, it is
difficult to find the root of these changes now: they may be caused by
changes in order of functions, in size of structures, in compiler
options, etc.

Unfortunately, we did not provide a symbols file for qxmpp library in a
package in the past so changes in ABI were not detected in time.

I am going to add a symbols file to a package to prevent repeating of
such situation in a future.

More over thanks to special PPA on Launchpad [3] we will be able to
notice ABI changes during library development.

As for library versions in SONAME I decided to increase it only to "1"
(libqxmpp.so.1), because this it enough for now.

After the monitoring the speed of ABI changes in the future we will be
able to switch to any convenient versions scheme (libqxmpp.so.X or
libqxmpp.so.X.Y). (Where X and Y are not related anyhow to library
version as far as you know.)

If you don't have objections I will do changes described above ASAP.

[1] https://tracker.debian.org/media/packages/k/kadu/changelog-4.1-1.1
[2] https://bugs.debian.org/918748
[3] https://launchpad.net/~tehnick/+archive/ubuntu/qxmpp-devel

Best regards,
Boris



More information about the Pkg-xmpp-devel mailing list