[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