[packages/canokey-qemu] - updated to 1 (new soname)

qboosh qboosh at pld-linux.org
Mon May 18 21:15:32 CEST 2026


commit 0f4e38e007b30d9a5a7f1b0e7209a20a0730eb89
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Mon May 18 21:15:26 2026 +0200

    - updated to 1 (new soname)

 canokey-qemu-system-libs.patch | 215 +++++++++++++++++++----------------------
 canokey-qemu.spec              |  39 ++++----
 2 files changed, 120 insertions(+), 134 deletions(-)
---
diff --git a/canokey-qemu.spec b/canokey-qemu.spec
index 5bc8df5..d2fd5b3 100644
--- a/canokey-qemu.spec
+++ b/canokey-qemu.spec
@@ -1,26 +1,26 @@
-%define		core_gitref	e216aa00b95b27c8e6bc5f2907a05e49a0ddafad
-%define		crypto_gitref	8fab8813ce2603ba198a9beeb32c06ad08ae0865
-%define		mbedtls_gitref	f71e2878084126737cc39083e1e15afc459bd93d
+%define		core_gitref		6c8cbf0f68e16f71f3d66d9cbc76115af93324ec
+%define		crypto_gitref		2217732a29d750400778900d17adf8aa6dd77bda
+%define		tfpsacrypto_gitref	76920edddcad00ac41b248e12d937b845df7bedb
+%define		mbedtlsframework_gitref	457996474728cb8e968ed21953b72f74d2f536b2
 Summary:	CanoKey library for QEMU
 Summary(pl.UTF-8):	Biblioteka CanoKey dla QEMU
 Name:		canokey-qemu
-Version:	0
-%define	gitref	151568c34f5e92b086b7a3a62a11c43dd39f628b
-%define	snap	20230606
-%define	rel	1
-Release:	0.%{snap}.%{rel}
+Version:	1
+Release:	1
 License:	Apache v2.0
 Group:		Libraries
 #Source0Download: https://github.com/canokeys/canokey-qemu/tags
-Source0:	https://github.com/canokeys/canokey-qemu/archive/%{gitref}/%{name}-%{snap}.tar.gz
-# Source0-md5:	02b14bbbdbe0e0774f3b8bdb3e201a40
+Source0:	https://github.com/canokeys/canokey-qemu/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5:	7fb9bdb65d568890a18207a6ddfb757d
 Source1:	https://github.com/canokeys/canokey-core/archive/%{core_gitref}/canokey-core-%{core_gitref}.tar.gz
-# Source1-md5:	68d90de51a4279965e172dc58f3beb5f
+# Source1-md5:	a9fd4f1cf856e6acbea59c70eb7f90d6
 Source2:	https://github.com/canokeys/canokey-crypto/archive/%{crypto_gitref}/canokey-crypto-%{crypto_gitref}.tar.gz
-# Source2-md5:	2f0b6d9c6ededec1fb57f04c2c5b0b7e
-## private mbedtls is patched for MBEDTLS_ECP_DP_ED25519 support
-Source3:	https://github.com/ARMmbed/mbedtls/archive/%{mbedtls_gitref}/mbedtls-%{mbedtls_gitref}.tar.gz
-# Source3-md5:	80fe94ab2e3eb4213d00ba0473dbe71c
+# Source2-md5:	ac72eed51184d4a3d4e27d7f733a66e1
+## private TF-PSA-Crypto is patched for MBEDTLS_ECP_DP_ED25519 support
+Source3:	https://github.com/Mbed-TLS/TF-PSA-Crypto/archive/%{tfpsacrypto_gitref}/TF-PSA-Crypto-%{tfpsacrypto_gitref}.tar.gz
+# Source3-md5:	494ddf8152ee258a831e23db6c54f672
+Source4:	https://github.com/Mbed-TLS/mbedtls-framework/archive/%{mbedtlsframework_gitref}/mbedtls-framework-%{mbedtlsframework_gitref}.tar.gz
+# Source4-md5:	66f38441a31249afed5b34b9d6d95021
 Patch0:		%{name}-system-libs.patch
 URL:		https://github.com/canokeys/canokey-core/
 BuildRequires:	cmake >= 3.7
@@ -62,11 +62,12 @@ Header files for canokey-qemu library.
 Pliki nagłówkowe biblioteki canokey-qemu.
 
 %prep
-%setup -q -n %{name}-%{gitref}
+%setup -q
 
 %{__tar} xf %{SOURCE1} -C canokey-core --strip-components=1
 %{__tar} xf %{SOURCE2} -C canokey-core/canokey-crypto --strip-components=1
-%{__tar} xf %{SOURCE3} -C canokey-core/canokey-crypto/mbedtls --strip-components=1
+%{__tar} xf %{SOURCE3} -C canokey-core/canokey-crypto/tf-psa-crypto --strip-components=1
+%{__tar} xf %{SOURCE4} -C canokey-core/canokey-crypto/tf-psa-crypto/framework --strip-components=1
 
 %patch -P0 -p1
 
@@ -96,10 +97,10 @@ rm -rf $RPM_BUILD_ROOT
 %files
 %defattr(644,root,root,755)
 %doc README.md
-%attr(755,root,root) %{_libdir}/libcanokey-qemu.so.0
+%{_libdir}/libcanokey-qemu.so.1
 
 %files devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libcanokey-qemu.so
+%{_libdir}/libcanokey-qemu.so
 %{_includedir}/canokey-qemu.h
 %{_pkgconfigdir}/canokey-qemu.pc
diff --git a/canokey-qemu-system-libs.patch b/canokey-qemu-system-libs.patch
index 2ffb9f5..2204be8 100644
--- a/canokey-qemu-system-libs.patch
+++ b/canokey-qemu-system-libs.patch
@@ -1,111 +1,130 @@
---- canokey-qemu-151568c34f5e92b086b7a3a62a11c43dd39f628b/CMakeLists.txt.orig	2023-06-05 19:09:03.000000000 +0200
-+++ canokey-qemu-151568c34f5e92b086b7a3a62a11c43dd39f628b/CMakeLists.txt	2024-04-01 21:47:48.581666791 +0200
-@@ -27,18 +27,18 @@ if(${APPLE})
- 	add_library(canokey-qemu STATIC ${SRC} 
-         canokey-core/virt-card/device-sim.c
-         canokey-core/virt-card/fabrication.c
--        canokey-core/littlefs/bd/lfs_filebd.c)
-+        )
- else()
- 	add_library(canokey-qemu SHARED ${SRC}
-         canokey-core/virt-card/device-sim.c
-         canokey-core/virt-card/fabrication.c
--        canokey-core/littlefs/bd/lfs_filebd.c)
-+        )
- endif()
- set_target_properties(canokey-qemu PROPERTIES PUBLIC_HEADER Inc/canokey-qemu.h)
- set_target_properties(canokey-qemu PROPERTIES SOVERSION ${LIBCANOKEY_QEMU_SO_VERSION})
+--- canokey-qemu-1/CMakeLists.txt.orig	2026-03-24 02:10:51.000000000 +0100
++++ canokey-qemu-1/CMakeLists.txt	2026-05-18 20:19:22.101959275 +0200
+@@ -25,7 +25,6 @@ set(LIBCANOKEY_QEMU_INCLUDEDIR ${CMAKE_I
+ set(QEMU_VIRT_SRCS
+     canokey-core/virt-card/device-sim.c
+     canokey-core/virt-card/fabrication.c
+-    canokey-core/littlefs/bd/lfs_filebd.c
+ )
+ file(GLOB_RECURSE SRC Src/*.c)
+ 
+@@ -40,7 +39,7 @@ set_target_properties(canokey-qemu PROPE
+ )
  target_include_directories(canokey-qemu SYSTEM PRIVATE Inc canokey-core/virt-card canokey-core)
  target_compile_definitions(canokey-qemu PRIVATE HW_VARIANT_NAME="CanoKey QEMU")
--target_link_libraries(canokey-qemu general canokey-core)
-+target_link_libraries(canokey-qemu general canokey-core lfs)
+-target_link_libraries(canokey-qemu PRIVATE canokey-core)
++target_link_libraries(canokey-qemu PRIVATE canokey-core lfs)
  add_dependencies(canokey-qemu gitrev)
- install(TARGETS canokey-qemu LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-         PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
---- canokey-qemu-151568c34f5e92b086b7a3a62a11c43dd39f628b/canokey-core/CMakeLists.txt.orig	2022-05-11 16:15:56.000000000 +0200
-+++ canokey-qemu-151568c34f5e92b086b7a3a62a11c43dd39f628b/canokey-core/CMakeLists.txt	2024-04-01 21:54:24.789520349 +0200
-@@ -29,8 +29,8 @@ if (DEFINED USBD_PRODUCT_STRING)
- endif ()
  
- file(GLOB_RECURSE SRC src/*.c applets/*.c interfaces/*.c
--        littlefs/lfs.c littlefs/lfs_util.c
--        tinycbor/src/cborencoder.c tinycbor/src/cborparser.c)
-+        )
-+include_directories("/usr/include/tinycbor")
+ install(TARGETS canokey-qemu
+--- canokey-qemu-1/canokey-core/CMakeLists.txt.orig	2026-03-15 13:33:33.000000000 +0100
++++ canokey-qemu-1/canokey-core/CMakeLists.txt	2026-05-18 20:22:16.204349415 +0200
+@@ -78,11 +78,8 @@ file(
+     src/*.c
+     applets/*.c
+     interfaces/*.c
+-    littlefs/lfs.c
+-    littlefs/lfs_util.c
+-    tinycbor/src/cborencoder.c
+-    tinycbor/src/cborparser.c
+ )
++#include_directories("/usr/include/tinycbor")
  add_library(canokey-core ${SRC})
+ add_dependencies(canokey-core generate_ctap_get_info_cbor)
  
- if (ENABLE_TESTS)
-@@ -47,15 +46,13 @@ endif (ENABLE_FUZZING)
- target_include_directories(canokey-core SYSTEM
-         PUBLIC
+@@ -102,9 +99,7 @@ target_include_directories(
+     SYSTEM
+     PUBLIC
          include
 -        littlefs
 -        tinycbor/src
+-        ${CMAKE_CURRENT_BINARY_DIR}/tinycbor
++        /usr/include/tinycbor
+         ${CMAKE_CURRENT_BINARY_DIR}
          interfaces/USB/device
          interfaces/USB/core/inc
-         interfaces/USB/class/ccid
-         interfaces/USB/class/ctaphid
-         interfaces/USB/class/kbdhid
-         interfaces/USB/class/webusb)
+@@ -114,7 +109,7 @@ target_include_directories(
+         interfaces/USB/class/webusb
+ )
+ target_compile_definitions(canokey-core PRIVATE CBOR_NO_FLOATING_POINT CBOR_STATIC_DEFINE)
 -target_link_libraries(canokey-core canokey-crypto)
 +target_link_libraries(canokey-core canokey-crypto lfs tinycbor)
  
  list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules")
  
-@@ -81,9 +78,9 @@ if (ENABLE_TESTS)
+@@ -146,17 +141,17 @@ if(ENABLE_TESTS)
+         virt-card/device-sim.c
+         virt-card/fabrication.c
+         virt-card/fido-hid-over-udp.c
+-        littlefs/bd/lfs_filebd.c
+     )
+     target_include_directories(
+         fido-hid-over-udp
+         SYSTEM
+-        PRIVATE virt-card littlefs
++        PRIVATE virt-card
+     )
+     target_link_libraries(
+         fido-hid-over-udp
+         general
+         canokey-core
++	lfs
+         "-fsanitize=address"
+     )
+     add_dependencies(fido-hid-over-udp gitrev)
+@@ -170,14 +165,13 @@ if(ENABLE_TESTS)
              virt-card/device-sim.c
+             virt-card/ifdhandler.c
              virt-card/fabrication.c
-             virt-card/fido-hid-over-udp.c
--            littlefs/bd/lfs_filebd.c)
--    target_include_directories(fido-hid-over-udp SYSTEM PRIVATE virt-card littlefs)
--    target_link_libraries(fido-hid-over-udp general canokey-core "-fsanitize=address")
-+            )
-+    target_include_directories(fido-hid-over-udp SYSTEM PRIVATE virt-card)
-+    target_link_libraries(fido-hid-over-udp general canokey-core lfs "-fsanitize=address")
- 
-     pkg_search_module(PCSCLITE libpcsclite)
-     if (PCSCLITE_FOUND)
-@@ -92,9 +89,9 @@ if (ENABLE_TESTS)
-                 virt-card/device-sim.c
-                 virt-card/ifdhandler.c
-                 virt-card/fabrication.c
--                littlefs/bd/lfs_filebd.c)
--        target_include_directories(u2f-virt-card SYSTEM PRIVATE virt-card ${PCSCLITE_INCLUDE_DIRS} littlefs)
+-            littlefs/bd/lfs_filebd.c
+         )
+         target_include_directories(
+             u2f-virt-card
+             SYSTEM
+-            PRIVATE virt-card ${PCSCLITE_INCLUDE_DIRS} littlefs
++            PRIVATE virt-card ${PCSCLITE_INCLUDE_DIRS}
+         )
 -        target_link_libraries(u2f-virt-card ${PCSCLITE_LIBRARIES} canokey-core)
-+                )
-+        target_include_directories(u2f-virt-card SYSTEM PRIVATE virt-card ${PCSCLITE_INCLUDE_DIRS})
-+        target_link_libraries(u2f-virt-card ${PCSCLITE_LIBRARIES} lfs canokey-core)
++        target_link_libraries(u2f-virt-card ${PCSCLITE_LIBRARIES} canokey-core lfs)
          add_dependencies(u2f-virt-card gitrev)
-     endif ()
- endif (ENABLE_TESTS)
-@@ -105,9 +102,9 @@ if (ENABLE_FUZZING)
-             virt-card/usb-dummy.c
-             virt-card/device-sim.c
-             virt-card/fabrication.c
--            littlefs/bd/lfs_filebd.c)
--    target_include_directories(honggfuzz-fuzzer SYSTEM PRIVATE virt-card littlefs)
+     endif()
+ endif(ENABLE_TESTS)
+@@ -189,14 +183,13 @@ if(ENABLE_FUZZING)
+         virt-card/usb-dummy.c
+         virt-card/device-sim.c
+         virt-card/fabrication.c
+-        littlefs/bd/lfs_filebd.c
+     )
+     target_include_directories(
+         honggfuzz-fuzzer
+         SYSTEM
+-        PRIVATE virt-card littlefs
++        PRIVATE virt-card
+     )
 -    target_link_libraries(honggfuzz-fuzzer canokey-core)
-+            )
-+    target_include_directories(honggfuzz-fuzzer SYSTEM PRIVATE virt-card)
 +    target_link_libraries(honggfuzz-fuzzer canokey-core lfs)
      add_dependencies(honggfuzz-fuzzer gitrev)
  
-     add_executable(honggfuzz-debug
-@@ -116,8 +113,8 @@ if (ENABLE_FUZZING)
-             virt-card/usb-dummy.c
-             virt-card/device-sim.c
-             virt-card/fabrication.c
--            littlefs/bd/lfs_filebd.c)
--    target_include_directories(honggfuzz-debug SYSTEM PRIVATE virt-card littlefs)
+     add_executable(
+@@ -206,13 +199,12 @@ if(ENABLE_FUZZING)
+         virt-card/usb-dummy.c
+         virt-card/device-sim.c
+         virt-card/fabrication.c
+-        littlefs/bd/lfs_filebd.c
+     )
+     target_include_directories(
+         honggfuzz-debug
+         SYSTEM
+-        PRIVATE virt-card littlefs
++        PRIVATE virt-card
+     )
 -    target_link_libraries(honggfuzz-debug canokey-core)
-+            )
-+    target_include_directories(honggfuzz-debug SYSTEM PRIVATE virt-card)
 +    target_link_libraries(honggfuzz-debug canokey-core lfs)
      add_dependencies(honggfuzz-debug gitrev)
- endif (ENABLE_FUZZING)
---- canokey-qemu-151568c34f5e92b086b7a3a62a11c43dd39f628b/canokey-core/virt-card/fabrication.c.orig	2022-05-11 16:15:56.000000000 +0200
-+++ canokey-qemu-151568c34f5e92b086b7a3a62a11c43dd39f628b/canokey-core/virt-card/fabrication.c	2024-04-01 21:55:06.385961668 +0200
-@@ -9,7 +9,7 @@
+ endif(ENABLE_FUZZING)
+--- canokey-qemu-1/canokey-core/virt-card/fabrication.c.orig	2026-03-15 13:33:33.000000000 +0100
++++ canokey-qemu-1/canokey-core/virt-card/fabrication.c	2026-05-18 20:22:59.920779249 +0200
+@@ -10,7 +10,7 @@
  #include <aes.h>
  #include <apdu.h>
  #include <assert.h>
@@ -114,37 +133,3 @@
  #include <ctap.h>
  #include <fs.h>
  #include <lfs.h>
-@@ -15,6 +15,7 @@
- #include <lfs.h>
- 
- static struct lfs_config cfg;
-+static struct lfs_filebd_config bdcfg;
- static lfs_filebd_t bd;
- 
- uint8_t private_key[] = {0x46, 0x5b, 0x44, 0x5d, 0x8e, 0x78, 0x34, 0x53, 0xf7, 0x4b, 0x90,
-@@ -104,19 +105,20 @@ static void oath_init() {
- 
- int card_fs_init(const char *lfs_root) {
-   memset(&cfg, 0, sizeof(cfg));
-+  memset(&bdcfg, 0, sizeof(bdcfg));
-   cfg.context = &bd;
-   cfg.read = &lfs_filebd_read;
-   cfg.prog = &lfs_filebd_prog;
-   cfg.erase = &lfs_filebd_erase;
-   cfg.sync = &lfs_filebd_sync;
--  cfg.read_size = 1;
--  cfg.prog_size = 512;
--  cfg.block_size = 512;
--  cfg.block_count = 256;
-+  bdcfg.read_size = cfg.read_size = 1;
-+  bdcfg.prog_size = cfg.prog_size = 512;
-+  bdcfg.erase_size = cfg.block_size = 512;
-+  bdcfg.erase_count = cfg.block_count = 256;
-   cfg.block_cycles = 50000;
-   cfg.cache_size = 512;
-   cfg.lookahead_size = 16;
--  if (lfs_filebd_create(&cfg, lfs_root)) return 1;
-+  if (lfs_filebd_create(&cfg, lfs_root, &bdcfg)) return 1;
- 
-   int err = fs_mount(&cfg);
-   if (err) { // should happen for the first boot
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/canokey-qemu.git/commitdiff/0f4e38e007b30d9a5a7f1b0e7209a20a0730eb89



More information about the pld-cvs-commit mailing list