Control: reassign 782799 libgetdns1 0.1.7-1
Control: affects 782799 + python-getdns
Control: tags 782799 + upstream patch

On Sat 2015-04-18 01:48:00 -0400, Daniel Kahn Gillmor wrote:
> Package: python-getdns
> Version: 0.2.1-2
> Severity: grave
> Justification: renders package unusable
> Control: affects -1 libgetdns1
>
> 1 dkg@alice:~$ python -m getdns
> /usr/bin/python: No code object available for getdns
> 1 dkg@alice:~$ python 
> Python 2.7.9 (default, Mar  1 2015, 12:57:24) 
> [GCC 4.9.2] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
>>>> import getdns
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> ImportError: libgetdns.so.1: cannot open shared object file: No such file or 
> directory
>>>> 
> 0 dkg@alice:~$ 
>
>
> Interestingly, libgetdns1 supplies libgetdns.so.0, not libgetdns.so.1:
>
>
> 0 dkg@alice:~$ dpkg -L libgetdns1
> /.
> /usr
> /usr/share
> /usr/share/doc
> /usr/share/doc/libgetdns1
> /usr/share/doc/libgetdns1/changelog.Debian.gz
> /usr/share/doc/libgetdns1/changelog.gz
> /usr/share/doc/libgetdns1/copyright
> /usr/lib
> /usr/lib/x86_64-linux-gnu
> /usr/lib/x86_64-linux-gnu/libgetdns_ext_event.so.0.1.2
> /usr/lib/x86_64-linux-gnu/libgetdns.so.0.1.2
> /usr/lib/x86_64-linux-gnu/libgetdns_ext_ev.so.0.1.2
> /usr/lib/x86_64-linux-gnu/libgetdns_ext_uv.so.0.1.2
> /usr/lib/x86_64-linux-gnu/libgetdns.so.0
> /usr/lib/x86_64-linux-gnu/libgetdns_ext_uv.so.0
> /usr/lib/x86_64-linux-gnu/libgetdns_ext_ev.so.0
> /usr/lib/x86_64-linux-gnu/libgetdns_ext_event.so.0
> 0 dkg@alice:~$ 
>
> Perhaps this is a bug in libgetdns1 instead, and python-getdns is
> doing what it is supposed to do?

Indeed, this is a bug in libgetdns1, not in python-getdns.

The problem stems from a broken libversion in upstream's configure.ac,
and can be fixed with the attached debdiff.

Hope this helps,

     --dkg

commit 5155345712cb9faeac3b13aef67bd487e4f219c3
Author: Daniel Kahn Gillmor <d...@fifthhorseman.net>
Date:   Wed Apr 29 20:46:46 2015 -0400

    Fix libversion numbering (Closes: #782799)

diff --git a/debian/changelog b/debian/changelog
index 5f7540b..6c7dacb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+getdns (0.1.7-2) unstable; urgency=medium
+
+  * Fix libversion numbering (Closes: #782799)
+
+ -- Daniel Kahn Gillmor <d...@fifthhorseman.net>  Wed, 29 Apr 2015 20:46:35 -0400
+
 getdns (0.1.7-1) unstable; urgency=medium
 
   * New upstream version 0.1.7
diff --git a/debian/libgetdns1.symbols b/debian/libgetdns1.symbols
index e7c49c5..3e57e85 100644
--- a/debian/libgetdns1.symbols
+++ b/debian/libgetdns1.symbols
@@ -8,7 +8,24 @@ libgetdns.so.1 libgetdns1 #MINVER#
  getdns_context_destroy@Base 0.1.5
  getdns_context_detach_eventloop@Base 0.1.5
  getdns_context_get_api_information@Base 0.1.5
+ getdns_context_get_append_name@Base 0.1.7
+ getdns_context_get_dns_root_servers@Base 0.1.7
+ getdns_context_get_dns_transport@Base 0.1.7
+ getdns_context_get_dnssec_allowed_skew@Base 0.1.7
+ getdns_context_get_dnssec_trust_anchors@Base 0.1.7
+ getdns_context_get_edns_do_bit@Base 0.1.7
+ getdns_context_get_edns_extended_rcode@Base 0.1.7
+ getdns_context_get_edns_maximum_udp_payload_size@Base 0.1.7
+ getdns_context_get_edns_version@Base 0.1.7
+ getdns_context_get_follow_redirects@Base 0.1.7
+ getdns_context_get_limit_outstanding_queries@Base 0.1.7
+ getdns_context_get_namespaces@Base 0.1.7
  getdns_context_get_num_pending_requests@Base 0.1.5
+ getdns_context_get_resolution_type@Base 0.1.7
+ getdns_context_get_suffix@Base 0.1.7
+ getdns_context_get_timeout@Base 0.1.7
+ getdns_context_get_update_callback@Base 0.1.7
+ getdns_context_get_upstream_recursive_servers@Base 0.1.7
  getdns_context_process_async@Base 0.1.5
  getdns_context_run@Base 0.1.5
  getdns_context_set_append_name@Base 0.1.5
@@ -31,6 +48,7 @@ libgetdns.so.1 libgetdns1 #MINVER#
  getdns_context_set_return_dnssec_status@Base 0.1.5
  getdns_context_set_suffix@Base 0.1.5
  getdns_context_set_timeout@Base 0.1.5
+ getdns_context_set_update_callback@Base 0.1.7
  getdns_context_set_upstream_recursive_servers@Base 0.1.5
  getdns_context_set_use_threads@Base 0.1.5
  getdns_convert_alabel_to_ulabel@Base 0.1.5
@@ -58,6 +76,7 @@ libgetdns.so.1 libgetdns1 #MINVER#
  getdns_display_ip_address@Base 0.1.5
  getdns_general@Base 0.1.5
  getdns_general_sync@Base 0.1.5
+ getdns_get_errorstr_by_id@Base 0.1.7
  getdns_hostname@Base 0.1.5
  getdns_hostname_sync@Base 0.1.5
  getdns_list_create@Base 0.1.5
@@ -76,9 +95,16 @@ libgetdns.so.1 libgetdns1 #MINVER#
  getdns_list_set_int@Base 0.1.5
  getdns_list_set_list@Base 0.1.5
  getdns_pretty_print_dict@Base 0.1.5
+ getdns_pretty_print_list@Base 0.1.7
+ getdns_pretty_snprint_dict@Base 0.1.7
+ getdns_pretty_snprint_list@Base 0.1.7
+ getdns_print_json_dict@Base 0.1.7
+ getdns_print_json_list@Base 0.1.7
  getdns_root_trust_anchor@Base 0.1.5
  getdns_service@Base 0.1.5
  getdns_service_sync@Base 0.1.5
+ getdns_snprint_json_dict@Base 0.1.7
+ getdns_snprint_json_list@Base 0.1.7
  getdns_strerror@Base 0.1.5
  getdns_validate_dnssec@Base 0.1.5
  plain_mem_funcs_user_arg@Base 0.1.5
diff --git a/debian/patches/0001-Fix-libversion-numbering.patch b/debian/patches/0001-Fix-libversion-numbering.patch
new file mode 100644
index 0000000..658498d
--- /dev/null
+++ b/debian/patches/0001-Fix-libversion-numbering.patch
@@ -0,0 +1,41 @@
+From: Daniel Kahn Gillmor <d...@fifthhorseman.net>
+Date: Wed, 29 Apr 2015 21:05:47 -0400
+Subject: Fix libversion numbering
+
+The problem stems from a broken libversion in upstream's configure.ac.
+
+Note that the commentary in configure.ac about how to update
+libversion is correct up to a point, but then breaks things badly.
+This patch removes that as well.
+
+Here is the canonical reference for how to update libversion:
+
+https://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info
+---
+ configure.ac | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 141633c..8e5bbf9 100755
+--- a/configure.ac
++++ b/configure.ac
+@@ -52,17 +52,13 @@ GETDNS_COMPILATION_COMMENT="AC_PACKAGE_STRING configured on $CURRENT_DATE for th
+ # if any interfaces have been added since the last public release then increment age
+ # if any interfaces have been removed or changed since the last public release then
+ #   set age to 0
+-# if api unchanged: no changes
+-# if api broken: current++ ; revision = 0; age = 0
+-# if programs compiled against existing library work and link with new
+-#    version of library with new binary api:  revision++; age++
+ #
+ # getdns-0.1.4 had libversion 0:0:0
+ # getdns-0.1.5 had libversion 1:0:0
+ # getdns-0.1.6 had libversion 1:1:0
+-# getdns-0.1.7 will have libversion 1:2:1
++# getdns-0.1.7 will have libversion 2:2:1
+ #
+-GETDNS_LIBVERSION=1:2:1
++GETDNS_LIBVERSION=2:2:1
+ 
+ AC_SUBST(GETDNS_COMPILATION_COMMENT)
+ AC_SUBST(GETDNS_LIBVERSION)
diff --git a/debian/patches/series b/debian/patches/series
index e69de29..862b55c 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -0,0 +1 @@
+0001-Fix-libversion-numbering.patch

Attachment: signature.asc
Description: PGP signature

Reply via email to