On Thu, Oct 26, 2017 at 12:12:05PM -0700, Diane Trout wrote:
> libhts2 introduced an ABI change which broke python-pysam, and a new
> version of python-pysam needed to be released to update to the new ABI.

FTR, this is what changed between the symbols of the version 1.4.1-5 and
1.5-1:

--- 1.4.1-5
+++ dpkg-gensymbolsIEaASY
@@ -178,6 +178,7 @@
  bgzf_flush_try@Base 1.4.1
  bgzf_getc@Base 1.4.1
  bgzf_getline@Base 1.4.1
+ bgzf_hfile@Base 1.5
  bgzf_hopen@Base 1.4.1
  bgzf_index_add_block@Base 1.4.1
  bgzf_index_build_init@Base 1.4.1
@@ -395,7 +396,7 @@
  file_size@Base 1.4.1
  find_file_url@Base 1.4.1
  find_path@Base 1.4.1
- flen@Base 1.4.1
+#MISSING: 1.5# flen@Base 1.4.1
  grp_create_key@Base 1.4.1
  hclose@Base 1.4.1
  hclose_abruptly@Base 1.4.1
@@ -411,6 +412,7 @@
  hfile_plugin_init_libcurl@Base 1.4.1
  hfile_plugin_init_net@Base 1.4.1
  hfile_plugin_init_s3@Base 1.4.1
+ hfile_set_blksize@Base 1.5
  hflush@Base 1.4.1
  hgetc2@Base 1.4.1
  hgetdelim@Base 1.4.1
@@ -436,6 +438,7 @@
  hts_format_file_extension@Base 1.4.1
  hts_get_bgzfp@Base 1.4.1
  hts_get_format@Base 1.4.1
+ hts_get_log_level@Base 1.5
  hts_getline@Base 1.4.1
  hts_hopen@Base 1.4.1
  hts_idx_destroy@Base 1.4.1
@@ -460,6 +463,7 @@
  hts_json_fskip_value@Base 1.4.1
  hts_json_snext@Base 1.4.1
  hts_json_sskip_value@Base 1.4.1
+ hts_log@Base 1.5
  hts_md5_destroy@Base 1.4.1
  hts_md5_final@Base 1.4.1
  hts_md5_hex@Base 1.4.1
@@ -480,6 +484,7 @@
  hts_realloc_or_die@Base 1.4.1
  hts_set_cache_size@Base 1.4.1
  hts_set_fai_filename@Base 1.4.1
+ hts_set_log_level@Base 1.5
  hts_set_opt@Base 1.4.1
  hts_set_thread_pool@Base 1.4.1
  hts_set_threads@Base 1.4.1
@@ -588,7 +593,7 @@
  mfgets@Base 1.4.1
  mfmmap@Base 1.4.1
  mfopen@Base 1.4.1
- mfprintf@Base 1.4.1
+#MISSING: 1.5# mfprintf@Base 1.4.1
  mfread@Base 1.4.1
  mfrecreate@Base 1.4.1
  mfreopen@Base 1.4.1
@@ -704,13 +709,13 @@
  vcf_read@Base 1.4.1
  vcf_write@Base 1.4.1
  vcf_write_line@Base 1.4.1
- vflen@Base 1.4.1
- zfclose@Base 1.4.1
- zfeof@Base 1.4.1
- zfgets@Base 1.4.1
- zfopen@Base 1.4.1
- zfpeek@Base 1.4.1
- zfputs@Base 1.4.1
- zfseeko@Base 1.4.1
- zftello@Base 1.4.1
+#MISSING: 1.5# vflen@Base 1.4.1
+#MISSING: 1.5# zfclose@Base 1.4.1
+#MISSING: 1.5# zfeof@Base 1.4.1
+#MISSING: 1.5# zfgets@Base 1.4.1
+#MISSING: 1.5# zfopen@Base 1.4.1
+#MISSING: 1.5# zfpeek@Base 1.4.1
+#MISSING: 1.5# zfputs@Base 1.4.1
+#MISSING: 1.5# zfseeko@Base 1.4.1
+#MISSING: 1.5# zftello@Base 1.4.1
  zlib_mem_inflate@Base 1.4.1

> libhts2 probably needs a proper symbols file to make it easier to see
> when the ABI is changing. https://wiki.debian.org/UsingSymbolsFiles
> 
> Mattia Rizzolo, also suggests other methods of dealing with managing ABI
> changes.

In pysam's case, it is looking for hts_log, if you had properly checked
the symbols of your package before uploading you should have at least
tweaked the dh_shlibdeps invocation to force a version, or introduced a
.symbols file (very recommended for a case like hstlib where the symbols
seems to be simple).

But then, the ABI is broken, so just nicest symbols handling is not
enough for your case, you need
> Such as bumping soname, changing the package name and use Conflicts, or
> adding versioned Breaks against broken packages

-- 
regards,
                        Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540      .''`.
more about me:  https://mapreri.org                             : :'  :
Launchpad user: https://launchpad.net/~mapreri                  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-

Attachment: signature.asc
Description: PGP signature

Reply via email to