[Debian-iot-maintainers] Bug#1063011: ulfius: NMU diff for 64-bit time_t transition

Steve Langasek vorlon at debian.org
Sun Feb 4 12:01:55 GMT 2024


Source: ulfius
Version: 2.7.15-1
Severity: serious
Tags: patch pending sid trixie
Justification: library ABI skew on upgrade
User: debian-arm at lists.debian.org
Usertags: time-t

NOTICE: these changes must not be uploaded to unstable yet!

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
ulfius 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 ulfius
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')
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 ulfius-2.7.15/debian/changelog ulfius-2.7.15/debian/changelog
--- ulfius-2.7.15/debian/changelog	2023-11-14 01:03:22.000000000 +0000
+++ ulfius-2.7.15/debian/changelog	2024-02-04 12:01:21.000000000 +0000
@@ -1,3 +1,10 @@
+ulfius (2.7.15-1.1) experimental; urgency=medium
+
+  * Non-maintainer upload.
+  * Rename libraries for 64-bit time_t transition.
+
+ -- Steve Langasek <vorlon at debian.org>  Sun, 04 Feb 2024 12:01:21 +0000
+
 ulfius (2.7.15-1) unstable; urgency=medium
 
   * New upstream release
diff -Nru ulfius-2.7.15/debian/control ulfius-2.7.15/debian/control
--- ulfius-2.7.15/debian/control	2023-01-05 18:56:04.000000000 +0000
+++ ulfius-2.7.15/debian/control	2024-02-04 12:01:21.000000000 +0000
@@ -23,9 +23,10 @@
 Vcs-Git: https://salsa.debian.org/debian-iot-team/oauth2/ulfius.git
 Rules-Requires-Root: no
 
-Package: libulfius2.7
-Replaces: libulfius2.6, libulfius2.5
-Breaks: libulfius2.6, libulfius2.5
+Package: libulfius2.7t64
+Provides: ${t64:Provides}
+Replaces: libulfius2.7, libulfius2.6, libulfius2.5
+Breaks: libulfius2.7 (<< ${source:Version}), libulfius2.6, libulfius2.5
 Architecture: any
 Multi-Arch: same
 Section: libs
@@ -44,7 +45,7 @@
 Architecture: any
 Multi-Arch: same
 Section: libdevel
-Depends: libulfius2.7 (= ${binary:Version})
+Depends: libulfius2.7t64 (= ${binary:Version})
        , ${misc:Depends}
        , libmicrohttpd-dev
        , libcurl4-gnutls-dev
@@ -69,7 +70,7 @@
 Package: uwsc
 Architecture: any
 Depends: ${shlibs:Depends},
-       , libulfius2.7 (= ${binary:Version})
+       , libulfius2.7t64 (= ${binary:Version})
        , ${misc:Depends}
 Description: Ulfius WebSocket Client
  Simple command-line application to connect to websocket services
diff -Nru ulfius-2.7.15/debian/libulfius2.7.install ulfius-2.7.15/debian/libulfius2.7.install
--- ulfius-2.7.15/debian/libulfius2.7.install	2022-08-23 14:30:38.000000000 +0000
+++ ulfius-2.7.15/debian/libulfius2.7.install	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-usr/lib/*/lib*.so.*
diff -Nru ulfius-2.7.15/debian/libulfius2.7.symbols ulfius-2.7.15/debian/libulfius2.7.symbols
--- ulfius-2.7.15/debian/libulfius2.7.symbols	2023-11-14 01:03:22.000000000 +0000
+++ ulfius-2.7.15/debian/libulfius2.7.symbols	1970-01-01 00:00:00.000000000 +0000
@@ -1,149 +0,0 @@
-# SymbolsHelper-Confirmed: 2.7.11 amd64
-libulfius.so.2.7 libulfius2.7 #MINVER#
-* Build-Depends-Package: libulfius-dev
- mhd_request_completed at Base 2.7.0
- mhd_redirect_log at Base 2.7.0
- u_free at Base 2.7.0
- u_map_clean at Base 2.7.0
- u_map_clean_enum at Base 2.7.0
- u_map_clean_full at Base 2.7.0
- u_map_copy at Base 2.7.0
- u_map_copy_into at Base 2.7.0
- u_map_count at Base 2.7.0
- u_map_empty at Base 2.7.0
- u_map_enum_keys at Base 2.7.0
- u_map_enum_values at Base 2.7.0
- u_map_get at Base 2.7.0
- u_map_get_case at Base 2.7.0
- u_map_get_case_length at Base 2.7.0
- u_map_get_length at Base 2.7.0
- u_map_has_key at Base 2.7.0
- u_map_has_key_case at Base 2.7.0
- u_map_has_value at Base 2.7.0
- u_map_has_value_binary at Base 2.7.0
- u_map_has_value_case at Base 2.7.0
- u_map_init at Base 2.7.0
- u_map_put at Base 2.7.0
- u_map_put_binary at Base 2.7.0
- u_map_remove_at at Base 2.7.0
- u_map_remove_from_key at Base 2.7.0
- u_map_remove_from_key_case at Base 2.7.0
- u_map_remove_from_value at Base 2.7.0
- u_map_remove_from_value_binary at Base 2.7.0
- u_map_remove_from_value_case at Base 2.7.0
- ulfius_add_cookie_to_response at Base 2.7.0
- ulfius_add_same_site_cookie_to_response at Base 2.7.0
- ulfius_add_websocket_client_deflate_extension at Base 2.7.0
- ulfius_add_websocket_client_extension_message_perform at Base 2.7.0
- ulfius_add_websocket_deflate_extension at Base 2.7.0
- ulfius_add_websocket_extension_message_perform at Base 2.7.0
- ulfius_add_endpoint at Base 2.7.0
- ulfius_add_endpoint_by_val at Base 2.7.0
- ulfius_add_endpoint_list at Base 2.7.0
- ulfius_add_header_to_response at Base 2.7.0
- ulfius_check_first_match at Base 2.7.0
- ulfius_check_list_match at Base 2.7.0
- ulfius_check_handshake_response at Base 2.7.0
- ulfius_clean_cookie at Base 2.7.0
- ulfius_clean_endpoint at Base 2.7.0
- ulfius_clean_endpoint_list at Base 2.7.0
- ulfius_clean_instance at Base 2.7.0
- ulfius_clean_request at Base 2.7.0
- ulfius_clean_request_full at Base 2.7.0
- ulfius_clean_response at Base 2.7.0
- ulfius_clean_response_full at Base 2.7.0
- ulfius_clear_websocket at Base 2.7.0
- ulfius_clear_websocket_manager at Base 2.7.0
- ulfius_clear_websocket_message at Base 2.7.0
- ulfius_clear_websocket_message_list at Base 2.7.0
- ulfius_close_websocket at Base 2.7.0
- ulfius_copy_cookie at Base 2.7.0
- ulfius_copy_endpoint at Base 2.7.0
- ulfius_copy_request at Base 2.7.0
- ulfius_copy_response at Base 2.7.0
- ulfius_duplicate_endpoint_list at Base 2.7.0
- ulfius_duplicate_request at Base 2.7.0
- ulfius_duplicate_response at Base 2.7.0
- ulfius_empty_endpoint at Base 2.7.0
- ulfius_endpoint_match at Base 2.7.0
- ulfius_equals_endpoints at Base 2.7.0
- ulfius_export_client_certificate_pem at Base 2.7.0
- ulfius_export_request_http at Base 2.7.0
- ulfius_export_response_http at Base 2.7.0
- ulfius_free_websocket_extension at Base 2.7.0
- ulfius_free_websocket_extension_pointer_list at Base 2.7.0
- ulfius_generate_handshake_answer at Base 2.7.0
- ulfius_get_json_body_request at Base 2.7.0
- ulfius_get_json_body_response at Base 2.7.0
- ulfius_global_init at Base 2.7.0
- ulfius_global_close at Base 2.7.0
- ulfius_import_client_certificate_pem at Base 2.7.0
- ulfius_init_instance at Base 2.7.0
- ulfius_init_instance_ipv6 at Base 2.7.0
- ulfius_init_request at Base 2.7.0
- ulfius_init_response at Base 2.7.0
- ulfius_init_websocket at Base 2.7.0
- ulfius_init_websocket_extension at Base 2.7.0
- ulfius_init_websocket_manager at Base 2.7.0
- ulfius_init_websocket_message_list at Base 2.7.0
- ulfius_instance_add_websocket_active at Base 2.7.0
- ulfius_instance_remove_websocket_active at Base 2.7.0
- ulfius_parse_url at Base 2.7.0
- ulfius_push_websocket_message at Base 2.7.0
- ulfius_remove_endpoint at Base 2.7.0
- ulfius_remove_endpoint_by_val at Base 2.7.0
- ulfius_send_http_request at Base 2.7.0
- ulfius_send_http_request_with_limit at Base 2.7.0
- ulfius_send_http_streaming_request at Base 2.7.0
- ulfius_send_http_streaming_request_max_header at Base 2.7.0
- ulfius_send_smtp_email at Base 2.7.0
- ulfius_send_smtp_rich_email at Base 2.7.0
- ulfius_set_binary_body_request at Base 2.7.0
- ulfius_set_binary_body_response at Base 2.7.0
- ulfius_set_default_endpoint at Base 2.7.0
- ulfius_set_empty_body_request at Base 2.7.0
- ulfius_set_empty_body_response at Base 2.7.0
- ulfius_set_json_body_request at Base 2.7.0
- ulfius_set_json_body_response at Base 2.7.0
- ulfius_set_request_properties at Base 2.7.0
- ulfius_set_response_cookie at Base 2.7.0
- ulfius_set_response_header at Base 2.7.0
- ulfius_set_response_properties at Base 2.7.0
- ulfius_set_response_shared_data at Base 2.7.0
- ulfius_set_stream_response at Base 2.7.0
- ulfius_set_string_body_request at Base 2.7.0
- ulfius_set_string_body_response at Base 2.7.0
- ulfius_set_upload_file_callback_function at Base 2.7.0
- ulfius_set_websocket_response at Base 2.7.0
- ulfius_start_framework at Base 2.7.0
- ulfius_start_framework_with_mhd_options at Base 2.7.0
- ulfius_start_secure_framework at Base 2.7.0
- ulfius_start_secure_ca_trust_framework at Base 2.7.0
- ulfius_start_websocket_cb at Base 2.7.0
- ulfius_stop_framework at Base 2.7.0
- ulfius_uri_logger at Base 2.7.0
- ulfius_url_decode at Base 2.7.0
- ulfius_url_encode at Base 2.7.0
- ulfius_websocket_pop_first_message at Base 2.7.0
- ulfius_websocket_send_message at Base 2.7.0
- ulfius_websocket_send_fragmented_message at Base 2.7.0
- ulfius_websocket_send_close_signal at Base 2.7.0
- ulfius_websocket_status at Base 2.7.0
- ulfius_websocket_wait_close at Base 2.7.0
- ulfius_open_websocket_client_connection at Base 2.7.0
- ulfius_websocket_client_connection_send_close_signal at Base 2.7.0
- ulfius_websocket_client_connection_close at Base 2.7.0
- ulfius_websocket_client_connection_status at Base 2.7.0
- ulfius_websocket_client_connection_wait_close at Base 2.7.0
- ulfius_websocket_parse_json_message at Base 2.7.11
- ulfius_websocket_send_json_message at Base 2.7.11
- ulfius_set_websocket_request at Base 2.7.0
- utf8_check at Base 2.7.0
- websocket_extension_client_match_deflate at Base 2.7.0
- websocket_extension_deflate_free_context at Base 2.7.0
- websocket_extension_message_in_inflate at Base 2.7.0
- websocket_extension_message_out_deflate at Base 2.7.0
- websocket_extension_server_match_deflate at Base 2.7.0
- yuarel_parse at Base 2.7.0
- yuarel_parse_query at Base 2.7.0
- yuarel_split_path at Base 2.7.0
diff -Nru ulfius-2.7.15/debian/libulfius2.7t64.install ulfius-2.7.15/debian/libulfius2.7t64.install
--- ulfius-2.7.15/debian/libulfius2.7t64.install	1970-01-01 00:00:00.000000000 +0000
+++ ulfius-2.7.15/debian/libulfius2.7t64.install	2022-08-23 14:30:38.000000000 +0000
@@ -0,0 +1 @@
+usr/lib/*/lib*.so.*
diff -Nru ulfius-2.7.15/debian/libulfius2.7t64.lintian-overrides ulfius-2.7.15/debian/libulfius2.7t64.lintian-overrides
--- ulfius-2.7.15/debian/libulfius2.7t64.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ ulfius-2.7.15/debian/libulfius2.7t64.lintian-overrides	2024-02-04 12:01:21.000000000 +0000
@@ -0,0 +1 @@
+libulfius2.7t64: package-name-doesnt-match-sonames libulfius2.7
diff -Nru ulfius-2.7.15/debian/libulfius2.7t64.symbols ulfius-2.7.15/debian/libulfius2.7t64.symbols
--- ulfius-2.7.15/debian/libulfius2.7t64.symbols	1970-01-01 00:00:00.000000000 +0000
+++ ulfius-2.7.15/debian/libulfius2.7t64.symbols	2024-02-04 12:01:21.000000000 +0000
@@ -0,0 +1,149 @@
+# SymbolsHelper-Confirmed: 2.7.11 amd64
+libulfius.so.2.7 libulfius2.7 #MINVER#
+* Build-Depends-Package: libulfius-dev
+ mhd_request_completed at Base 2.7.0
+ mhd_redirect_log at Base 2.7.0
+ u_free at Base 2.7.0
+ u_map_clean at Base 2.7.0
+ u_map_clean_enum at Base 2.7.0
+ u_map_clean_full at Base 2.7.0
+ u_map_copy at Base 2.7.0
+ u_map_copy_into at Base 2.7.0
+ u_map_count at Base 2.7.0
+ u_map_empty at Base 2.7.0
+ u_map_enum_keys at Base 2.7.0
+ u_map_enum_values at Base 2.7.0
+ u_map_get at Base 2.7.0
+ u_map_get_case at Base 2.7.0
+ u_map_get_case_length at Base 2.7.0
+ u_map_get_length at Base 2.7.0
+ u_map_has_key at Base 2.7.0
+ u_map_has_key_case at Base 2.7.0
+ u_map_has_value at Base 2.7.0
+ u_map_has_value_binary at Base 2.7.0
+ u_map_has_value_case at Base 2.7.0
+ u_map_init at Base 2.7.0
+ u_map_put at Base 2.7.0
+ u_map_put_binary at Base 2.7.0
+ u_map_remove_at at Base 2.7.0
+ u_map_remove_from_key at Base 2.7.0
+ u_map_remove_from_key_case at Base 2.7.0
+ u_map_remove_from_value at Base 2.7.0
+ u_map_remove_from_value_binary at Base 2.7.0
+ u_map_remove_from_value_case at Base 2.7.0
+ ulfius_add_cookie_to_response at Base 2.7.0
+ ulfius_add_same_site_cookie_to_response at Base 2.7.0
+ ulfius_add_websocket_client_deflate_extension at Base 2.7.0
+ ulfius_add_websocket_client_extension_message_perform at Base 2.7.0
+ ulfius_add_websocket_deflate_extension at Base 2.7.0
+ ulfius_add_websocket_extension_message_perform at Base 2.7.0
+ ulfius_add_endpoint at Base 2.7.0
+ ulfius_add_endpoint_by_val at Base 2.7.0
+ ulfius_add_endpoint_list at Base 2.7.0
+ ulfius_add_header_to_response at Base 2.7.0
+ ulfius_check_first_match at Base 2.7.0
+ ulfius_check_list_match at Base 2.7.0
+ ulfius_check_handshake_response at Base 2.7.0
+ ulfius_clean_cookie at Base 2.7.0
+ ulfius_clean_endpoint at Base 2.7.0
+ ulfius_clean_endpoint_list at Base 2.7.0
+ ulfius_clean_instance at Base 2.7.0
+ ulfius_clean_request at Base 2.7.0
+ ulfius_clean_request_full at Base 2.7.0
+ ulfius_clean_response at Base 2.7.0
+ ulfius_clean_response_full at Base 2.7.0
+ ulfius_clear_websocket at Base 2.7.0
+ ulfius_clear_websocket_manager at Base 2.7.0
+ ulfius_clear_websocket_message at Base 2.7.0
+ ulfius_clear_websocket_message_list at Base 2.7.0
+ ulfius_close_websocket at Base 2.7.0
+ ulfius_copy_cookie at Base 2.7.0
+ ulfius_copy_endpoint at Base 2.7.0
+ ulfius_copy_request at Base 2.7.0
+ ulfius_copy_response at Base 2.7.0
+ ulfius_duplicate_endpoint_list at Base 2.7.0
+ ulfius_duplicate_request at Base 2.7.0
+ ulfius_duplicate_response at Base 2.7.0
+ ulfius_empty_endpoint at Base 2.7.0
+ ulfius_endpoint_match at Base 2.7.0
+ ulfius_equals_endpoints at Base 2.7.0
+ ulfius_export_client_certificate_pem at Base 2.7.0
+ ulfius_export_request_http at Base 2.7.0
+ ulfius_export_response_http at Base 2.7.0
+ ulfius_free_websocket_extension at Base 2.7.0
+ ulfius_free_websocket_extension_pointer_list at Base 2.7.0
+ ulfius_generate_handshake_answer at Base 2.7.0
+ ulfius_get_json_body_request at Base 2.7.0
+ ulfius_get_json_body_response at Base 2.7.0
+ ulfius_global_init at Base 2.7.0
+ ulfius_global_close at Base 2.7.0
+ ulfius_import_client_certificate_pem at Base 2.7.0
+ ulfius_init_instance at Base 2.7.0
+ ulfius_init_instance_ipv6 at Base 2.7.0
+ ulfius_init_request at Base 2.7.0
+ ulfius_init_response at Base 2.7.0
+ ulfius_init_websocket at Base 2.7.0
+ ulfius_init_websocket_extension at Base 2.7.0
+ ulfius_init_websocket_manager at Base 2.7.0
+ ulfius_init_websocket_message_list at Base 2.7.0
+ ulfius_instance_add_websocket_active at Base 2.7.0
+ ulfius_instance_remove_websocket_active at Base 2.7.0
+ ulfius_parse_url at Base 2.7.0
+ ulfius_push_websocket_message at Base 2.7.0
+ ulfius_remove_endpoint at Base 2.7.0
+ ulfius_remove_endpoint_by_val at Base 2.7.0
+ ulfius_send_http_request at Base 2.7.0
+ ulfius_send_http_request_with_limit at Base 2.7.0
+ ulfius_send_http_streaming_request at Base 2.7.0
+ ulfius_send_http_streaming_request_max_header at Base 2.7.0
+ ulfius_send_smtp_email at Base 2.7.0
+ ulfius_send_smtp_rich_email at Base 2.7.0
+ ulfius_set_binary_body_request at Base 2.7.0
+ ulfius_set_binary_body_response at Base 2.7.0
+ ulfius_set_default_endpoint at Base 2.7.0
+ ulfius_set_empty_body_request at Base 2.7.0
+ ulfius_set_empty_body_response at Base 2.7.0
+ ulfius_set_json_body_request at Base 2.7.0
+ ulfius_set_json_body_response at Base 2.7.0
+ ulfius_set_request_properties at Base 2.7.0
+ ulfius_set_response_cookie at Base 2.7.0
+ ulfius_set_response_header at Base 2.7.0
+ ulfius_set_response_properties at Base 2.7.0
+ ulfius_set_response_shared_data at Base 2.7.0
+ ulfius_set_stream_response at Base 2.7.0
+ ulfius_set_string_body_request at Base 2.7.0
+ ulfius_set_string_body_response at Base 2.7.0
+ ulfius_set_upload_file_callback_function at Base 2.7.0
+ ulfius_set_websocket_response at Base 2.7.0
+ ulfius_start_framework at Base 2.7.0
+ ulfius_start_framework_with_mhd_options at Base 2.7.0
+ ulfius_start_secure_framework at Base 2.7.0
+ ulfius_start_secure_ca_trust_framework at Base 2.7.0
+ ulfius_start_websocket_cb at Base 2.7.0
+ ulfius_stop_framework at Base 2.7.0
+ ulfius_uri_logger at Base 2.7.0
+ ulfius_url_decode at Base 2.7.0
+ ulfius_url_encode at Base 2.7.0
+ ulfius_websocket_pop_first_message at Base 2.7.0
+ ulfius_websocket_send_message at Base 2.7.0
+ ulfius_websocket_send_fragmented_message at Base 2.7.0
+ ulfius_websocket_send_close_signal at Base 2.7.0
+ ulfius_websocket_status at Base 2.7.0
+ ulfius_websocket_wait_close at Base 2.7.0
+ ulfius_open_websocket_client_connection at Base 2.7.0
+ ulfius_websocket_client_connection_send_close_signal at Base 2.7.0
+ ulfius_websocket_client_connection_close at Base 2.7.0
+ ulfius_websocket_client_connection_status at Base 2.7.0
+ ulfius_websocket_client_connection_wait_close at Base 2.7.0
+ ulfius_websocket_parse_json_message at Base 2.7.11
+ ulfius_websocket_send_json_message at Base 2.7.11
+ ulfius_set_websocket_request at Base 2.7.0
+ utf8_check at Base 2.7.0
+ websocket_extension_client_match_deflate at Base 2.7.0
+ websocket_extension_deflate_free_context at Base 2.7.0
+ websocket_extension_message_in_inflate at Base 2.7.0
+ websocket_extension_message_out_deflate at Base 2.7.0
+ websocket_extension_server_match_deflate at Base 2.7.0
+ yuarel_parse at Base 2.7.0
+ yuarel_parse_query at Base 2.7.0
+ yuarel_split_path at Base 2.7.0


More information about the Debian-iot-maintainers mailing list