[Pkg-privacy-maintainers] Bug#1062561: libotr: NMU diff for 64-bit time_t transition

Steve Langasek vorlon at debian.org
Thu Feb 1 23:03:25 GMT 2024


Source: libotr
Version: 4.1.1-5
Severity: serious
Tags: patch pending
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
libotr 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 libotr
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 libotr-4.1.1/debian/changelog libotr-4.1.1/debian/changelog
--- libotr-4.1.1/debian/changelog	2022-05-13 09:27:37.000000000 +0000
+++ libotr-4.1.1/debian/changelog	2024-02-01 23:02:58.000000000 +0000
@@ -1,3 +1,10 @@
+libotr (4.1.1-5.1) experimental; urgency=medium
+
+  * Non-maintainer upload.
+  * Rename libraries for 64-bit time_t transition.
+
+ -- Steve Langasek <vorlon at debian.org>  Thu, 01 Feb 2024 23:02:58 +0000
+
 libotr (4.1.1-5) unstable; urgency=medium
   * Team upload
 
diff -Nru libotr-4.1.1/debian/control libotr-4.1.1/debian/control
--- libotr-4.1.1/debian/control	2022-05-13 08:09:19.000000000 +0000
+++ libotr-4.1.1/debian/control	2024-02-01 23:02:57.000000000 +0000
@@ -11,7 +11,10 @@
 Vcs-Git: https://salsa.debian.org/pkg-privacy-team/libotr.git
 Homepage: https://otr.cypherpunks.ca/
 
-Package: libotr5
+Package: libotr5t64
+Provides: ${t64:Provides}
+Replaces: libotr5
+Breaks: libotr5 (<< ${source:Version})
 Architecture: any
 Multi-Arch: same
 Depends: ${shlibs:Depends},
@@ -65,7 +68,7 @@
 Architecture: any
 Multi-Arch: same
 Section: libdevel
-Depends: libotr5 (= ${binary:Version}),
+Depends: libotr5t64 (= ${binary:Version}),
          libgcrypt20-dev,
          ${shlibs:Depends},
          ${misc:Depends}
diff -Nru libotr-4.1.1/debian/libotr5.symbols libotr-4.1.1/debian/libotr5.symbols
--- libotr-4.1.1/debian/libotr5.symbols	2022-05-12 08:20:14.000000000 +0000
+++ libotr-4.1.1/debian/libotr5.symbols	1970-01-01 00:00:00.000000000 +0000
@@ -1,125 +0,0 @@
-libotr.so.5 libotr5 #MINVER#
- otrl_api_version at Base 4.0.0
- otrl_auth_clear at Base 4.0.0
- otrl_auth_copy_on_key at Base 4.0.0
- otrl_auth_handle_commit at Base 4.0.0
- otrl_auth_handle_key at Base 4.0.0
- otrl_auth_handle_revealsig at Base 4.0.0
- otrl_auth_handle_signature at Base 4.0.0
- otrl_auth_handle_v1_key_exchange at Base 4.0.0
- otrl_auth_new at Base 4.0.0
- otrl_auth_start_v1 at Base 4.0.0
- otrl_auth_start_v23 at Base 4.0.0
- otrl_base64_decode at Base 4.0.0
- otrl_base64_encode at Base 4.0.0
- otrl_base64_otr_decode at Base 4.0.0
- otrl_base64_otr_encode at Base 4.0.0
- otrl_context_find at Base 4.0.0
- otrl_context_find_fingerprint at Base 4.0.0
- otrl_context_find_recent_instance at Base 4.0.0
- otrl_context_find_recent_secure_instance at Base 4.0.0
- otrl_context_force_finished at Base 4.0.0
- otrl_context_force_plaintext at Base 4.0.0
- otrl_context_forget at Base 4.0.0
- otrl_context_forget_all at Base 4.0.0
- otrl_context_forget_fingerprint at Base 4.0.0
- otrl_context_is_fingerprint_trusted at Base 4.0.0
- otrl_context_priv_force_finished at Base 4.0.0
- otrl_context_priv_new at Base 4.0.0
- otrl_context_set_trust at Base 4.0.0
- otrl_context_update_recent_child at Base 4.0.0
- otrl_dh_cmpctr at Base 4.0.0
- otrl_dh_compute_v1_session_id at Base 4.0.0
- otrl_dh_compute_v2_auth_keys at Base 4.0.0
- otrl_dh_gen_keypair at Base 4.0.0
- otrl_dh_incctr at Base 4.0.0
- otrl_dh_init at Base 4.0.0
- otrl_dh_keypair_copy at Base 4.0.0
- otrl_dh_keypair_free at Base 4.0.0
- otrl_dh_keypair_init at Base 4.0.0
- otrl_dh_session at Base 4.0.0
- otrl_dh_session_blank at Base 4.0.0
- otrl_dh_session_free at Base 4.0.0
- otrl_init at Base 4.0.0
- otrl_instag_find at Base 4.0.0
- otrl_instag_forget at Base 4.0.0
- otrl_instag_forget_all at Base 4.0.0
- otrl_instag_generate at Base 4.0.0
- otrl_instag_generate_FILEp at Base 4.0.0
- otrl_instag_get_new at Base 4.0.0
- otrl_instag_read at Base 4.0.0
- otrl_instag_read_FILEp at Base 4.0.0
- otrl_instag_write at Base 4.0.0
- otrl_instag_write_FILEp at Base 4.0.0
- otrl_mem_differ at Base 4.1.0
- otrl_mem_init at Base 4.0.0
- otrl_message_abort_smp at Base 4.0.0
- otrl_message_disconnect at Base 4.0.0
- otrl_message_disconnect_all_instances at Base 4.0.0
- otrl_message_free at Base 4.0.0
- otrl_message_initiate_smp at Base 4.0.0
- otrl_message_initiate_smp_q at Base 4.0.0
- otrl_message_poll at Base 4.0.0
- otrl_message_poll_get_default_interval at Base 4.0.0
- otrl_message_receiving at Base 4.0.0
- otrl_message_respond_smp at Base 4.0.0
- otrl_message_sending at Base 4.0.0
- otrl_message_symkey at Base 4.0.0
- otrl_privkey_find at Base 4.0.0
- otrl_privkey_fingerprint at Base 4.0.0
- otrl_privkey_fingerprint_raw at Base 4.0.0
- otrl_privkey_forget at Base 4.0.0
- otrl_privkey_forget_all at Base 4.0.0
- otrl_privkey_generate at Base 4.0.0
- otrl_privkey_generate_FILEp at Base 4.0.0
- otrl_privkey_generate_calculate at Base 4.0.0
- otrl_privkey_generate_cancelled at Base 4.0.0
- otrl_privkey_generate_finish at Base 4.0.0
- otrl_privkey_generate_finish_FILEp at Base 4.0.0
- otrl_privkey_generate_start at Base 4.0.0
- otrl_privkey_hash_to_human at Base 4.0.0
- otrl_privkey_pending_forget_all at Base 4.0.0
- otrl_privkey_read at Base 4.0.0
- otrl_privkey_read_FILEp at Base 4.0.0
- otrl_privkey_read_fingerprints at Base 4.0.0
- otrl_privkey_read_fingerprints_FILEp at Base 4.0.0
- otrl_privkey_sign at Base 4.0.0
- otrl_privkey_verify at Base 4.0.0
- otrl_privkey_write_fingerprints at Base 4.0.0
- otrl_privkey_write_fingerprints_FILEp at Base 4.0.0
- otrl_proto_accept_data at Base 4.0.0
- otrl_proto_create_data at Base 4.0.0
- otrl_proto_data_read_flags at Base 4.0.0
- otrl_proto_default_query_msg at Base 4.0.0
- otrl_proto_fragment_accumulate at Base 4.0.0
- otrl_proto_fragment_create at Base 4.0.0
- otrl_proto_fragment_free at Base 4.0.0
- otrl_proto_instance at Base 4.0.0
- otrl_proto_message_type at Base 4.0.0
- otrl_proto_message_version at Base 4.0.0
- otrl_proto_query_bestversion at Base 4.0.0
- otrl_proto_whitespace_bestversion at Base 4.0.0
- otrl_sm_init at Base 4.0.0
- otrl_sm_msg1_init at Base 4.0.0
- otrl_sm_msg2_init at Base 4.0.0
- otrl_sm_msg3_init at Base 4.0.0
- otrl_sm_msg4_init at Base 4.0.0
- otrl_sm_msg_free at Base 4.0.0
- otrl_sm_state_free at Base 4.0.0
- otrl_sm_state_init at Base 4.0.0
- otrl_sm_state_new at Base 4.0.0
- otrl_sm_step1 at Base 4.0.0
- otrl_sm_step2a at Base 4.0.0
- otrl_sm_step2b at Base 4.0.0
- otrl_sm_step3 at Base 4.0.0
- otrl_sm_step4 at Base 4.0.0
- otrl_sm_step5 at Base 4.0.0
- otrl_tlv_find at Base 4.0.0
- otrl_tlv_free at Base 4.0.0
- otrl_tlv_new at Base 4.0.0
- otrl_tlv_parse at Base 4.0.0
- otrl_tlv_serialize at Base 4.0.0
- otrl_tlv_seriallen at Base 4.0.0
- otrl_userstate_create at Base 4.0.0
- otrl_userstate_free at Base 4.0.0
- otrl_version at Base 4.0.0
diff -Nru libotr-4.1.1/debian/libotr5t64.lintian-overrides libotr-4.1.1/debian/libotr5t64.lintian-overrides
--- libotr-4.1.1/debian/libotr5t64.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ libotr-4.1.1/debian/libotr5t64.lintian-overrides	2024-02-01 23:02:57.000000000 +0000
@@ -0,0 +1 @@
+libotr5t64: package-name-doesnt-match-sonames libotr5
diff -Nru libotr-4.1.1/debian/libotr5t64.symbols libotr-4.1.1/debian/libotr5t64.symbols
--- libotr-4.1.1/debian/libotr5t64.symbols	1970-01-01 00:00:00.000000000 +0000
+++ libotr-4.1.1/debian/libotr5t64.symbols	2024-02-01 23:02:57.000000000 +0000
@@ -0,0 +1,125 @@
+libotr.so.5 libotr5t64 #MINVER#
+ otrl_api_version at Base 4.0.0
+ otrl_auth_clear at Base 4.0.0
+ otrl_auth_copy_on_key at Base 4.0.0
+ otrl_auth_handle_commit at Base 4.0.0
+ otrl_auth_handle_key at Base 4.0.0
+ otrl_auth_handle_revealsig at Base 4.0.0
+ otrl_auth_handle_signature at Base 4.0.0
+ otrl_auth_handle_v1_key_exchange at Base 4.0.0
+ otrl_auth_new at Base 4.0.0
+ otrl_auth_start_v1 at Base 4.0.0
+ otrl_auth_start_v23 at Base 4.0.0
+ otrl_base64_decode at Base 4.0.0
+ otrl_base64_encode at Base 4.0.0
+ otrl_base64_otr_decode at Base 4.0.0
+ otrl_base64_otr_encode at Base 4.0.0
+ otrl_context_find at Base 4.0.0
+ otrl_context_find_fingerprint at Base 4.0.0
+ otrl_context_find_recent_instance at Base 4.0.0
+ otrl_context_find_recent_secure_instance at Base 4.0.0
+ otrl_context_force_finished at Base 4.0.0
+ otrl_context_force_plaintext at Base 4.0.0
+ otrl_context_forget at Base 4.0.0
+ otrl_context_forget_all at Base 4.0.0
+ otrl_context_forget_fingerprint at Base 4.0.0
+ otrl_context_is_fingerprint_trusted at Base 4.0.0
+ otrl_context_priv_force_finished at Base 4.0.0
+ otrl_context_priv_new at Base 4.0.0
+ otrl_context_set_trust at Base 4.0.0
+ otrl_context_update_recent_child at Base 4.0.0
+ otrl_dh_cmpctr at Base 4.0.0
+ otrl_dh_compute_v1_session_id at Base 4.0.0
+ otrl_dh_compute_v2_auth_keys at Base 4.0.0
+ otrl_dh_gen_keypair at Base 4.0.0
+ otrl_dh_incctr at Base 4.0.0
+ otrl_dh_init at Base 4.0.0
+ otrl_dh_keypair_copy at Base 4.0.0
+ otrl_dh_keypair_free at Base 4.0.0
+ otrl_dh_keypair_init at Base 4.0.0
+ otrl_dh_session at Base 4.0.0
+ otrl_dh_session_blank at Base 4.0.0
+ otrl_dh_session_free at Base 4.0.0
+ otrl_init at Base 4.0.0
+ otrl_instag_find at Base 4.0.0
+ otrl_instag_forget at Base 4.0.0
+ otrl_instag_forget_all at Base 4.0.0
+ otrl_instag_generate at Base 4.0.0
+ otrl_instag_generate_FILEp at Base 4.0.0
+ otrl_instag_get_new at Base 4.0.0
+ otrl_instag_read at Base 4.0.0
+ otrl_instag_read_FILEp at Base 4.0.0
+ otrl_instag_write at Base 4.0.0
+ otrl_instag_write_FILEp at Base 4.0.0
+ otrl_mem_differ at Base 4.1.0
+ otrl_mem_init at Base 4.0.0
+ otrl_message_abort_smp at Base 4.0.0
+ otrl_message_disconnect at Base 4.0.0
+ otrl_message_disconnect_all_instances at Base 4.0.0
+ otrl_message_free at Base 4.0.0
+ otrl_message_initiate_smp at Base 4.0.0
+ otrl_message_initiate_smp_q at Base 4.0.0
+ otrl_message_poll at Base 4.0.0
+ otrl_message_poll_get_default_interval at Base 4.0.0
+ otrl_message_receiving at Base 4.0.0
+ otrl_message_respond_smp at Base 4.0.0
+ otrl_message_sending at Base 4.0.0
+ otrl_message_symkey at Base 4.0.0
+ otrl_privkey_find at Base 4.0.0
+ otrl_privkey_fingerprint at Base 4.0.0
+ otrl_privkey_fingerprint_raw at Base 4.0.0
+ otrl_privkey_forget at Base 4.0.0
+ otrl_privkey_forget_all at Base 4.0.0
+ otrl_privkey_generate at Base 4.0.0
+ otrl_privkey_generate_FILEp at Base 4.0.0
+ otrl_privkey_generate_calculate at Base 4.0.0
+ otrl_privkey_generate_cancelled at Base 4.0.0
+ otrl_privkey_generate_finish at Base 4.0.0
+ otrl_privkey_generate_finish_FILEp at Base 4.0.0
+ otrl_privkey_generate_start at Base 4.0.0
+ otrl_privkey_hash_to_human at Base 4.0.0
+ otrl_privkey_pending_forget_all at Base 4.0.0
+ otrl_privkey_read at Base 4.0.0
+ otrl_privkey_read_FILEp at Base 4.0.0
+ otrl_privkey_read_fingerprints at Base 4.0.0
+ otrl_privkey_read_fingerprints_FILEp at Base 4.0.0
+ otrl_privkey_sign at Base 4.0.0
+ otrl_privkey_verify at Base 4.0.0
+ otrl_privkey_write_fingerprints at Base 4.0.0
+ otrl_privkey_write_fingerprints_FILEp at Base 4.0.0
+ otrl_proto_accept_data at Base 4.0.0
+ otrl_proto_create_data at Base 4.0.0
+ otrl_proto_data_read_flags at Base 4.0.0
+ otrl_proto_default_query_msg at Base 4.0.0
+ otrl_proto_fragment_accumulate at Base 4.0.0
+ otrl_proto_fragment_create at Base 4.0.0
+ otrl_proto_fragment_free at Base 4.0.0
+ otrl_proto_instance at Base 4.0.0
+ otrl_proto_message_type at Base 4.0.0
+ otrl_proto_message_version at Base 4.0.0
+ otrl_proto_query_bestversion at Base 4.0.0
+ otrl_proto_whitespace_bestversion at Base 4.0.0
+ otrl_sm_init at Base 4.0.0
+ otrl_sm_msg1_init at Base 4.0.0
+ otrl_sm_msg2_init at Base 4.0.0
+ otrl_sm_msg3_init at Base 4.0.0
+ otrl_sm_msg4_init at Base 4.0.0
+ otrl_sm_msg_free at Base 4.0.0
+ otrl_sm_state_free at Base 4.0.0
+ otrl_sm_state_init at Base 4.0.0
+ otrl_sm_state_new at Base 4.0.0
+ otrl_sm_step1 at Base 4.0.0
+ otrl_sm_step2a at Base 4.0.0
+ otrl_sm_step2b at Base 4.0.0
+ otrl_sm_step3 at Base 4.0.0
+ otrl_sm_step4 at Base 4.0.0
+ otrl_sm_step5 at Base 4.0.0
+ otrl_tlv_find at Base 4.0.0
+ otrl_tlv_free at Base 4.0.0
+ otrl_tlv_new at Base 4.0.0
+ otrl_tlv_parse at Base 4.0.0
+ otrl_tlv_serialize at Base 4.0.0
+ otrl_tlv_seriallen at Base 4.0.0
+ otrl_userstate_create at Base 4.0.0
+ otrl_userstate_free at Base 4.0.0
+ otrl_version at Base 4.0.0


More information about the Pkg-privacy-maintainers mailing list