Bug#1062033: c-blosc2: NMU diff for 64-bit time_t transition

Steve Langasek vorlon at debian.org
Wed Jan 31 03:16:51 GMT 2024


Source: c-blosc2
Version: 2.13.1+ds-1
Severity: serious
Tags: patch pending
Justification: library ABI skew on upgrade
User: debian-arm at lists.debian.org
Usertags: time-t

Dear maintainer,

As part of the 64-bit time_t transition required to support 32-bit
architectures in 2038 and beyond
(https://wiki.debian.org/ReleaseGoals/64bit-time), we have identified
c-blosc2 as a source package shipping runtime libraries whose ABI
either is affected by the change in size of time_t, or could not be
analyzed via abi-compliance-checker (and therefore to be on the safe
side we assume is affected).

To ensure that inconsistent combinations of libraries with their
reverse-dependencies are never installed together, it is necessary to
have a library transition, which is most easily done by renaming the
runtime library package.

Since turning on 64-bit time_t is being handled centrally through a change
to the default dpkg-buildflags (https://bugs.debian.org/1037136), it is
important that libraries affected by this ABI change all be uploaded close
together in time.  Therefore I have prepared a 0-day NMU for c-blosc2
which will initially be uploaded to experimental if possible, then to
unstable after packages have cleared binary NEW.

Please find the patch for this NMU attached.

If you have any concerns about this patch, please reach out ASAP.  Although
this package will be uploaded to experimental immediately, there will be a
period of several days before we begin uploads to unstable; so if information
becomes available that your package should not be included in the transition,
there is time for us to amend the planned uploads.



-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 6.5.0-14-generic (SMP w/12 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
-------------- next part --------------
diff -Nru c-blosc2-2.13.1+ds/debian/changelog c-blosc2-2.13.1+ds/debian/changelog
--- c-blosc2-2.13.1+ds/debian/changelog	2024-01-27 12:02:41.000000000 +0000
+++ c-blosc2-2.13.1+ds/debian/changelog	2024-01-31 03:15:41.000000000 +0000
@@ -1,3 +1,10 @@
+c-blosc2 (2.13.1+ds-1.1) experimental; urgency=medium
+
+  * Non-maintainer upload.
+  * Rename libraries for 64-bit time_t transition.
+
+ -- Steve Langasek <vorlon at debian.org>  Wed, 31 Jan 2024 03:15:41 +0000
+
 c-blosc2 (2.13.1+ds-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru c-blosc2-2.13.1+ds/debian/control c-blosc2-2.13.1+ds/debian/control
--- c-blosc2-2.13.1+ds/debian/control	2024-01-27 12:02:41.000000000 +0000
+++ c-blosc2-2.13.1+ds/debian/control	2024-01-31 03:15:41.000000000 +0000
@@ -40,7 +40,7 @@
 Section: libdevel
 Architecture: any
 Multi-Arch: same
-Depends: libblosc2-2 (= ${binary:Version}),
+Depends: libblosc2-2t64 (= ${binary:Version}),
          ${misc:Depends},
          ${sphinxdoc:Depends}
 Description: ${source:Synopsis} (development files)
@@ -49,7 +49,10 @@
  This package contains the development files required to build programs against
  Blosc2.
 
-Package: libblosc2-2
+Package: libblosc2-2t64
+Provides: ${t64:Provides}
+Replaces: libblosc2-2
+Breaks: libblosc2-2 (<< ${source:Version})
 Multi-Arch: same
 Architecture: any
 Depends: ${shlibs:Depends},
diff -Nru c-blosc2-2.13.1+ds/debian/libblosc2-2.install c-blosc2-2.13.1+ds/debian/libblosc2-2.install
--- c-blosc2-2.13.1+ds/debian/libblosc2-2.install	2024-01-27 12:02:41.000000000 +0000
+++ c-blosc2-2.13.1+ds/debian/libblosc2-2.install	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-usr/lib/*/lib*.so.*
diff -Nru c-blosc2-2.13.1+ds/debian/libblosc2-2.symbols c-blosc2-2.13.1+ds/debian/libblosc2-2.symbols
--- c-blosc2-2.13.1+ds/debian/libblosc2-2.symbols	2024-01-27 12:02:41.000000000 +0000
+++ c-blosc2-2.13.1+ds/debian/libblosc2-2.symbols	1970-01-01 00:00:00.000000000 +0000
@@ -1,131 +0,0 @@
-# SymbolsHelper-Confirmed: 2.12.0 amd64 arm64 armel armhf hppa hurd-i386 i386 loong64 m68k powerpc ppc64 ppc64el s390x sh4 sparc64 x32
-libblosc2.so.2 #PACKAGE# #MINVER#
-* Build-Depends-Package: libblosc2-dev
- b2nd_append at Base 2.9.2
- b2nd_copy at Base 2.9.2
- b2nd_copy_buffer at Base 2.11.2
- b2nd_create_ctx at Base 2.9.2
- b2nd_delete at Base 2.9.2
- b2nd_empty at Base 2.9.2
- b2nd_free at Base 2.9.2
- b2nd_free_ctx at Base 2.9.2
- b2nd_from_cbuffer at Base 2.9.2
- b2nd_from_cframe at Base 2.9.2
- b2nd_from_schunk at Base 2.9.2
- b2nd_full at Base 2.9.2
- b2nd_get_orthogonal_selection at Base 2.9.2
- b2nd_get_slice at Base 2.9.2
- b2nd_get_slice_cbuffer at Base 2.9.2
- b2nd_insert at Base 2.9.2
- b2nd_open at Base 2.9.2
- b2nd_open_offset at Base 2.9.2
- b2nd_print_meta at Base 2.9.2
- b2nd_resize at Base 2.9.2
- b2nd_save at Base 2.9.2
- b2nd_serialize_meta at Base 2.9.2
- b2nd_set_orthogonal_selection at Base 2.9.2
- b2nd_set_slice_cbuffer at Base 2.9.2
- b2nd_squeeze at Base 2.9.2
- b2nd_squeeze_index at Base 2.9.2
- b2nd_to_cbuffer at Base 2.9.2
- b2nd_to_cframe at Base 2.9.2
- b2nd_uninit at Base 2.9.2
- b2nd_zeros at Base 2.9.2
- blosc1_cbuffer_metainfo at Base 2.9.2
- blosc1_cbuffer_sizes at Base 2.9.2
- blosc1_cbuffer_validate at Base 2.9.2
- blosc1_compress at Base 2.9.2
- blosc1_decompress at Base 2.9.2
- blosc1_get_blocksize at Base 2.9.2
- blosc1_get_compressor at Base 2.9.2
- blosc1_getitem at Base 2.9.2
- blosc1_set_blocksize at Base 2.9.2
- blosc1_set_compressor at Base 2.9.2
- blosc1_set_splitmode at Base 2.9.2
- blosc2_cbuffer_complib at Base 2.9.2
- blosc2_cbuffer_sizes at Base 2.9.2
- blosc2_cbuffer_versions at Base 2.9.2
- blosc2_chunk_nans at Base 2.9.2
- blosc2_chunk_repeatval at Base 2.9.2
- blosc2_chunk_uninit at Base 2.9.2
- blosc2_chunk_zeros at Base 2.9.2
- blosc2_compcode_to_compname at Base 2.9.2
- blosc2_compname_to_compcode at Base 2.9.2
- blosc2_compress at Base 2.9.2
- blosc2_compress_ctx at Base 2.9.2
- blosc2_create_cctx at Base 2.9.2
- blosc2_create_dctx at Base 2.9.2
- blosc2_ctx_get_cparams at Base 2.9.2
- blosc2_ctx_get_dparams at Base 2.9.2
- blosc2_decompress at Base 2.9.2
- blosc2_decompress_ctx at Base 2.9.2
- blosc2_destroy at Base 2.9.2
- blosc2_frame_get_offsets at Base 2.9.2
- blosc2_free_ctx at Base 2.9.2
- blosc2_free_resources at Base 2.9.2
- blosc2_get_complib_info at Base 2.9.2
- blosc2_get_io_cb at Base 2.9.2
- blosc2_get_nthreads at Base 2.9.2
- blosc2_get_slice_nchunks at Base 2.12.0
- blosc2_get_version_string at Base 2.9.2
- blosc2_getitem at Base 2.9.2
- blosc2_getitem_ctx at Base 2.9.2
- blosc2_init at Base 2.9.2
- blosc2_list_compressors at Base 2.9.2
- blosc2_meta_add at Base 2.9.2
- blosc2_meta_update at Base 2.9.2
- blosc2_multidim_to_unidim at Base 2.9.2
- blosc2_register_codec at Base 2.9.2
- blosc2_register_filter at Base 2.9.2
- blosc2_register_io_cb at Base 2.9.2
- blosc2_remove_dir at Base 2.9.2
- blosc2_remove_urlpath at Base 2.9.2
- blosc2_rename_urlpath at Base 2.9.2
- blosc2_schunk_append_buffer at Base 2.9.2
- blosc2_schunk_append_chunk at Base 2.9.2
- blosc2_schunk_append_file at Base 2.9.2
- blosc2_schunk_avoid_cframe_free at Base 2.9.2
- blosc2_schunk_copy at Base 2.9.2
- blosc2_schunk_decompress_chunk at Base 2.9.2
- blosc2_schunk_delete_chunk at Base 2.9.2
- blosc2_schunk_fill_special at Base 2.9.2
- blosc2_schunk_frame_len at Base 2.9.2
- blosc2_schunk_free at Base 2.9.2
- blosc2_schunk_from_buffer at Base 2.9.2
- blosc2_schunk_get_chunk at Base 2.9.2
- blosc2_schunk_get_cparams at Base 2.9.2
- blosc2_schunk_get_dparams at Base 2.9.2
- blosc2_schunk_get_lazychunk at Base 2.9.2
- blosc2_schunk_get_slice_buffer at Base 2.9.2
- blosc2_schunk_insert_chunk at Base 2.9.2
- blosc2_schunk_new at Base 2.9.2
- blosc2_schunk_open at Base 2.9.2
- blosc2_schunk_open_offset at Base 2.9.2
- blosc2_schunk_open_udio at Base 2.9.2
- blosc2_schunk_reorder_offsets at Base 2.9.2
- blosc2_schunk_set_slice_buffer at Base 2.9.2
- blosc2_schunk_to_buffer at Base 2.9.2
- blosc2_schunk_to_file at Base 2.9.2
- blosc2_schunk_update_chunk at Base 2.9.2
- blosc2_set_delta at Base 2.9.2
- blosc2_set_maskout at Base 2.9.2
- blosc2_set_nthreads at Base 2.9.2
- blosc2_set_threads_callback at Base 2.9.2
- blosc2_stdio_close at Base 2.9.2
- blosc2_stdio_open at Base 2.9.2
- blosc2_stdio_read at Base 2.9.2
- blosc2_stdio_seek at Base 2.9.2
- blosc2_stdio_tell at Base 2.9.2
- blosc2_stdio_truncate at Base 2.9.2
- blosc2_stdio_write at Base 2.9.2
- blosc2_unidim_to_multidim at Base 2.9.2
- blosc2_vlmeta_add at Base 2.9.2
- blosc2_vlmeta_delete at Base 2.9.2
- blosc2_vlmeta_exists at Base 2.9.2
- blosc2_vlmeta_get at Base 2.9.2
- blosc2_vlmeta_get_names at Base 2.9.2
- blosc2_vlmeta_update at Base 2.9.2
- blosc_elapsed_nsecs at Base 2.9.2
- blosc_elapsed_secs at Base 2.9.2
- blosc_set_timestamp at Base 2.9.2
- register_tuner_private at Base 2.9.2
diff -Nru c-blosc2-2.13.1+ds/debian/libblosc2-2t64.install c-blosc2-2.13.1+ds/debian/libblosc2-2t64.install
--- c-blosc2-2.13.1+ds/debian/libblosc2-2t64.install	1970-01-01 00:00:00.000000000 +0000
+++ c-blosc2-2.13.1+ds/debian/libblosc2-2t64.install	2024-01-27 12:02:41.000000000 +0000
@@ -0,0 +1 @@
+usr/lib/*/lib*.so.*
diff -Nru c-blosc2-2.13.1+ds/debian/libblosc2-2t64.lintian-overrides c-blosc2-2.13.1+ds/debian/libblosc2-2t64.lintian-overrides
--- c-blosc2-2.13.1+ds/debian/libblosc2-2t64.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ c-blosc2-2.13.1+ds/debian/libblosc2-2t64.lintian-overrides	2024-01-31 03:15:41.000000000 +0000
@@ -0,0 +1 @@
+libblosc2-2t64: package-name-doesnt-match-sonames libblosc2-2
diff -Nru c-blosc2-2.13.1+ds/debian/libblosc2-2t64.symbols c-blosc2-2.13.1+ds/debian/libblosc2-2t64.symbols
--- c-blosc2-2.13.1+ds/debian/libblosc2-2t64.symbols	1970-01-01 00:00:00.000000000 +0000
+++ c-blosc2-2.13.1+ds/debian/libblosc2-2t64.symbols	2024-01-31 03:15:41.000000000 +0000
@@ -0,0 +1,131 @@
+# SymbolsHelper-Confirmed: 2.12.0 amd64 arm64 armel armhf hppa hurd-i386 i386 loong64 m68k powerpc ppc64 ppc64el s390x sh4 sparc64 x32
+libblosc2.so.2 #PACKAGE# #MINVER#
+* Build-Depends-Package: libblosc2-dev
+ b2nd_append at Base 2.9.2
+ b2nd_copy at Base 2.9.2
+ b2nd_copy_buffer at Base 2.11.2
+ b2nd_create_ctx at Base 2.9.2
+ b2nd_delete at Base 2.9.2
+ b2nd_empty at Base 2.9.2
+ b2nd_free at Base 2.9.2
+ b2nd_free_ctx at Base 2.9.2
+ b2nd_from_cbuffer at Base 2.9.2
+ b2nd_from_cframe at Base 2.9.2
+ b2nd_from_schunk at Base 2.9.2
+ b2nd_full at Base 2.9.2
+ b2nd_get_orthogonal_selection at Base 2.9.2
+ b2nd_get_slice at Base 2.9.2
+ b2nd_get_slice_cbuffer at Base 2.9.2
+ b2nd_insert at Base 2.9.2
+ b2nd_open at Base 2.9.2
+ b2nd_open_offset at Base 2.9.2
+ b2nd_print_meta at Base 2.9.2
+ b2nd_resize at Base 2.9.2
+ b2nd_save at Base 2.9.2
+ b2nd_serialize_meta at Base 2.9.2
+ b2nd_set_orthogonal_selection at Base 2.9.2
+ b2nd_set_slice_cbuffer at Base 2.9.2
+ b2nd_squeeze at Base 2.9.2
+ b2nd_squeeze_index at Base 2.9.2
+ b2nd_to_cbuffer at Base 2.9.2
+ b2nd_to_cframe at Base 2.9.2
+ b2nd_uninit at Base 2.9.2
+ b2nd_zeros at Base 2.9.2
+ blosc1_cbuffer_metainfo at Base 2.9.2
+ blosc1_cbuffer_sizes at Base 2.9.2
+ blosc1_cbuffer_validate at Base 2.9.2
+ blosc1_compress at Base 2.9.2
+ blosc1_decompress at Base 2.9.2
+ blosc1_get_blocksize at Base 2.9.2
+ blosc1_get_compressor at Base 2.9.2
+ blosc1_getitem at Base 2.9.2
+ blosc1_set_blocksize at Base 2.9.2
+ blosc1_set_compressor at Base 2.9.2
+ blosc1_set_splitmode at Base 2.9.2
+ blosc2_cbuffer_complib at Base 2.9.2
+ blosc2_cbuffer_sizes at Base 2.9.2
+ blosc2_cbuffer_versions at Base 2.9.2
+ blosc2_chunk_nans at Base 2.9.2
+ blosc2_chunk_repeatval at Base 2.9.2
+ blosc2_chunk_uninit at Base 2.9.2
+ blosc2_chunk_zeros at Base 2.9.2
+ blosc2_compcode_to_compname at Base 2.9.2
+ blosc2_compname_to_compcode at Base 2.9.2
+ blosc2_compress at Base 2.9.2
+ blosc2_compress_ctx at Base 2.9.2
+ blosc2_create_cctx at Base 2.9.2
+ blosc2_create_dctx at Base 2.9.2
+ blosc2_ctx_get_cparams at Base 2.9.2
+ blosc2_ctx_get_dparams at Base 2.9.2
+ blosc2_decompress at Base 2.9.2
+ blosc2_decompress_ctx at Base 2.9.2
+ blosc2_destroy at Base 2.9.2
+ blosc2_frame_get_offsets at Base 2.9.2
+ blosc2_free_ctx at Base 2.9.2
+ blosc2_free_resources at Base 2.9.2
+ blosc2_get_complib_info at Base 2.9.2
+ blosc2_get_io_cb at Base 2.9.2
+ blosc2_get_nthreads at Base 2.9.2
+ blosc2_get_slice_nchunks at Base 2.12.0
+ blosc2_get_version_string at Base 2.9.2
+ blosc2_getitem at Base 2.9.2
+ blosc2_getitem_ctx at Base 2.9.2
+ blosc2_init at Base 2.9.2
+ blosc2_list_compressors at Base 2.9.2
+ blosc2_meta_add at Base 2.9.2
+ blosc2_meta_update at Base 2.9.2
+ blosc2_multidim_to_unidim at Base 2.9.2
+ blosc2_register_codec at Base 2.9.2
+ blosc2_register_filter at Base 2.9.2
+ blosc2_register_io_cb at Base 2.9.2
+ blosc2_remove_dir at Base 2.9.2
+ blosc2_remove_urlpath at Base 2.9.2
+ blosc2_rename_urlpath at Base 2.9.2
+ blosc2_schunk_append_buffer at Base 2.9.2
+ blosc2_schunk_append_chunk at Base 2.9.2
+ blosc2_schunk_append_file at Base 2.9.2
+ blosc2_schunk_avoid_cframe_free at Base 2.9.2
+ blosc2_schunk_copy at Base 2.9.2
+ blosc2_schunk_decompress_chunk at Base 2.9.2
+ blosc2_schunk_delete_chunk at Base 2.9.2
+ blosc2_schunk_fill_special at Base 2.9.2
+ blosc2_schunk_frame_len at Base 2.9.2
+ blosc2_schunk_free at Base 2.9.2
+ blosc2_schunk_from_buffer at Base 2.9.2
+ blosc2_schunk_get_chunk at Base 2.9.2
+ blosc2_schunk_get_cparams at Base 2.9.2
+ blosc2_schunk_get_dparams at Base 2.9.2
+ blosc2_schunk_get_lazychunk at Base 2.9.2
+ blosc2_schunk_get_slice_buffer at Base 2.9.2
+ blosc2_schunk_insert_chunk at Base 2.9.2
+ blosc2_schunk_new at Base 2.9.2
+ blosc2_schunk_open at Base 2.9.2
+ blosc2_schunk_open_offset at Base 2.9.2
+ blosc2_schunk_open_udio at Base 2.9.2
+ blosc2_schunk_reorder_offsets at Base 2.9.2
+ blosc2_schunk_set_slice_buffer at Base 2.9.2
+ blosc2_schunk_to_buffer at Base 2.9.2
+ blosc2_schunk_to_file at Base 2.9.2
+ blosc2_schunk_update_chunk at Base 2.9.2
+ blosc2_set_delta at Base 2.9.2
+ blosc2_set_maskout at Base 2.9.2
+ blosc2_set_nthreads at Base 2.9.2
+ blosc2_set_threads_callback at Base 2.9.2
+ blosc2_stdio_close at Base 2.9.2
+ blosc2_stdio_open at Base 2.9.2
+ blosc2_stdio_read at Base 2.9.2
+ blosc2_stdio_seek at Base 2.9.2
+ blosc2_stdio_tell at Base 2.9.2
+ blosc2_stdio_truncate at Base 2.9.2
+ blosc2_stdio_write at Base 2.9.2
+ blosc2_unidim_to_multidim at Base 2.9.2
+ blosc2_vlmeta_add at Base 2.9.2
+ blosc2_vlmeta_delete at Base 2.9.2
+ blosc2_vlmeta_exists at Base 2.9.2
+ blosc2_vlmeta_get at Base 2.9.2
+ blosc2_vlmeta_get_names at Base 2.9.2
+ blosc2_vlmeta_update at Base 2.9.2
+ blosc_elapsed_nsecs at Base 2.9.2
+ blosc_elapsed_secs at Base 2.9.2
+ blosc_set_timestamp at Base 2.9.2
+ register_tuner_private at Base 2.9.2


More information about the debian-science-maintainers mailing list