[pkg-otr-team] Bug#767230: bitlbee-plugin-otr: bitlbee no longer starts: libotr API version 4.1.0 incompatible with actual version 4.0.0

Sebastian Ramacher sramacher at debian.org
Wed Oct 29 14:43:44 UTC 2014


Control: reassign -1 libotr5 4.1.0-1
Control: tags -1 + patch
Control: affects -1 bitlbee-plugin-otr

On 2014-10-29 13:48:00, Wilmer van der Gaast wrote:
> This should fix itself when libotr5 4.1 enters testing. I'm told that
> irssi-otr and pidgin have exactly the same issue.

Oh, I see. The check is in libotr. src/proto.c has the following lines
in otrl_init:

      if (ver_major != OTRL_VERSION_MAJOR || ver_minor > OTRL_VERSION_MINOR) {
  »»fprintf(stderr, "Expected libotr API version %u.%u.%u incompatible "
  »»»»"with actual version %u.%u.%u.  Aborting.\n",
  »»»»ver_major, ver_minor, ver_sub,
  »»»»OTRL_VERSION_MAJOR, OTRL_VERSION_MINOR, OTRL_VERSION_SUB);
>>»»return gcry_error(GPG_ERR_INV_VALUE);
      }

and in src/proto.h:

#define OTRL_INIT do { \
»»if (otrl_init(OTRL_VERSION_MAJOR, OTRL_VERSION_MINOR, \
»»»»OTRL_VERSION_SUB)) { \
»»    exit(1); \
»»} \
    } while(0)

Calling OTRL_INIT is apparently the recommend way to initialize libotr.
However, this causes issues if a program is built against libotr 4.1 but
used with libotr 4.0 as it just happend to bitlbee-plugin-otr. The
package built against libotr 4.1.0 migrated to testing before libotr
4.1.0-1 since the appropriate versioned dependencies are missing.

The attached patch uses shlibs to generate the proper dependencies.

Cheers
-- 
Sebastian Ramacher
-------------- next part --------------
diff -Nru libotr-4.1.0/debian/changelog libotr-4.1.0/debian/changelog
--- libotr-4.1.0/debian/changelog	2014-10-21 22:26:51.000000000 +0200
+++ libotr-4.1.0/debian/changelog	2014-10-29 15:29:55.000000000 +0100
@@ -1,3 +1,11 @@
+libotr (4.1.0-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Generate tighter dependencies on libotr5 since the API version is checked
+    during runtime.
+
+ -- Sebastian Ramacher <sramacher at debian.org>  Wed, 29 Oct 2014 15:29:35 +0100
+
 libotr (4.1.0-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru libotr-4.1.0/debian/rules libotr-4.1.0/debian/rules
--- libotr-4.1.0/debian/rules	2014-10-21 22:26:51.000000000 +0200
+++ libotr-4.1.0/debian/rules	2014-10-29 15:31:56.000000000 +0100
@@ -12,3 +12,6 @@
 	   $(shell DEB_BUILD_MAINT_OPTIONS=hardening=+all dpkg-buildflags --export=configure)
 override_dh_install:
 	dh_install --fail-missing -X.la
+
+override_dh_makeshlibs:
+	dh_makeshlibs -plibotr5 -V 'libotr5 (>= 4.1.0)'
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-otr-team/attachments/20141029/603c2999/attachment.sig>


More information about the Pkg-otr-team mailing list