Bug#1062242: libcanberra: NMU diff for 64-bit time_t transition

Steve Langasek vorlon at debian.org
Wed Jan 31 20:11:50 GMT 2024


Source: libcanberra
Version: 0.30-11
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
libcanberra 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 libcanberra
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'), (500, 'testing'), (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 libcanberra-0.30/debian/changelog libcanberra-0.30/debian/changelog
--- libcanberra-0.30/debian/changelog	2023-10-26 12:41:49.000000000 +0000
+++ libcanberra-0.30/debian/changelog	2024-01-31 20:10:22.000000000 +0000
@@ -1,3 +1,10 @@
+libcanberra (0.30-11.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 20:10:22 +0000
+
 libcanberra (0.30-11) unstable; urgency=medium
 
   [ Bastian Germann ]
diff -Nru libcanberra-0.30/debian/control libcanberra-0.30/debian/control
--- libcanberra-0.30/debian/control	2023-10-26 12:41:49.000000000 +0000
+++ libcanberra-0.30/debian/control	2024-01-31 20:10:22.000000000 +0000
@@ -23,7 +23,10 @@
 Homepage: https://0pointer.de/lennart/projects/libcanberra/
 Rules-Requires-Root: no
 
-Package: libcanberra0
+Package: libcanberra0t64
+Provides: ${t64:Provides}
+Replaces: libcanberra0
+Breaks: libcanberra0 (<< ${source:Version})
 Architecture: any
 Multi-Arch: same
 Depends: ${shlibs:Depends}, ${misc:Depends}, sound-theme-freedesktop
@@ -43,7 +46,7 @@
 Multi-Arch: same
 Depends: ${shlibs:Depends},
 	 ${misc:Depends},
-	 libcanberra0 (= ${binary:Version})
+	 libcanberra0t64 (= ${binary:Version})
 Description: simple interface for playing event sounds (development files)
  libcanberra defines a simple abstract interface for playing event
  sounds.
@@ -56,7 +59,7 @@
 Multi-Arch: same
 Depends: ${shlibs:Depends},
   ${misc:Depends},
-  libcanberra0 (= ${binary:Version}),
+  libcanberra0t64 (= ${binary:Version}),
   pulseaudio | pipewire-pulse
 Description: PulseAudio backend for libcanberra
  libcanberra defines a simple abstract interface for playing event
@@ -69,7 +72,7 @@
 Multi-Arch: same
 Depends: ${shlibs:Depends},
   ${misc:Depends},
-  libcanberra0 (= ${binary:Version})
+  libcanberra0t64 (= ${binary:Version})
 Description: GStreamer backend for libcanberra
  libcanberra defines a simple abstract interface for playing event
  sounds.
@@ -94,7 +97,10 @@
  This package contains common headers for developing
  applications using libcanberra-gtk and libcanberra-gtk3
 
-Package: libcanberra-gtk3-0
+Package: libcanberra-gtk3-0t64
+Provides: ${t64:Provides}
+Replaces: libcanberra-gtk3-0
+Breaks: libcanberra-gtk3-0 (<< ${source:Version})
 Architecture: any
 Multi-Arch: same
 Depends: ${shlibs:Depends}, ${misc:Depends}
@@ -113,7 +119,7 @@
 Multi-Arch: same
 Depends: ${shlibs:Depends},
  ${misc:Depends},
- libcanberra-gtk3-0 (= ${binary:Version}),
+ libcanberra-gtk3-0t64 (= ${binary:Version}),
  libcanberra-dev (= ${binary:Version}),
  libcanberra-gtk-common-dev,
  libgtk-3-dev
diff -Nru libcanberra-0.30/debian/control.in libcanberra-0.30/debian/control.in
--- libcanberra-0.30/debian/control.in	2023-10-26 12:41:49.000000000 +0000
+++ libcanberra-0.30/debian/control.in	2024-01-31 20:10:22.000000000 +0000
@@ -19,7 +19,10 @@
 Homepage: https://0pointer.de/lennart/projects/libcanberra/
 Rules-Requires-Root: no
 
-Package: libcanberra0
+Package: libcanberra0t64
+Provides: ${t64:Provides}
+Replaces: libcanberra0
+Breaks: libcanberra0 (<< ${source:Version})
 Architecture: any
 Multi-Arch: same
 Depends: ${shlibs:Depends}, ${misc:Depends}, sound-theme-freedesktop
@@ -39,7 +42,7 @@
 Multi-Arch: same
 Depends: ${shlibs:Depends},
 	 ${misc:Depends},
-	 libcanberra0 (= ${binary:Version})
+	 libcanberra0t64 (= ${binary:Version})
 Description: simple interface for playing event sounds (development files)
  libcanberra defines a simple abstract interface for playing event
  sounds.
@@ -52,7 +55,7 @@
 Multi-Arch: same
 Depends: ${shlibs:Depends},
   ${misc:Depends},
-  libcanberra0 (= ${binary:Version}),
+  libcanberra0t64 (= ${binary:Version}),
   pulseaudio | pipewire-pulse
 Description: PulseAudio backend for libcanberra
  libcanberra defines a simple abstract interface for playing event
@@ -65,7 +68,7 @@
 Multi-Arch: same
 Depends: ${shlibs:Depends},
   ${misc:Depends},
-  libcanberra0 (= ${binary:Version})
+  libcanberra0t64 (= ${binary:Version})
 Description: GStreamer backend for libcanberra
  libcanberra defines a simple abstract interface for playing event
  sounds.
@@ -90,7 +93,10 @@
  This package contains common headers for developing
  applications using libcanberra-gtk and libcanberra-gtk3
 
-Package: libcanberra-gtk3-0
+Package: libcanberra-gtk3-0t64
+Provides: ${t64:Provides}
+Replaces: libcanberra-gtk3-0
+Breaks: libcanberra-gtk3-0 (<< ${source:Version})
 Architecture: any
 Multi-Arch: same
 Depends: ${shlibs:Depends}, ${misc:Depends}
@@ -109,7 +115,7 @@
 Multi-Arch: same
 Depends: ${shlibs:Depends},
  ${misc:Depends},
- libcanberra-gtk3-0 (= ${binary:Version}),
+ libcanberra-gtk3-0t64 (= ${binary:Version}),
  libcanberra-dev (= ${binary:Version}),
  libcanberra-gtk-common-dev,
  libgtk-3-dev
diff -Nru libcanberra-0.30/debian/libcanberra-gtk3-0.install libcanberra-0.30/debian/libcanberra-gtk3-0.install
--- libcanberra-0.30/debian/libcanberra-gtk3-0.install	2023-10-26 12:41:49.000000000 +0000
+++ libcanberra-0.30/debian/libcanberra-gtk3-0.install	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-usr/lib/*/libcanberra-gtk3.so.*
diff -Nru libcanberra-0.30/debian/libcanberra-gtk3-0.symbols libcanberra-0.30/debian/libcanberra-gtk3-0.symbols
--- libcanberra-0.30/debian/libcanberra-gtk3-0.symbols	2023-10-26 12:41:49.000000000 +0000
+++ libcanberra-0.30/debian/libcanberra-gtk3-0.symbols	1970-01-01 00:00:00.000000000 +0000
@@ -1,10 +0,0 @@
-libcanberra-gtk3.so.0 libcanberra-gtk3-0 #MINVER#
-* Build-Depends-Package: libcanberra-gtk3-dev
- ca_gtk_context_get at Base 0.25
- ca_gtk_context_get_for_screen at Base 0.25
- ca_gtk_play_for_event at Base 0.25
- ca_gtk_play_for_widget at Base 0.25
- ca_gtk_proplist_set_for_event at Base 0.25
- ca_gtk_proplist_set_for_widget at Base 0.25
- ca_gtk_widget_disable_sounds at Base 0.25
-
diff -Nru libcanberra-0.30/debian/libcanberra-gtk3-0t64.install libcanberra-0.30/debian/libcanberra-gtk3-0t64.install
--- libcanberra-0.30/debian/libcanberra-gtk3-0t64.install	1970-01-01 00:00:00.000000000 +0000
+++ libcanberra-0.30/debian/libcanberra-gtk3-0t64.install	2023-10-26 12:41:49.000000000 +0000
@@ -0,0 +1 @@
+usr/lib/*/libcanberra-gtk3.so.*
diff -Nru libcanberra-0.30/debian/libcanberra-gtk3-0t64.lintian-overrides libcanberra-0.30/debian/libcanberra-gtk3-0t64.lintian-overrides
--- libcanberra-0.30/debian/libcanberra-gtk3-0t64.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ libcanberra-0.30/debian/libcanberra-gtk3-0t64.lintian-overrides	2024-01-31 20:10:22.000000000 +0000
@@ -0,0 +1 @@
+libcanberra-gtk3-0t64: package-name-doesnt-match-sonames libcanberra-gtk3-0
diff -Nru libcanberra-0.30/debian/libcanberra-gtk3-0t64.symbols libcanberra-0.30/debian/libcanberra-gtk3-0t64.symbols
--- libcanberra-0.30/debian/libcanberra-gtk3-0t64.symbols	1970-01-01 00:00:00.000000000 +0000
+++ libcanberra-0.30/debian/libcanberra-gtk3-0t64.symbols	2024-01-31 20:10:22.000000000 +0000
@@ -0,0 +1,10 @@
+libcanberra-gtk3.so.0 libcanberra-gtk3-0t64 #MINVER#
+* Build-Depends-Package: libcanberra-gtk3-dev
+ ca_gtk_context_get at Base 0.25
+ ca_gtk_context_get_for_screen at Base 0.25
+ ca_gtk_play_for_event at Base 0.25
+ ca_gtk_play_for_widget at Base 0.25
+ ca_gtk_proplist_set_for_event at Base 0.25
+ ca_gtk_proplist_set_for_widget at Base 0.25
+ ca_gtk_widget_disable_sounds at Base 0.25
+
diff -Nru libcanberra-0.30/debian/libcanberra0.install libcanberra-0.30/debian/libcanberra0.install
--- libcanberra-0.30/debian/libcanberra0.install	2023-10-26 12:41:49.000000000 +0000
+++ libcanberra-0.30/debian/libcanberra0.install	1970-01-01 00:00:00.000000000 +0000
@@ -1,3 +0,0 @@
-usr/lib/*/libcanberra.so.*
-# install alsa or oss modules
-usr/lib/*/libcanberra-*/libcanberra-[ao][ls][s]*.so
diff -Nru libcanberra-0.30/debian/libcanberra0.lintian-overrides libcanberra-0.30/debian/libcanberra0.lintian-overrides
--- libcanberra-0.30/debian/libcanberra0.lintian-overrides	2023-10-26 12:41:49.000000000 +0000
+++ libcanberra-0.30/debian/libcanberra0.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-embedded-library usr/lib/*/libcanberra.so.0.2.5: ltdl
diff -Nru libcanberra-0.30/debian/libcanberra0.symbols libcanberra-0.30/debian/libcanberra0.symbols
--- libcanberra-0.30/debian/libcanberra0.symbols	2023-10-26 12:41:49.000000000 +0000
+++ libcanberra-0.30/debian/libcanberra0.symbols	1970-01-01 00:00:00.000000000 +0000
@@ -1,74 +0,0 @@
-libcanberra.so.0 libcanberra0 #MINVER#
-* Build-Depends-Package: libcanberra-dev
- CANBERRA_0 at CANBERRA_0 0.3
- (arch=!hurd-any)ca_cache_lookup_sound at Base 0.9
- (arch=!hurd-any)ca_cache_store_sound at Base 0.9
- ca_context_cache at Base 0.2
- ca_context_cache_full at Base 0.2
- ca_context_cancel at Base 0.2
- ca_context_change_device at Base 0.2
- ca_context_change_props at Base 0.2
- ca_context_change_props_full at Base 0.2
- ca_context_create at Base 0.2
- ca_context_destroy at Base 0.2
- ca_context_open at Base 0.2
- ca_context_play at Base 0.2
- ca_context_play_full at Base 0.2
- ca_context_playing at Base 0.16
- ca_context_set_driver at Base 0.2
- ca_debug at Base 0.4
- ca_detect_fork at Base 0.12
- ca_driver_order at Base 0.4
- ca_get_data_dirs at Base 0.9
- ca_get_data_home at Base 0.9
- ca_lookup_sound at Base 0.2
- ca_lookup_sound_with_callback at Base 0.8
- ca_memdup at Base 0.10
- ca_mutex_free at Base 0.2
- ca_mutex_lock at Base 0.2
- ca_mutex_new at Base 0.2
- ca_mutex_try_lock at Base 0.2
- ca_mutex_unlock at Base 0.2
- ca_parse_cache_control at Base 0.2
- ca_proplist_contains at Base 0.2
- ca_proplist_create at Base 0.2
- ca_proplist_destroy at Base 0.2
- ca_proplist_from_ap at Base 0.2
- ca_proplist_get_unlocked at Base 0.2
- ca_proplist_gets_unlocked at Base 0.2
- ca_proplist_merge at Base 0.2
- ca_proplist_merge_ap at Base 0.2
- ca_proplist_set at Base 0.2
- ca_proplist_setf at Base 0.2
- ca_proplist_sets at Base 0.2
- ca_sound_file_close at Base 0.2
- ca_sound_file_frame_size at Base 0.2
- ca_sound_file_get_channel_map at Base 0.13
- ca_sound_file_get_nchannels at Base 0.2
- ca_sound_file_get_rate at Base 0.2
- ca_sound_file_get_sample_type at Base 0.2
- ca_sound_file_get_size at Base 0.2
- ca_sound_file_open at Base 0.2
- ca_sound_file_read_arbitrary at Base 0.2
- ca_sound_file_read_int16 at Base 0.2
- ca_sound_file_read_uint8 at Base 0.2
- ca_sprintf_malloc at Base 0.2
- ca_strerror at Base 0.2
- ca_theme_data_free at Base 0.2
- ca_vorbis_close at Base 0.2
- ca_vorbis_get_channel_map at Base 0.13
- ca_vorbis_get_nchannels at Base 0.2
- ca_vorbis_get_rate at Base 0.2
- ca_vorbis_get_size at Base 0.2
- ca_vorbis_open at Base 0.2
- ca_vorbis_read_s16ne at Base 0.2
- ca_wav_close at Base 0.2
- ca_wav_get_channel_map at Base 0.13
- ca_wav_get_nchannels at Base 0.2
- ca_wav_get_rate at Base 0.2
- ca_wav_get_sample_type at Base 0.2
- ca_wav_get_size at Base 0.2
- ca_wav_open at Base 0.2
- ca_wav_read_s16le at Base 0.2
- ca_wav_read_u8 at Base 0.2
- driver_playing at Base 0.17
diff -Nru libcanberra-0.30/debian/libcanberra0t64.install libcanberra-0.30/debian/libcanberra0t64.install
--- libcanberra-0.30/debian/libcanberra0t64.install	1970-01-01 00:00:00.000000000 +0000
+++ libcanberra-0.30/debian/libcanberra0t64.install	2023-10-26 12:41:49.000000000 +0000
@@ -0,0 +1,3 @@
+usr/lib/*/libcanberra.so.*
+# install alsa or oss modules
+usr/lib/*/libcanberra-*/libcanberra-[ao][ls][s]*.so
diff -Nru libcanberra-0.30/debian/libcanberra0t64.lintian-overrides libcanberra-0.30/debian/libcanberra0t64.lintian-overrides
--- libcanberra-0.30/debian/libcanberra0t64.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ libcanberra-0.30/debian/libcanberra0t64.lintian-overrides	2024-01-31 20:10:22.000000000 +0000
@@ -0,0 +1,2 @@
+embedded-library usr/lib/*/libcanberra.so.0.2.5: ltdl
+libcanberra0t64: package-name-doesnt-match-sonames libcanberra0
diff -Nru libcanberra-0.30/debian/libcanberra0t64.symbols libcanberra-0.30/debian/libcanberra0t64.symbols
--- libcanberra-0.30/debian/libcanberra0t64.symbols	1970-01-01 00:00:00.000000000 +0000
+++ libcanberra-0.30/debian/libcanberra0t64.symbols	2024-01-31 20:10:22.000000000 +0000
@@ -0,0 +1,74 @@
+libcanberra.so.0 libcanberra0t64 #MINVER#
+* Build-Depends-Package: libcanberra-dev
+ CANBERRA_0 at CANBERRA_0 0.3
+ (arch=!hurd-any)ca_cache_lookup_sound at Base 0.9
+ (arch=!hurd-any)ca_cache_store_sound at Base 0.9
+ ca_context_cache at Base 0.2
+ ca_context_cache_full at Base 0.2
+ ca_context_cancel at Base 0.2
+ ca_context_change_device at Base 0.2
+ ca_context_change_props at Base 0.2
+ ca_context_change_props_full at Base 0.2
+ ca_context_create at Base 0.2
+ ca_context_destroy at Base 0.2
+ ca_context_open at Base 0.2
+ ca_context_play at Base 0.2
+ ca_context_play_full at Base 0.2
+ ca_context_playing at Base 0.16
+ ca_context_set_driver at Base 0.2
+ ca_debug at Base 0.4
+ ca_detect_fork at Base 0.12
+ ca_driver_order at Base 0.4
+ ca_get_data_dirs at Base 0.9
+ ca_get_data_home at Base 0.9
+ ca_lookup_sound at Base 0.2
+ ca_lookup_sound_with_callback at Base 0.8
+ ca_memdup at Base 0.10
+ ca_mutex_free at Base 0.2
+ ca_mutex_lock at Base 0.2
+ ca_mutex_new at Base 0.2
+ ca_mutex_try_lock at Base 0.2
+ ca_mutex_unlock at Base 0.2
+ ca_parse_cache_control at Base 0.2
+ ca_proplist_contains at Base 0.2
+ ca_proplist_create at Base 0.2
+ ca_proplist_destroy at Base 0.2
+ ca_proplist_from_ap at Base 0.2
+ ca_proplist_get_unlocked at Base 0.2
+ ca_proplist_gets_unlocked at Base 0.2
+ ca_proplist_merge at Base 0.2
+ ca_proplist_merge_ap at Base 0.2
+ ca_proplist_set at Base 0.2
+ ca_proplist_setf at Base 0.2
+ ca_proplist_sets at Base 0.2
+ ca_sound_file_close at Base 0.2
+ ca_sound_file_frame_size at Base 0.2
+ ca_sound_file_get_channel_map at Base 0.13
+ ca_sound_file_get_nchannels at Base 0.2
+ ca_sound_file_get_rate at Base 0.2
+ ca_sound_file_get_sample_type at Base 0.2
+ ca_sound_file_get_size at Base 0.2
+ ca_sound_file_open at Base 0.2
+ ca_sound_file_read_arbitrary at Base 0.2
+ ca_sound_file_read_int16 at Base 0.2
+ ca_sound_file_read_uint8 at Base 0.2
+ ca_sprintf_malloc at Base 0.2
+ ca_strerror at Base 0.2
+ ca_theme_data_free at Base 0.2
+ ca_vorbis_close at Base 0.2
+ ca_vorbis_get_channel_map at Base 0.13
+ ca_vorbis_get_nchannels at Base 0.2
+ ca_vorbis_get_rate at Base 0.2
+ ca_vorbis_get_size at Base 0.2
+ ca_vorbis_open at Base 0.2
+ ca_vorbis_read_s16ne at Base 0.2
+ ca_wav_close at Base 0.2
+ ca_wav_get_channel_map at Base 0.13
+ ca_wav_get_nchannels at Base 0.2
+ ca_wav_get_rate at Base 0.2
+ ca_wav_get_sample_type at Base 0.2
+ ca_wav_get_size at Base 0.2
+ ca_wav_open at Base 0.2
+ ca_wav_read_s16le at Base 0.2
+ ca_wav_read_u8 at Base 0.2
+ driver_playing at Base 0.17


More information about the pkg-gnome-maintainers mailing list