Bug#1061895: apriltag: NMU diff for 64-bit time_t transition

Steve Langasek vorlon at debian.org
Tue Jan 30 01:00:47 GMT 2024


Source: apriltag
Version: 3.3.0-2
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
apriltag 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 apriltag
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 apriltag-3.3.0/debian/changelog apriltag-3.3.0/debian/changelog
--- apriltag-3.3.0/debian/changelog	2023-09-30 19:21:36.000000000 +0000
+++ apriltag-3.3.0/debian/changelog	2024-01-30 01:00:16.000000000 +0000
@@ -1,3 +1,10 @@
+apriltag (3.3.0-2.1) experimental; urgency=medium
+
+  * Non-maintainer upload.
+  * Rename libraries for 64-bit time_t transition.
+
+ -- Steve Langasek <vorlon at debian.org>  Tue, 30 Jan 2024 01:00:16 +0000
+
 apriltag (3.3.0-2) unstable; urgency=medium
 
   * I ship cmake files into arch-specific directories
diff -Nru apriltag-3.3.0/debian/control apriltag-3.3.0/debian/control
--- apriltag-3.3.0/debian/control	2023-09-30 18:52:15.000000000 +0000
+++ apriltag-3.3.0/debian/control	2024-01-30 01:00:16.000000000 +0000
@@ -15,7 +15,10 @@
 Vcs-Git: https://salsa.debian.org/science-team/apriltag.git
 Homepage: https://april.eecs.umich.edu/software/apriltag.html
 
-Package: libapriltag3
+Package: libapriltag3t64
+Provides: ${t64:Provides}
+Replaces: libapriltag3
+Breaks: libapriltag3 (<< ${source:Version})
 Architecture: any
 Multi-Arch: same
 Depends: ${shlibs:Depends},
diff -Nru apriltag-3.3.0/debian/libapriltag3.install apriltag-3.3.0/debian/libapriltag3.install
--- apriltag-3.3.0/debian/libapriltag3.install	2022-09-09 01:33:23.000000000 +0000
+++ apriltag-3.3.0/debian/libapriltag3.install	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-usr/lib/*/*.so.*
diff -Nru apriltag-3.3.0/debian/libapriltag3.symbols apriltag-3.3.0/debian/libapriltag3.symbols
--- apriltag-3.3.0/debian/libapriltag3.symbols	2022-09-09 01:33:23.000000000 +0000
+++ apriltag-3.3.0/debian/libapriltag3.symbols	1970-01-01 00:00:00.000000000 +0000
@@ -1,191 +0,0 @@
-libapriltag-utils.so.3 libapriltag3 #MINVER#
-* Build-Depends-Package: libapriltag-dev
- _str_concat_private at Base 3.1.7
- getopt_add_bool at Base 3.1.7
- getopt_add_double at Base 3.1.7
- getopt_add_int at Base 3.1.7
- getopt_add_spacer at Base 3.1.7
- getopt_add_string at Base 3.1.7
- getopt_create at Base 3.1.7
- getopt_destroy at Base 3.1.7
- getopt_do_usage at Base 3.1.7
- getopt_get_bool at Base 3.1.7
- getopt_get_double at Base 3.1.7
- getopt_get_extra_args at Base 3.1.7
- getopt_get_int at Base 3.1.7
- getopt_get_string at Base 3.1.7
- getopt_get_usage at Base 3.1.7
- getopt_option_destroy at Base 3.1.7
- getopt_parse at Base 3.1.7
- getopt_was_specified at Base 3.1.7
- image_u8_convolve_2D at Base 3.1.7
- image_u8_copy at Base 3.1.7
- image_u8_create at Base 3.1.7
- image_u8_create_alignment at Base 3.1.7
- image_u8_create_from_f32 at Base 3.1.7
- image_u8_create_from_pnm at Base 3.1.7
- image_u8_create_from_pnm_alignment at Base 3.1.7
- image_u8_create_stride at Base 3.1.7
- image_u8_darken at Base 3.1.7
- image_u8_decimate at Base 3.1.7
- image_u8_destroy at Base 3.1.7
- image_u8_draw_annulus at Base 3.1.7
- image_u8_draw_circle at Base 3.1.7
- image_u8_draw_line at Base 3.1.7
- image_u8_fill_line_max at Base 3.1.7
- image_u8_gaussian_blur at Base 3.1.7
- image_u8_rotate at Base 3.1.7
- image_u8_write_pnm at Base 3.1.7
- image_u8x3_copy at Base 3.1.7
- image_u8x3_create at Base 3.1.7
- image_u8x3_create_alignment at Base 3.1.7
- image_u8x3_create_from_pnm at Base 3.1.7
- image_u8x3_destroy at Base 3.1.7
- image_u8x3_draw_line at Base 3.1.7
- image_u8x3_gaussian_blur at Base 3.1.7
- image_u8x3_write_pnm at Base 3.1.7
- image_u8x4_copy at Base 3.1.7
- image_u8x4_create at Base 3.1.7
- image_u8x4_create_alignment at Base 3.1.7
- image_u8x4_create_from_pam at Base 3.1.7
- image_u8x4_create_from_pnm at Base 3.1.7
- image_u8x4_destroy at Base 3.1.7
- image_u8x4_write_pam at Base 3.1.7
- image_u8x4_write_pnm at Base 3.1.7
- pam_convert at Base 3.1.7
- pam_copy at Base 3.1.7
- pam_create_from_file at Base 3.1.7
- pam_destroy at Base 3.1.7
- pam_write_file at Base 3.1.7
- pjpeg_create_from_buffer at Base 3.1.7
- pjpeg_create_from_file at Base 3.1.7
- pjpeg_destroy at Base 3.1.7
- pjpeg_idct_2D_double at Base 3.1.7
- pjpeg_idct_2D_nanojpeg at Base 3.1.7
- pjpeg_idct_2D_u32 at Base 3.1.7
- pjpeg_to_u8_baseline at Base 3.1.7
- pjpeg_to_u8x3_baseline at Base 3.1.7
- pnm_create_from_file at Base 3.1.7
- pnm_destroy at Base 3.1.7
- sprintf_alloc at Base 3.1.7
- str_diff_idx at Base 3.1.7
- str_ends_with at Base 3.1.7
- str_expand_envs at Base 3.1.7
- str_indexof at Base 3.1.7
- str_last_indexof at Base 3.1.7
- str_lstrip at Base 3.1.7
- str_matches_any at Base 3.1.7
- str_replace at Base 3.1.7
- str_replace_many at Base 3.1.7
- str_rstrip at Base 3.1.7
- str_split at Base 3.1.7
- str_split_destroy at Base 3.1.7
- str_split_spaces at Base 3.1.7
- str_starts_with at Base 3.1.7
- str_starts_with_any at Base 3.1.7
- str_substring at Base 3.1.7
- str_tolowercase at Base 3.1.7
- str_touppercase at Base 3.1.7
- str_trim at Base 3.1.7
- string_buffer_append at Base 3.1.7
- string_buffer_append_string at Base 3.1.7
- string_buffer_appendf at Base 3.1.7
- string_buffer_create at Base 3.1.7
- string_buffer_destroy at Base 3.1.7
- string_buffer_ends_with at Base 3.1.7
- string_buffer_pop_back at Base 3.1.7
- string_buffer_reset at Base 3.1.7
- string_buffer_size at Base 3.1.7
- string_buffer_to_string at Base 3.1.7
- string_feeder_create at Base 3.1.7
- string_feeder_destroy at Base 3.1.7
- string_feeder_get_column at Base 3.1.7
- string_feeder_get_line at Base 3.1.7
- string_feeder_has_next at Base 3.1.7
- string_feeder_next at Base 3.1.7
- string_feeder_next_length at Base 3.1.7
- string_feeder_peek at Base 3.1.7
- string_feeder_peek_length at Base 3.1.7
- string_feeder_require at Base 3.1.7
- string_feeder_starts_with at Base 3.1.7
- time_util_hhmmss_ss_to_utime at Base 3.1.7
- timeutil_ms_to_us at Base 3.1.7
- timeutil_rest_create at Base 3.1.7
- timeutil_rest_destroy at Base 3.1.7
- timeutil_sleep at Base 3.1.7
- timeutil_sleep_hz at Base 3.1.7
- timeutil_timer_reset at Base 3.1.7
- timeutil_timer_start at Base 3.1.7
- timeutil_timer_stop at Base 3.1.7
- timeutil_timer_timeout at Base 3.1.7
- timeutil_usleep at Base 3.1.7
- utime_get_seconds at Base 3.1.7
- utime_get_useconds at Base 3.1.7
- utime_now at Base 3.1.7
- utime_to_timespec at Base 3.1.7
- utime_to_timeval at Base 3.1.7
- vsprintf_alloc at Base 3.1.7
- zarray_vmap at Base 3.1.7
- zhash_clear at Base 3.1.7
- zhash_contains at Base 3.1.7
- zhash_copy at Base 3.1.7
- zhash_create at Base 3.1.7
- zhash_create_capacity at Base 3.1.7
- zhash_debug at Base 3.1.7
- zhash_destroy at Base 3.1.7
- zhash_get at Base 3.1.7
- zhash_get_volatile at Base 3.1.7
- zhash_iterator_init at Base 3.1.7
- zhash_iterator_init_const at Base 3.1.7
- zhash_iterator_next at Base 3.1.7
- zhash_iterator_next_volatile at Base 3.1.7
- zhash_iterator_remove at Base 3.1.7
- zhash_keys at Base 3.1.7
- zhash_map_keys at Base 3.1.7
- zhash_map_values at Base 3.1.7
- zhash_ptr_equals at Base 3.1.7
- zhash_ptr_hash at Base 3.1.7
- zhash_put at Base 3.1.7
- zhash_remove at Base 3.1.7
- zhash_size at Base 3.1.7
- zhash_str_equals at Base 3.1.7
- zhash_str_hash at Base 3.1.7
- zhash_uint32_equals at Base 3.1.7
- zhash_uint32_hash at Base 3.1.7
- zhash_uint64_equals at Base 3.1.7
- zhash_uint64_hash at Base 3.1.7
- zhash_values at Base 3.1.7
- zhash_vmap_keys at Base 3.1.7
- zhash_vmap_values at Base 3.1.7
- zstrcmp at Base 3.1.7
-libapriltag.so.3 libapriltag3 #MINVER#
-* Build-Depends-Package: libapriltag-dev
- apriltag_detection_destroy at Base 3.1.7
- apriltag_detections_destroy at Base 3.1.7
- apriltag_detector_add_family_bits at Base 3.1.7
- apriltag_detector_clear_families at Base 3.1.7
- apriltag_detector_create at Base 3.1.7
- apriltag_detector_destroy at Base 3.1.7
- apriltag_detector_detect at Base 3.1.7
- apriltag_detector_remove_family at Base 3.1.7
- apriltag_quad_thresh at Base 3.1.7
- apriltag_to_image at Base 3.1.7
- estimate_tag_pose at Base 3.1.7
- tag16h5_create at Base 3.1.7
- tag16h5_destroy at Base 3.1.7
- tag25h9_create at Base 3.1.7
- tag25h9_destroy at Base 3.1.7
- tag36h10_create at Base 3.2.0
- tag36h10_destroy at Base 3.2.0
- tag36h11_create at Base 3.1.7
- tag36h11_destroy at Base 3.1.7
- tagCircle21h7_create at Base 3.1.7
- tagCircle21h7_destroy at Base 3.1.7
- tagCircle49h12_create at Base 3.1.7
- tagCircle49h12_destroy at Base 3.1.7
- tagCustom48h12_create at Base 3.1.7
- tagCustom48h12_destroy at Base 3.1.7
- tagStandard41h12_create at Base 3.1.7
- tagStandard41h12_destroy at Base 3.1.7
- tagStandard52h13_create at Base 3.1.7
- tagStandard52h13_destroy at Base 3.1.7
diff -Nru apriltag-3.3.0/debian/libapriltag3t64.install apriltag-3.3.0/debian/libapriltag3t64.install
--- apriltag-3.3.0/debian/libapriltag3t64.install	1970-01-01 00:00:00.000000000 +0000
+++ apriltag-3.3.0/debian/libapriltag3t64.install	2022-09-09 01:33:23.000000000 +0000
@@ -0,0 +1 @@
+usr/lib/*/*.so.*
diff -Nru apriltag-3.3.0/debian/libapriltag3t64.lintian-overrides apriltag-3.3.0/debian/libapriltag3t64.lintian-overrides
--- apriltag-3.3.0/debian/libapriltag3t64.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ apriltag-3.3.0/debian/libapriltag3t64.lintian-overrides	2024-01-30 01:00:16.000000000 +0000
@@ -0,0 +1 @@
+libapriltag3t64: package-name-doesnt-match-sonames libapriltag3
diff -Nru apriltag-3.3.0/debian/libapriltag3t64.symbols apriltag-3.3.0/debian/libapriltag3t64.symbols
--- apriltag-3.3.0/debian/libapriltag3t64.symbols	1970-01-01 00:00:00.000000000 +0000
+++ apriltag-3.3.0/debian/libapriltag3t64.symbols	2024-01-30 01:00:16.000000000 +0000
@@ -0,0 +1,191 @@
+libapriltag-utils.so.3 libapriltag3t64 #MINVER#
+* Build-Depends-Package: libapriltag-dev
+ _str_concat_private at Base 3.1.7
+ getopt_add_bool at Base 3.1.7
+ getopt_add_double at Base 3.1.7
+ getopt_add_int at Base 3.1.7
+ getopt_add_spacer at Base 3.1.7
+ getopt_add_string at Base 3.1.7
+ getopt_create at Base 3.1.7
+ getopt_destroy at Base 3.1.7
+ getopt_do_usage at Base 3.1.7
+ getopt_get_bool at Base 3.1.7
+ getopt_get_double at Base 3.1.7
+ getopt_get_extra_args at Base 3.1.7
+ getopt_get_int at Base 3.1.7
+ getopt_get_string at Base 3.1.7
+ getopt_get_usage at Base 3.1.7
+ getopt_option_destroy at Base 3.1.7
+ getopt_parse at Base 3.1.7
+ getopt_was_specified at Base 3.1.7
+ image_u8_convolve_2D at Base 3.1.7
+ image_u8_copy at Base 3.1.7
+ image_u8_create at Base 3.1.7
+ image_u8_create_alignment at Base 3.1.7
+ image_u8_create_from_f32 at Base 3.1.7
+ image_u8_create_from_pnm at Base 3.1.7
+ image_u8_create_from_pnm_alignment at Base 3.1.7
+ image_u8_create_stride at Base 3.1.7
+ image_u8_darken at Base 3.1.7
+ image_u8_decimate at Base 3.1.7
+ image_u8_destroy at Base 3.1.7
+ image_u8_draw_annulus at Base 3.1.7
+ image_u8_draw_circle at Base 3.1.7
+ image_u8_draw_line at Base 3.1.7
+ image_u8_fill_line_max at Base 3.1.7
+ image_u8_gaussian_blur at Base 3.1.7
+ image_u8_rotate at Base 3.1.7
+ image_u8_write_pnm at Base 3.1.7
+ image_u8x3_copy at Base 3.1.7
+ image_u8x3_create at Base 3.1.7
+ image_u8x3_create_alignment at Base 3.1.7
+ image_u8x3_create_from_pnm at Base 3.1.7
+ image_u8x3_destroy at Base 3.1.7
+ image_u8x3_draw_line at Base 3.1.7
+ image_u8x3_gaussian_blur at Base 3.1.7
+ image_u8x3_write_pnm at Base 3.1.7
+ image_u8x4_copy at Base 3.1.7
+ image_u8x4_create at Base 3.1.7
+ image_u8x4_create_alignment at Base 3.1.7
+ image_u8x4_create_from_pam at Base 3.1.7
+ image_u8x4_create_from_pnm at Base 3.1.7
+ image_u8x4_destroy at Base 3.1.7
+ image_u8x4_write_pam at Base 3.1.7
+ image_u8x4_write_pnm at Base 3.1.7
+ pam_convert at Base 3.1.7
+ pam_copy at Base 3.1.7
+ pam_create_from_file at Base 3.1.7
+ pam_destroy at Base 3.1.7
+ pam_write_file at Base 3.1.7
+ pjpeg_create_from_buffer at Base 3.1.7
+ pjpeg_create_from_file at Base 3.1.7
+ pjpeg_destroy at Base 3.1.7
+ pjpeg_idct_2D_double at Base 3.1.7
+ pjpeg_idct_2D_nanojpeg at Base 3.1.7
+ pjpeg_idct_2D_u32 at Base 3.1.7
+ pjpeg_to_u8_baseline at Base 3.1.7
+ pjpeg_to_u8x3_baseline at Base 3.1.7
+ pnm_create_from_file at Base 3.1.7
+ pnm_destroy at Base 3.1.7
+ sprintf_alloc at Base 3.1.7
+ str_diff_idx at Base 3.1.7
+ str_ends_with at Base 3.1.7
+ str_expand_envs at Base 3.1.7
+ str_indexof at Base 3.1.7
+ str_last_indexof at Base 3.1.7
+ str_lstrip at Base 3.1.7
+ str_matches_any at Base 3.1.7
+ str_replace at Base 3.1.7
+ str_replace_many at Base 3.1.7
+ str_rstrip at Base 3.1.7
+ str_split at Base 3.1.7
+ str_split_destroy at Base 3.1.7
+ str_split_spaces at Base 3.1.7
+ str_starts_with at Base 3.1.7
+ str_starts_with_any at Base 3.1.7
+ str_substring at Base 3.1.7
+ str_tolowercase at Base 3.1.7
+ str_touppercase at Base 3.1.7
+ str_trim at Base 3.1.7
+ string_buffer_append at Base 3.1.7
+ string_buffer_append_string at Base 3.1.7
+ string_buffer_appendf at Base 3.1.7
+ string_buffer_create at Base 3.1.7
+ string_buffer_destroy at Base 3.1.7
+ string_buffer_ends_with at Base 3.1.7
+ string_buffer_pop_back at Base 3.1.7
+ string_buffer_reset at Base 3.1.7
+ string_buffer_size at Base 3.1.7
+ string_buffer_to_string at Base 3.1.7
+ string_feeder_create at Base 3.1.7
+ string_feeder_destroy at Base 3.1.7
+ string_feeder_get_column at Base 3.1.7
+ string_feeder_get_line at Base 3.1.7
+ string_feeder_has_next at Base 3.1.7
+ string_feeder_next at Base 3.1.7
+ string_feeder_next_length at Base 3.1.7
+ string_feeder_peek at Base 3.1.7
+ string_feeder_peek_length at Base 3.1.7
+ string_feeder_require at Base 3.1.7
+ string_feeder_starts_with at Base 3.1.7
+ time_util_hhmmss_ss_to_utime at Base 3.1.7
+ timeutil_ms_to_us at Base 3.1.7
+ timeutil_rest_create at Base 3.1.7
+ timeutil_rest_destroy at Base 3.1.7
+ timeutil_sleep at Base 3.1.7
+ timeutil_sleep_hz at Base 3.1.7
+ timeutil_timer_reset at Base 3.1.7
+ timeutil_timer_start at Base 3.1.7
+ timeutil_timer_stop at Base 3.1.7
+ timeutil_timer_timeout at Base 3.1.7
+ timeutil_usleep at Base 3.1.7
+ utime_get_seconds at Base 3.1.7
+ utime_get_useconds at Base 3.1.7
+ utime_now at Base 3.1.7
+ utime_to_timespec at Base 3.1.7
+ utime_to_timeval at Base 3.1.7
+ vsprintf_alloc at Base 3.1.7
+ zarray_vmap at Base 3.1.7
+ zhash_clear at Base 3.1.7
+ zhash_contains at Base 3.1.7
+ zhash_copy at Base 3.1.7
+ zhash_create at Base 3.1.7
+ zhash_create_capacity at Base 3.1.7
+ zhash_debug at Base 3.1.7
+ zhash_destroy at Base 3.1.7
+ zhash_get at Base 3.1.7
+ zhash_get_volatile at Base 3.1.7
+ zhash_iterator_init at Base 3.1.7
+ zhash_iterator_init_const at Base 3.1.7
+ zhash_iterator_next at Base 3.1.7
+ zhash_iterator_next_volatile at Base 3.1.7
+ zhash_iterator_remove at Base 3.1.7
+ zhash_keys at Base 3.1.7
+ zhash_map_keys at Base 3.1.7
+ zhash_map_values at Base 3.1.7
+ zhash_ptr_equals at Base 3.1.7
+ zhash_ptr_hash at Base 3.1.7
+ zhash_put at Base 3.1.7
+ zhash_remove at Base 3.1.7
+ zhash_size at Base 3.1.7
+ zhash_str_equals at Base 3.1.7
+ zhash_str_hash at Base 3.1.7
+ zhash_uint32_equals at Base 3.1.7
+ zhash_uint32_hash at Base 3.1.7
+ zhash_uint64_equals at Base 3.1.7
+ zhash_uint64_hash at Base 3.1.7
+ zhash_values at Base 3.1.7
+ zhash_vmap_keys at Base 3.1.7
+ zhash_vmap_values at Base 3.1.7
+ zstrcmp at Base 3.1.7
+libapriltag.so.3 libapriltag3t64 #MINVER#
+* Build-Depends-Package: libapriltag-dev
+ apriltag_detection_destroy at Base 3.1.7
+ apriltag_detections_destroy at Base 3.1.7
+ apriltag_detector_add_family_bits at Base 3.1.7
+ apriltag_detector_clear_families at Base 3.1.7
+ apriltag_detector_create at Base 3.1.7
+ apriltag_detector_destroy at Base 3.1.7
+ apriltag_detector_detect at Base 3.1.7
+ apriltag_detector_remove_family at Base 3.1.7
+ apriltag_quad_thresh at Base 3.1.7
+ apriltag_to_image at Base 3.1.7
+ estimate_tag_pose at Base 3.1.7
+ tag16h5_create at Base 3.1.7
+ tag16h5_destroy at Base 3.1.7
+ tag25h9_create at Base 3.1.7
+ tag25h9_destroy at Base 3.1.7
+ tag36h10_create at Base 3.2.0
+ tag36h10_destroy at Base 3.2.0
+ tag36h11_create at Base 3.1.7
+ tag36h11_destroy at Base 3.1.7
+ tagCircle21h7_create at Base 3.1.7
+ tagCircle21h7_destroy at Base 3.1.7
+ tagCircle49h12_create at Base 3.1.7
+ tagCircle49h12_destroy at Base 3.1.7
+ tagCustom48h12_create at Base 3.1.7
+ tagCustom48h12_destroy at Base 3.1.7
+ tagStandard41h12_create at Base 3.1.7
+ tagStandard41h12_destroy at Base 3.1.7
+ tagStandard52h13_create at Base 3.1.7
+ tagStandard52h13_destroy at Base 3.1.7


More information about the debian-science-maintainers mailing list