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
signature.asc
Description: PGP signature