Package: speexdsp
Version: 1.2.1-1
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch
The package builds a C library, it would be nice to have a .symbols
included in the package to ensure there are no change to the exported
symbols with future updates. The attached patch is adding the .symbols
and enforcing the build to stop if the content is not matching.
For context I'm uploading that patch to Ubuntu since that is one of the
requirements for package promotion to the main pocket there and we are
promoting speexdsp as it's a depends of pipewire now
Thanks,
diff -Nru speexdsp-1.2.1/debian/changelog speexdsp-1.2.1/debian/changelog
--- speexdsp-1.2.1/debian/changelog 2022-09-17 19:48:41.000000000 +0200
+++ speexdsp-1.2.1/debian/changelog 2024-02-28 12:27:53.000000000 +0100
@@ -1,3 +1,10 @@
+speexdsp (1.2.1-2) UNRELEASED; urgency=medium
+
+ * debian/libspeexdsp1.symbols, debian/rules:
+ - enforce symbols checking for the library
+
+ -- Sebastien Bacher <seb...@ubuntu.com> Wed, 28 Feb 2024 12:27:53 +0100
+
speexdsp (1.2.1-1) unstable; urgency=medium
* New upstream release. (Closes: #1014555)
diff -Nru speexdsp-1.2.1/debian/libspeexdsp1.symbols speexdsp-1.2.1/debian/libspeexdsp1.symbols
--- speexdsp-1.2.1/debian/libspeexdsp1.symbols 1970-01-01 01:00:00.000000000 +0100
+++ speexdsp-1.2.1/debian/libspeexdsp1.symbols 2024-02-28 12:27:53.000000000 +0100
@@ -0,0 +1,58 @@
+libspeexdsp.so.1 libspeexdsp1 #MINVER#
+ jitter_buffer_ctl@Base 1.2.1
+ jitter_buffer_destroy@Base 1.2.1
+ jitter_buffer_get@Base 1.2.1
+ jitter_buffer_get_another@Base 1.2.1
+ jitter_buffer_get_pointer_timestamp@Base 1.2.1
+ jitter_buffer_init@Base 1.2.1
+ jitter_buffer_put@Base 1.2.1
+ jitter_buffer_remaining_span@Base 1.2.1
+ jitter_buffer_reset@Base 1.2.1
+ jitter_buffer_tick@Base 1.2.1
+ jitter_buffer_update_delay@Base 1.2.1
+ speex_buffer_destroy@Base 1.2.1
+ speex_buffer_get_available@Base 1.2.1
+ speex_buffer_init@Base 1.2.1
+ speex_buffer_read@Base 1.2.1
+ speex_buffer_resize@Base 1.2.1
+ speex_buffer_write@Base 1.2.1
+ speex_buffer_writezeros@Base 1.2.1
+ speex_decorrelate@Base 1.2.1
+ speex_decorrelate_destroy@Base 1.2.1
+ speex_decorrelate_new@Base 1.2.1
+ speex_echo_cancel@Base 1.2.1
+ speex_echo_cancellation@Base 1.2.1
+ speex_echo_capture@Base 1.2.1
+ speex_echo_ctl@Base 1.2.1
+ speex_echo_playback@Base 1.2.1
+ speex_echo_state_destroy@Base 1.2.1
+ speex_echo_state_init@Base 1.2.1
+ speex_echo_state_init_mc@Base 1.2.1
+ speex_echo_state_reset@Base 1.2.1
+ speex_preprocess@Base 1.2.1
+ speex_preprocess_estimate_update@Base 1.2.1
+ speex_preprocess_run@Base 1.2.1
+ speex_preprocess_state_destroy@Base 1.2.1
+ speex_preprocess_state_init@Base 1.2.1
+ speex_resampler_destroy@Base 1.2.1
+ speex_resampler_get_input_latency@Base 1.2.1
+ speex_resampler_get_input_stride@Base 1.2.1
+ speex_resampler_get_output_latency@Base 1.2.1
+ speex_resampler_get_output_stride@Base 1.2.1
+ speex_resampler_get_quality@Base 1.2.1
+ speex_resampler_get_rate@Base 1.2.1
+ speex_resampler_get_ratio@Base 1.2.1
+ speex_resampler_init@Base 1.2.1
+ speex_resampler_init_frac@Base 1.2.1
+ speex_resampler_process_float@Base 1.2.1
+ speex_resampler_process_int@Base 1.2.1
+ speex_resampler_process_interleaved_float@Base 1.2.1
+ speex_resampler_process_interleaved_int@Base 1.2.1
+ speex_resampler_reset_mem@Base 1.2.1
+ speex_resampler_set_input_stride@Base 1.2.1
+ speex_resampler_set_output_stride@Base 1.2.1
+ speex_resampler_set_quality@Base 1.2.1
+ speex_resampler_set_rate@Base 1.2.1
+ speex_resampler_set_rate_frac@Base 1.2.1
+ speex_resampler_skip_zeros@Base 1.2.1
+ speex_resampler_strerror@Base 1.2.1
diff -Nru speexdsp-1.2.1/debian/rules speexdsp-1.2.1/debian/rules
--- speexdsp-1.2.1/debian/rules 2022-04-02 03:52:40.000000000 +0200
+++ speexdsp-1.2.1/debian/rules 2024-02-28 12:27:53.000000000 +0100
@@ -2,6 +2,7 @@
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
# export DH_VERBOSE=1
+export DPKG_GENSYMBOLS_CHECK_LEVEL = 4
# see FEATURE AREAS in dpkg-buildflags(1)
export DEB_BUILD_MAINT_OPTIONS = hardening=+all