[pkg-opensc-maint] Bug#1062563: libp11: NMU diff for 64-bit time_t transition

Benjamin Drung bdrung at debian.org
Wed Feb 28 16:14:14 GMT 2024


Source: libp11
Dear maintainer,

Please find attached a final version of this patch for the time_t
transition.  This patch is being uploaded to unstable.

Note that this adds a versioned build-dependency on dpkg-dev, to guard
against accidental backports with a wrong ABI.

Thanks!


-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 6.5.0-21-generic (SMP w/16 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: unable to detect
-------------- next part --------------
diff -Nru libp11-0.4.12/debian/changelog libp11-0.4.12/debian/changelog
--- libp11-0.4.12/debian/changelog	2023-08-21 12:21:43.000000000 +0000
+++ libp11-0.4.12/debian/changelog	2024-02-28 16:14:03.000000000 +0000
@@ -1,3 +1,10 @@
+libp11 (0.4.12-1.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Rename libraries for 64-bit time_t transition.  Closes: #1062563
+
+ -- Benjamin Drung <bdrung at debian.org>  Wed, 28 Feb 2024 16:14:03 +0000
+
 libp11 (0.4.12-1) unstable; urgency=medium
 
   * Team upload
diff -Nru libp11-0.4.12/debian/control libp11-0.4.12/debian/control
--- libp11-0.4.12/debian/control	2023-08-21 12:21:43.000000000 +0000
+++ libp11-0.4.12/debian/control	2024-02-28 16:14:03.000000000 +0000
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: Debian OpenSC Maintainers <pkg-opensc-maint at lists.alioth.debian.org>
 Uploaders: Eric Dorland <eric at debian.org>
-Build-Depends: debhelper-compat (= 12),
+Build-Depends: dpkg-dev (>= 1.22.5), debhelper-compat (= 12),
                libltdl3-dev,
                libp11-kit-dev,
                libssl-dev,
@@ -16,7 +16,7 @@
 
 Package: libp11-dev
 Architecture: any
-Depends: libp11-3 (= ${binary:Version}),
+Depends: libp11-3t64 (= ${binary:Version}),
          libssl-dev,
          pkg-config,
          ${misc:Depends}
@@ -28,14 +28,15 @@
  .
  This package contains the header files and static libraries.
 
-Package: libp11-3
+Package: libp11-3t64
+Provides: ${t64:Provides}
 Architecture: any
 Multi-Arch: same
 Section: libs
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
-Breaks: libp11-2
-Replaces: libp11-2
+Breaks: libp11-3 (<< ${source:Version}), libp11-2
+Replaces: libp11-3, libp11-2
 Description: pkcs#11 convenience library
  Libp11 is a library to simplify using smart cards via PKCS#11
  modules.  It was spun of the OpenSC project but can be used with any
diff -Nru libp11-0.4.12/debian/libp11-3.install libp11-0.4.12/debian/libp11-3.install
--- libp11-0.4.12/debian/libp11-3.install	2023-08-21 12:21:43.000000000 +0000
+++ libp11-0.4.12/debian/libp11-3.install	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-debian/tmp/usr/lib/*/libp11*.so.*
diff -Nru libp11-0.4.12/debian/libp11-3.symbols libp11-0.4.12/debian/libp11-3.symbols
--- libp11-0.4.12/debian/libp11-3.symbols	2023-08-21 12:21:43.000000000 +0000
+++ libp11-0.4.12/debian/libp11-3.symbols	1970-01-01 00:00:00.000000000 +0000
@@ -1,52 +0,0 @@
-libp11.so.3 libp11-3 #MINVER#
- ERR_get_CKR_code at LIBP11_3 0.4.9
- ERR_load_PKCS11_strings at LIBP11_3 0.4.4
- LIBP11_3 at LIBP11_3 0.4.4
- PKCS11_CTX_free at LIBP11_3 0.4.4
- PKCS11_CTX_init_args at LIBP11_3 0.4.4
- PKCS11_CTX_load at LIBP11_3 0.4.4
- PKCS11_CTX_new at LIBP11_3 0.4.4
- PKCS11_CTX_unload at LIBP11_3 0.4.4
- PKCS11_change_pin at LIBP11_3 0.4.4
- PKCS11_ecdsa_method_free at LIBP11_3 0.4.4
- PKCS11_enumerate_certs at LIBP11_3 0.4.4
- PKCS11_enumerate_keys at LIBP11_3 0.4.4
- PKCS11_enumerate_public_keys at LIBP11_3 0.4.4
- PKCS11_enumerate_slots at LIBP11_3 0.4.4
- PKCS11_find_certificate at LIBP11_3 0.4.4
- PKCS11_find_key at LIBP11_3 0.4.4
- PKCS11_find_next_token at LIBP11_3 0.4.9
- PKCS11_find_token at LIBP11_3 0.4.4
- PKCS11_generate_key at LIBP11_3 0.4.4
- PKCS11_generate_random at LIBP11_3 0.4.4
- PKCS11_get_ec_key_method at LIBP11_3 0.4.4
- PKCS11_get_ecdh_method at LIBP11_3 0.4.4
- PKCS11_get_ecdsa_method at LIBP11_3 0.4.4
- PKCS11_get_key_exponent at LIBP11_3 0.4.4
- PKCS11_get_key_modulus at LIBP11_3 0.4.4
- PKCS11_get_key_size at LIBP11_3 0.4.4
- PKCS11_get_key_type at LIBP11_3 0.4.4
- PKCS11_get_private_key at LIBP11_3 0.4.4
- PKCS11_get_public_key at LIBP11_3 0.4.4
- PKCS11_get_rsa_method at LIBP11_3 0.4.4
- PKCS11_get_slotid_from_slot at LIBP11_3 0.4.4
- PKCS11_init_pin at LIBP11_3 0.4.4
- PKCS11_init_token at LIBP11_3 0.4.4
- PKCS11_is_logged_in at LIBP11_3 0.4.4
- PKCS11_login at LIBP11_3 0.4.4
- PKCS11_logout at LIBP11_3 0.4.4
- PKCS11_open_session at LIBP11_3 0.4.4
- PKCS11_pkey_meths at LIBP11_3 0.4.9
- PKCS11_private_decrypt at LIBP11_3 0.4.4
- PKCS11_private_encrypt at LIBP11_3 0.4.4
- PKCS11_release_all_slots at LIBP11_3 0.4.4
- PKCS11_remove_certificate at LIBP11_3 0.4.9
- PKCS11_remove_key at LIBP11_3 0.4.9
- PKCS11_seed_random at LIBP11_3 0.4.4
- PKCS11_set_ui_method at LIBP11_3 0.4.4
- PKCS11_sign at LIBP11_3 0.4.4
- PKCS11_store_certificate at LIBP11_3 0.4.4
- PKCS11_store_private_key at LIBP11_3 0.4.4
- PKCS11_store_public_key at LIBP11_3 0.4.4
- PKCS11_update_slots at LIBP11_3 0.4.12
- PKCS11_verify at LIBP11_3 0.4.4
diff -Nru libp11-0.4.12/debian/libp11-3t64.install libp11-0.4.12/debian/libp11-3t64.install
--- libp11-0.4.12/debian/libp11-3t64.install	1970-01-01 00:00:00.000000000 +0000
+++ libp11-0.4.12/debian/libp11-3t64.install	2023-08-21 12:21:43.000000000 +0000
@@ -0,0 +1 @@
+debian/tmp/usr/lib/*/libp11*.so.*
diff -Nru libp11-0.4.12/debian/libp11-3t64.lintian-overrides libp11-0.4.12/debian/libp11-3t64.lintian-overrides
--- libp11-0.4.12/debian/libp11-3t64.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ libp11-0.4.12/debian/libp11-3t64.lintian-overrides	2024-02-28 16:11:40.000000000 +0000
@@ -0,0 +1 @@
+libp11-3t64: package-name-doesnt-match-sonames libp11-3
diff -Nru libp11-0.4.12/debian/libp11-3t64.symbols libp11-0.4.12/debian/libp11-3t64.symbols
--- libp11-0.4.12/debian/libp11-3t64.symbols	1970-01-01 00:00:00.000000000 +0000
+++ libp11-0.4.12/debian/libp11-3t64.symbols	2024-02-28 16:11:40.000000000 +0000
@@ -0,0 +1,52 @@
+libp11.so.3 libp11-3t64 #MINVER#
+ ERR_get_CKR_code at LIBP11_3 0.4.9
+ ERR_load_PKCS11_strings at LIBP11_3 0.4.4
+ LIBP11_3 at LIBP11_3 0.4.4
+ PKCS11_CTX_free at LIBP11_3 0.4.4
+ PKCS11_CTX_init_args at LIBP11_3 0.4.4
+ PKCS11_CTX_load at LIBP11_3 0.4.4
+ PKCS11_CTX_new at LIBP11_3 0.4.4
+ PKCS11_CTX_unload at LIBP11_3 0.4.4
+ PKCS11_change_pin at LIBP11_3 0.4.4
+ PKCS11_ecdsa_method_free at LIBP11_3 0.4.4
+ PKCS11_enumerate_certs at LIBP11_3 0.4.4
+ PKCS11_enumerate_keys at LIBP11_3 0.4.4
+ PKCS11_enumerate_public_keys at LIBP11_3 0.4.4
+ PKCS11_enumerate_slots at LIBP11_3 0.4.4
+ PKCS11_find_certificate at LIBP11_3 0.4.4
+ PKCS11_find_key at LIBP11_3 0.4.4
+ PKCS11_find_next_token at LIBP11_3 0.4.9
+ PKCS11_find_token at LIBP11_3 0.4.4
+ PKCS11_generate_key at LIBP11_3 0.4.4
+ PKCS11_generate_random at LIBP11_3 0.4.4
+ PKCS11_get_ec_key_method at LIBP11_3 0.4.4
+ PKCS11_get_ecdh_method at LIBP11_3 0.4.4
+ PKCS11_get_ecdsa_method at LIBP11_3 0.4.4
+ PKCS11_get_key_exponent at LIBP11_3 0.4.4
+ PKCS11_get_key_modulus at LIBP11_3 0.4.4
+ PKCS11_get_key_size at LIBP11_3 0.4.4
+ PKCS11_get_key_type at LIBP11_3 0.4.4
+ PKCS11_get_private_key at LIBP11_3 0.4.4
+ PKCS11_get_public_key at LIBP11_3 0.4.4
+ PKCS11_get_rsa_method at LIBP11_3 0.4.4
+ PKCS11_get_slotid_from_slot at LIBP11_3 0.4.4
+ PKCS11_init_pin at LIBP11_3 0.4.4
+ PKCS11_init_token at LIBP11_3 0.4.4
+ PKCS11_is_logged_in at LIBP11_3 0.4.4
+ PKCS11_login at LIBP11_3 0.4.4
+ PKCS11_logout at LIBP11_3 0.4.4
+ PKCS11_open_session at LIBP11_3 0.4.4
+ PKCS11_pkey_meths at LIBP11_3 0.4.9
+ PKCS11_private_decrypt at LIBP11_3 0.4.4
+ PKCS11_private_encrypt at LIBP11_3 0.4.4
+ PKCS11_release_all_slots at LIBP11_3 0.4.4
+ PKCS11_remove_certificate at LIBP11_3 0.4.9
+ PKCS11_remove_key at LIBP11_3 0.4.9
+ PKCS11_seed_random at LIBP11_3 0.4.4
+ PKCS11_set_ui_method at LIBP11_3 0.4.4
+ PKCS11_sign at LIBP11_3 0.4.4
+ PKCS11_store_certificate at LIBP11_3 0.4.4
+ PKCS11_store_private_key at LIBP11_3 0.4.4
+ PKCS11_store_public_key at LIBP11_3 0.4.4
+ PKCS11_update_slots at LIBP11_3 0.4.12
+ PKCS11_verify at LIBP11_3 0.4.4
diff -Nru libp11-0.4.12/debian/patches/fix-upstream-soname-madness.patch libp11-0.4.12/debian/patches/fix-upstream-soname-madness.patch
--- libp11-0.4.12/debian/patches/fix-upstream-soname-madness.patch	1970-01-01 00:00:00.000000000 +0000
+++ libp11-0.4.12/debian/patches/fix-upstream-soname-madness.patch	2024-02-28 16:14:01.000000000 +0000
@@ -0,0 +1,37 @@
+Description: set the correct upstream soname for openssl3
+ Upstream has some overly-clever code in configure.ac to vary the soname
+ based on which version of openssl it's linking against.  However, this
+ openssl detection fails for openssl 3.x x > 0, which we now have in
+ unstable, causing a misbuild with the wrong soname in the package.
+ Just hard-code the soversion 3, which is better than the existing behavior!
+Author: Steve Langasek <steve.langasek at canonical.com>
+Forwarded: no
+Last-Update: 2024-02-25
+
+Index: libp11-0.4.12/configure.ac
+===================================================================
+--- libp11-0.4.12.orig/configure.ac
++++ libp11-0.4.12/configure.ac
+@@ -31,21 +31,7 @@
+ 
+ # we need to set our soversion based on openssl's soversion to avoid
+ # issues with applications linking to new openssl, old libp11, and vice versa
+-case "`$PKG_CONFIG --modversion --silence-errors libcrypto || \
+-	$PKG_CONFIG --modversion openssl`" in
+-	3.0.*) # Predicted engines directory prefix for OpenSSL 3.x
+-	    LIBP11_LT_OLDEST="3"
+-	    debian_ssl_prefix="openssl-3.0.0";;
+-	1.1.*) # Predicted engines directory prefix for OpenSSL 1.1.x
+-	    LIBP11_LT_OLDEST="3"
+-	    debian_ssl_prefix="openssl-1.1.0";;
+-	1.0.*) # Engines directory prefix for OpenSSL 1.0.x
+-	    LIBP11_LT_OLDEST="2"
+-	    debian_ssl_prefix="openssl-1.0.0";;
+-	*) # Engines directory prefix for OpenSSL 0.9.x
+-	    LIBP11_LT_OLDEST="2"
+-	    debian_ssl_prefix="ssl";;
+-esac
++LIBP11_LT_OLDEST="3"
+ 
+ 
+ # LT Version numbers, remember to change them just *before* a release.
diff -Nru libp11-0.4.12/debian/patches/series libp11-0.4.12/debian/patches/series
--- libp11-0.4.12/debian/patches/series	1970-01-01 00:00:00.000000000 +0000
+++ libp11-0.4.12/debian/patches/series	2024-02-28 16:14:01.000000000 +0000
@@ -0,0 +1 @@
+fix-upstream-soname-madness.patch


More information about the pkg-opensc-maint mailing list