packages/utils/opensc/Makefile

235 lines
5.9 KiB
Makefile
Raw Normal View History

#
# Copyright (C) 2011-2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=opensc
opensc: update to version 0.26.1 New in 0.26.1; 2025-01-14 General improvements Align allocations of sc_mem_secure_alloc (OpenSC/OpenSC#3281) Fix -O3 gcc optimization failure on amd64 and ppc64el (OpenSC/OpenSC#3299) pkcs11-spy Avoid crash while spying C_GetInterface() (OpenSC/OpenSC#3275) TCOS Fix reading certificate (OpenSC/OpenSC#3296) New in 0.26.0; 2024-11-13 Security CVE-2024-45615: Usage of uninitialized values in libopensc and pkcs15init (OpenSC/OpenSC#3225) CVE-2024-45616: Uninitialized values after incorrect check or usage of APDU response values in libopensc (OpenSC/OpenSC#3225) CVE-2024-45617: Uninitialized values after incorrect or missing checking return values of functions in libopensc (OpenSC/OpenSC#3225) CVE-2024-45618: Uninitialized values after incorrect or missing checking return values of functions in pkcs15init (OpenSC/OpenSC#3225) CVE-2024-45619: Incorrect handling length of buffers or files in libopensc (OpenSC/OpenSC#3225) CVE-2024-45620: Incorrect handling of the length of buffers or files in pkcs15init (OpenSC/OpenSC#3225) CVE-2024-8443: Heap buffer overflow in OpenPGP driver when generating key (OpenSC/OpenSC#3219) General improvements Fix reselection of DF after error in PKCSOpenSC/OpenSC#15 layer (OpenSC/OpenSC#3067) Unify OpenSSL logging throughout code (OpenSC/OpenSC#2922) Extend the p11test to support kryoptic (OpenSC/OpenSC#3141) Fix for error in PCSC reconnection (OpenSC/OpenSC#3150) Fixed various issues reported by OSS-Fuzz and Coverity in drivers, PKCS#11 and PKCS#15 layer PKCS#15 Documentation for PKCS#15 profile files (OpenSC/OpenSC#3132) minidriver Support PinCacheAlwaysPrompt usable for PIV cards (OpenSC/OpenSC#3167) pkcs11-tool Show URI when listing token information (OpenSC/OpenSC#3125) and objects (OpenSC/OpenSC#3130) Do not limit size of objects to 5000 bytes (OpenSC/OpenSC#3174) Add support for AES CMAC (OpenSC/OpenSC#3184) Add support for AES GCM encryption (OpenSC/OpenSC#3195) Add support for RSA OAEP encryption (OpenSC/OpenSC#3175) Add support for HKDF (OpenSC/OpenSC#3193) Implement better support for wrapping and unwrapping (OpenSC/OpenSC#3198) Add support for EdDSA sign and verify (OpenSC/OpenSC#2979) pkcs15-crypt Fix PKCS#1 encoding function to correctly detect padding type (OpenSC/OpenSC#3075) piv-tool Fix RSA key generation (OpenSC/OpenSC#3158) Avoid possible state change when matching unknown card (OpenSC/OpenSC#3112) sc-hsm-tool Cleanse buffer with plaintext key share (OpenSC/OpenSC#3226) pkcs11-register Fix pkcs11-register defaults on macOS and Windows (OpenSC/OpenSC#3053) IDPrime Fix identification of IDPrime 840 cards (OpenSC/OpenSC#3146) Fix container mapping for IDPrime 940 cards (OpenSC/OpenSC#3220) Reorder ATRs for matching cards (OpenSC/OpenSC#3154) OpenPGP Fix state tracking after erasing card (OpenSC/OpenSC#3024) Belpic Disable Applet V1.8 (OpenSC/OpenSC#3109) MICARDO Deactivate driver (OpenSC/OpenSC#3152) SmartCard-HSM Fix signing with secp521r1 signature (OpenSC/OpenSC#3157) eOI Set model via sc_card_ctl function (OpenSC/OpenSC#3189) Rutoken increase the minimum PIN size to support Rutoken ECP BIO (OpenSC/OpenSC#3208) JPKI Adjust parameters for public key in PKCS#15 emulator (OpenSC/OpenSC#3182) D-Trust Add support for ECDSA signatures and ECDH key agreement for D-Trust Signatures Cards 4.1/4.4 (OpenSC/OpenSC#3240, OpenSC/OpenSC##3248) Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-04-26 11:20:24 +08:00
PKG_VERSION:=0.26.1
PKG_RELEASE:=1
opensc: update to version 0.26.1 New in 0.26.1; 2025-01-14 General improvements Align allocations of sc_mem_secure_alloc (OpenSC/OpenSC#3281) Fix -O3 gcc optimization failure on amd64 and ppc64el (OpenSC/OpenSC#3299) pkcs11-spy Avoid crash while spying C_GetInterface() (OpenSC/OpenSC#3275) TCOS Fix reading certificate (OpenSC/OpenSC#3296) New in 0.26.0; 2024-11-13 Security CVE-2024-45615: Usage of uninitialized values in libopensc and pkcs15init (OpenSC/OpenSC#3225) CVE-2024-45616: Uninitialized values after incorrect check or usage of APDU response values in libopensc (OpenSC/OpenSC#3225) CVE-2024-45617: Uninitialized values after incorrect or missing checking return values of functions in libopensc (OpenSC/OpenSC#3225) CVE-2024-45618: Uninitialized values after incorrect or missing checking return values of functions in pkcs15init (OpenSC/OpenSC#3225) CVE-2024-45619: Incorrect handling length of buffers or files in libopensc (OpenSC/OpenSC#3225) CVE-2024-45620: Incorrect handling of the length of buffers or files in pkcs15init (OpenSC/OpenSC#3225) CVE-2024-8443: Heap buffer overflow in OpenPGP driver when generating key (OpenSC/OpenSC#3219) General improvements Fix reselection of DF after error in PKCSOpenSC/OpenSC#15 layer (OpenSC/OpenSC#3067) Unify OpenSSL logging throughout code (OpenSC/OpenSC#2922) Extend the p11test to support kryoptic (OpenSC/OpenSC#3141) Fix for error in PCSC reconnection (OpenSC/OpenSC#3150) Fixed various issues reported by OSS-Fuzz and Coverity in drivers, PKCS#11 and PKCS#15 layer PKCS#15 Documentation for PKCS#15 profile files (OpenSC/OpenSC#3132) minidriver Support PinCacheAlwaysPrompt usable for PIV cards (OpenSC/OpenSC#3167) pkcs11-tool Show URI when listing token information (OpenSC/OpenSC#3125) and objects (OpenSC/OpenSC#3130) Do not limit size of objects to 5000 bytes (OpenSC/OpenSC#3174) Add support for AES CMAC (OpenSC/OpenSC#3184) Add support for AES GCM encryption (OpenSC/OpenSC#3195) Add support for RSA OAEP encryption (OpenSC/OpenSC#3175) Add support for HKDF (OpenSC/OpenSC#3193) Implement better support for wrapping and unwrapping (OpenSC/OpenSC#3198) Add support for EdDSA sign and verify (OpenSC/OpenSC#2979) pkcs15-crypt Fix PKCS#1 encoding function to correctly detect padding type (OpenSC/OpenSC#3075) piv-tool Fix RSA key generation (OpenSC/OpenSC#3158) Avoid possible state change when matching unknown card (OpenSC/OpenSC#3112) sc-hsm-tool Cleanse buffer with plaintext key share (OpenSC/OpenSC#3226) pkcs11-register Fix pkcs11-register defaults on macOS and Windows (OpenSC/OpenSC#3053) IDPrime Fix identification of IDPrime 840 cards (OpenSC/OpenSC#3146) Fix container mapping for IDPrime 940 cards (OpenSC/OpenSC#3220) Reorder ATRs for matching cards (OpenSC/OpenSC#3154) OpenPGP Fix state tracking after erasing card (OpenSC/OpenSC#3024) Belpic Disable Applet V1.8 (OpenSC/OpenSC#3109) MICARDO Deactivate driver (OpenSC/OpenSC#3152) SmartCard-HSM Fix signing with secp521r1 signature (OpenSC/OpenSC#3157) eOI Set model via sc_card_ctl function (OpenSC/OpenSC#3189) Rutoken increase the minimum PIN size to support Rutoken ECP BIO (OpenSC/OpenSC#3208) JPKI Adjust parameters for public key in PKCS#15 emulator (OpenSC/OpenSC#3182) D-Trust Add support for ECDSA signatures and ECDH key agreement for D-Trust Signatures Cards 4.1/4.4 (OpenSC/OpenSC#3240, OpenSC/OpenSC##3248) Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-04-26 11:20:24 +08:00
PKG_HASH:=f16291a031d86e570394762e9f35eaf2fcbc2337a49910f3feae42d54e1688cb
PKG_LICENSE:=LGPL-2.1-or-later
PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:opensc_project:opensc
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_SOURCE_URL:=https://github.com/OpenSC/OpenSC/releases/download/$(PKG_VERSION)/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_BUILD_DEPENDS:=pcsc-lite
PKG_FIXUP:=libtool
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
define Package/libopensc
SECTION:=libs
CATEGORY:=Libraries
TITLE:=OpenSC libraries for smart cards
URL:=https://github.com/OpenSC/OpenSC/wiki
DEPENDS:=+libopenssl +libpthread +zlib
MENU:=1
endef
define Package/libopensc/description
OpenSC provides a set of libraries and utilities to work with smart cards.
Its main focus is on cards that support cryptographic operations, and
facilitate their use in security applications such as authentication,
mail encryption and digital signatures.
endef
define Package/libopensc-pkcs11
SECTION:=libs
CATEGORY:=Libraries
TITLE:=OpenSC - PKCS11 provider
URL:=https://github.com/OpenSC/OpenSC/wiki
DEPENDS:=libopensc
endef
define Package/libopensc-pkcs11/description
OpenSC PKCS#11 provider
endef
define Package/libpkcs11-spy
SECTION:=libs
CATEGORY:=Libraries
TITLE:=PKCS11 spying wrapper
URL:=https://github.com/OpenSC/OpenSC/wiki
DEPENDS:=+libopenssl +libpthread
endef
define Package/libpkcs11-spy/dscription
PKCS#11 spying wrapper
endef
define Package/opensc-utils
SECTION:=utils
CATEGORY:=Utilities
TITLE:=OpenSC - tools for smart cards
URL:=https://github.com/OpenSC/OpenSC/wiki
DEPENDS:=+libopensc
MENU:=1
endef
define Package/opensc-utils/description
OpenSC utilities
endef
define ToolGen
define Package/opensc-utils-$(subst _,-,$(firstword $(subst :, ,$(1))))
TITLE:=$(firstword $(subst :, ,$(1))) utility from opensc
URL:=https://github.com/OpenSC/OpenSC/wiki
SECTION:=utils
CATEGORY:=Utilities
DEPENDS:=opensc-utils $(wordlist 2,$(words $(subst :, ,$(1))),$(subst :, ,$(1)))
endef
endef
define ProfileGen
define Package/libopensc-profile-$(subst _,-,$(firstword $(subst :, ,$(1))))
TITLE:=$(firstword $(subst :, ,$(1))) card profile for opensc
URL:=https://github.com/OpenSC/OpenSC/wiki
SECTION:=libs
CATEGORY:=Libraries
DEPENDS:=libopensc
endef
endef
CONFIGURE_ARGS += \
--disable-man \
--disable-notify \
--disable-strict
TOOLS:= \
cardos-tool \
cryptoflex-tool \
dnie-tool \
opensc: update to version 0.25.1 * New in 0.25.1; 2024-04-05 ** General improvements * Add missing file to dist tarball to build documentation (#3063) ** minidriver * Fix RSA decryption with PKCS#1 v1.5 padding (#3077) * Fix crash when app is not set (#3084) * New in 0.25.0; 2024-03-06 ** Security * [CVE-2023-5992](https://github.com/OpenSC/OpenSC/wiki/CVE-2023-5992): Side-channel leaks while stripping encryption PKCS#1.5 padding in OpenSC (#2948) * [CVE-2024-1454](https://github.com/OpenSC/OpenSC/wiki/CVE-2024-1454): Potential use-after-free in AuthentIC driver during card enrollment in pkcs15init (#2962) ** General improvements * Update OpenSSL 1.1.1 to 3.0 in MacOS build (#2930) * Remove support for old card drivers Akis, GPK, Incrypto34 and Westcos, disable Cyberflex driver (#2885) * Fix 64b to 32b conversions (#2993) * Improvements for the p11test (#2991) * Fix reader initialization without SCardControl (#3007) * Make RSA PKCS#1 v1.5 depadding constant-time (#2948) * Add option for disabling PKCS#1 v1.5 depadding (type 01 and 02) on the card (#2975) * Enable MSI signing via Signpath CI integration for Windows (#2799) * Fixed various issues reported by OSS-Fuzz and Coverity in drivers, PKCS#11 and PKCS#15 layer ** minidriver * Fix wrong hash selection (#2932) ** pkcs11-tool * Simplify printing EC keys parameters (#2960) * Add option to import GENERIC key (#2955) * Add support for importing Ed25518/448 keys (#2985) ** drust-tool * Add tool for D-Trust cards (#3026, #3051) ** IDPrime * Support uncompressed certificates on IDPrime 940 (#2958) * Enhance IDPrime logging (#3003) * Add SafeNet 5110+ FIPS token support (#3048) ** D-Trust Signature Cards * Add support for RSA D-Trust Signature Card 4.1 and 4.4 (#2943) ** EstEID * Remove expired EstEID 3.* card support (#2950) ** ePass2003 * Allow SW implementation with more SHA2 hashes and ECDSA (#3012) * Fix EC key generation (#3045) ** SmartCard-HSM * Fix SELECT APDU command (#2978) ** MyEID * Update for PKCS#15 profile (#2965) ** Rutoken * Support for RSA 4096 key algorithm (#3011) ** OpenPGP Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-06-05 09:09:21 +08:00
dtrust-tool \
egk-tool \
eidenv \
gids-tool \
goid-tool \
iasecc-tool \
netkey-tool \
openpgp-tool \
opensc: update to version 0.25.1 * New in 0.25.1; 2024-04-05 ** General improvements * Add missing file to dist tarball to build documentation (#3063) ** minidriver * Fix RSA decryption with PKCS#1 v1.5 padding (#3077) * Fix crash when app is not set (#3084) * New in 0.25.0; 2024-03-06 ** Security * [CVE-2023-5992](https://github.com/OpenSC/OpenSC/wiki/CVE-2023-5992): Side-channel leaks while stripping encryption PKCS#1.5 padding in OpenSC (#2948) * [CVE-2024-1454](https://github.com/OpenSC/OpenSC/wiki/CVE-2024-1454): Potential use-after-free in AuthentIC driver during card enrollment in pkcs15init (#2962) ** General improvements * Update OpenSSL 1.1.1 to 3.0 in MacOS build (#2930) * Remove support for old card drivers Akis, GPK, Incrypto34 and Westcos, disable Cyberflex driver (#2885) * Fix 64b to 32b conversions (#2993) * Improvements for the p11test (#2991) * Fix reader initialization without SCardControl (#3007) * Make RSA PKCS#1 v1.5 depadding constant-time (#2948) * Add option for disabling PKCS#1 v1.5 depadding (type 01 and 02) on the card (#2975) * Enable MSI signing via Signpath CI integration for Windows (#2799) * Fixed various issues reported by OSS-Fuzz and Coverity in drivers, PKCS#11 and PKCS#15 layer ** minidriver * Fix wrong hash selection (#2932) ** pkcs11-tool * Simplify printing EC keys parameters (#2960) * Add option to import GENERIC key (#2955) * Add support for importing Ed25518/448 keys (#2985) ** drust-tool * Add tool for D-Trust cards (#3026, #3051) ** IDPrime * Support uncompressed certificates on IDPrime 940 (#2958) * Enhance IDPrime logging (#3003) * Add SafeNet 5110+ FIPS token support (#3048) ** D-Trust Signature Cards * Add support for RSA D-Trust Signature Card 4.1 and 4.4 (#2943) ** EstEID * Remove expired EstEID 3.* card support (#2950) ** ePass2003 * Allow SW implementation with more SHA2 hashes and ECDSA (#3012) * Fix EC key generation (#3045) ** SmartCard-HSM * Fix SELECT APDU command (#2978) ** MyEID * Update for PKCS#15 profile (#2965) ** Rutoken * Support for RSA 4096 key algorithm (#3011) ** OpenPGP Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-06-05 09:09:21 +08:00
opensc-asn1 \
opensc-explorer:+libncurses:+libreadline \
opensc: update to version 0.25.1 * New in 0.25.1; 2024-04-05 ** General improvements * Add missing file to dist tarball to build documentation (#3063) ** minidriver * Fix RSA decryption with PKCS#1 v1.5 padding (#3077) * Fix crash when app is not set (#3084) * New in 0.25.0; 2024-03-06 ** Security * [CVE-2023-5992](https://github.com/OpenSC/OpenSC/wiki/CVE-2023-5992): Side-channel leaks while stripping encryption PKCS#1.5 padding in OpenSC (#2948) * [CVE-2024-1454](https://github.com/OpenSC/OpenSC/wiki/CVE-2024-1454): Potential use-after-free in AuthentIC driver during card enrollment in pkcs15init (#2962) ** General improvements * Update OpenSSL 1.1.1 to 3.0 in MacOS build (#2930) * Remove support for old card drivers Akis, GPK, Incrypto34 and Westcos, disable Cyberflex driver (#2885) * Fix 64b to 32b conversions (#2993) * Improvements for the p11test (#2991) * Fix reader initialization without SCardControl (#3007) * Make RSA PKCS#1 v1.5 depadding constant-time (#2948) * Add option for disabling PKCS#1 v1.5 depadding (type 01 and 02) on the card (#2975) * Enable MSI signing via Signpath CI integration for Windows (#2799) * Fixed various issues reported by OSS-Fuzz and Coverity in drivers, PKCS#11 and PKCS#15 layer ** minidriver * Fix wrong hash selection (#2932) ** pkcs11-tool * Simplify printing EC keys parameters (#2960) * Add option to import GENERIC key (#2955) * Add support for importing Ed25518/448 keys (#2985) ** drust-tool * Add tool for D-Trust cards (#3026, #3051) ** IDPrime * Support uncompressed certificates on IDPrime 940 (#2958) * Enhance IDPrime logging (#3003) * Add SafeNet 5110+ FIPS token support (#3048) ** D-Trust Signature Cards * Add support for RSA D-Trust Signature Card 4.1 and 4.4 (#2943) ** EstEID * Remove expired EstEID 3.* card support (#2950) ** ePass2003 * Allow SW implementation with more SHA2 hashes and ECDSA (#3012) * Fix EC key generation (#3045) ** SmartCard-HSM * Fix SELECT APDU command (#2978) ** MyEID * Update for PKCS#15 profile (#2965) ** Rutoken * Support for RSA 4096 key algorithm (#3011) ** OpenPGP Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-06-05 09:09:21 +08:00
opensc-tool \
piv-tool \
pkcs11-register \
pkcs11-tool \
pkcs15-crypt \
pkcs15-init \
pkcs15-tool \
sc-hsm-tool \
westcos-tool
PROFILES:= \
asepcos \
authentic \
cardos \
cyberflex \
entersafe \
epass2003 \
flex \
gids \
ias_adele_admin1 \
ias_adele_admin2 \
ias_adele_common \
iasecc_admin_eid \
iasecc_generic_oberthur \
iasecc_generic_pki \
iasecc \
isoApplet \
muscle \
myeid \
oberthur \
openpgp \
pkcs15 \
rutoken_ecp \
rutoken_lite \
rutoken \
sc-hsm \
setcos \
opensc: update to version 0.25.1 * New in 0.25.1; 2024-04-05 ** General improvements * Add missing file to dist tarball to build documentation (#3063) ** minidriver * Fix RSA decryption with PKCS#1 v1.5 padding (#3077) * Fix crash when app is not set (#3084) * New in 0.25.0; 2024-03-06 ** Security * [CVE-2023-5992](https://github.com/OpenSC/OpenSC/wiki/CVE-2023-5992): Side-channel leaks while stripping encryption PKCS#1.5 padding in OpenSC (#2948) * [CVE-2024-1454](https://github.com/OpenSC/OpenSC/wiki/CVE-2024-1454): Potential use-after-free in AuthentIC driver during card enrollment in pkcs15init (#2962) ** General improvements * Update OpenSSL 1.1.1 to 3.0 in MacOS build (#2930) * Remove support for old card drivers Akis, GPK, Incrypto34 and Westcos, disable Cyberflex driver (#2885) * Fix 64b to 32b conversions (#2993) * Improvements for the p11test (#2991) * Fix reader initialization without SCardControl (#3007) * Make RSA PKCS#1 v1.5 depadding constant-time (#2948) * Add option for disabling PKCS#1 v1.5 depadding (type 01 and 02) on the card (#2975) * Enable MSI signing via Signpath CI integration for Windows (#2799) * Fixed various issues reported by OSS-Fuzz and Coverity in drivers, PKCS#11 and PKCS#15 layer ** minidriver * Fix wrong hash selection (#2932) ** pkcs11-tool * Simplify printing EC keys parameters (#2960) * Add option to import GENERIC key (#2955) * Add support for importing Ed25518/448 keys (#2985) ** drust-tool * Add tool for D-Trust cards (#3026, #3051) ** IDPrime * Support uncompressed certificates on IDPrime 940 (#2958) * Enhance IDPrime logging (#3003) * Add SafeNet 5110+ FIPS token support (#3048) ** D-Trust Signature Cards * Add support for RSA D-Trust Signature Card 4.1 and 4.4 (#2943) ** EstEID * Remove expired EstEID 3.* card support (#2950) ** ePass2003 * Allow SW implementation with more SHA2 hashes and ECDSA (#3012) * Fix EC key generation (#3045) ** SmartCard-HSM * Fix SELECT APDU command (#2978) ** MyEID * Update for PKCS#15 profile (#2965) ** Rutoken * Support for RSA 4096 key algorithm (#3011) ** OpenPGP Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-06-05 09:09:21 +08:00
starcos
$(foreach file,$(TOOLS),$(eval $(call ToolGen,$(file))))
$(foreach file,$(PROFILES),$(eval $(call ProfileGen,$(file))))
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libopensc.{la,so}* $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libsmm-local.{la,so}* $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/opensc-pkcs11.so $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkcs11-spy.so $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkcs11
$(LN) ../pkcs11-spy.so $(1)/usr/lib/pkcs11/
$(LN) ../opensc-pkcs11.so $(1)/usr/lib/pkcs11/
$(INSTALL_DIR) $(1)/usr/share/opensc
$(CP) $(PKG_INSTALL_DIR)/usr/share/opensc/* $(1)/usr/share/opensc/
endef
define Package/libopensc/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libopensc.so* $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libsmm-local.so* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/etc
$(CP) $(PKG_INSTALL_DIR)/etc/opensc.conf $(1)/etc/
endef
define Package/libopensc-pkcs11/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/opensc-pkcs11.so $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkcs11
$(LN) ../opensc-pkcs11.so $(1)/usr/lib/pkcs11/
endef
define Package/libpkcs11-spy/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkcs11-spy.so $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkcs11
$(LN) ../pkcs11-spy.so $(1)/usr/lib/pkcs11/
endef
define Package/opensc-card-profiles
$(INSTALL_DIR) $(1)/usr/share/opensc
$(CP) $(PKG_INSTALL_DIR)/usr/share/opensc/* $(1)/usr/share/opensc/
endef
define Package/opensc-utils/install
true
endef
define ToolInstall
define Package/opensc-utils-$(subst _,-,$(firstword $(subst :, ,$(1))))/install
$(INSTALL_DIR) $$(1)/usr/bin
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/bin/$(firstword $(subst :, ,$(1))) \
$$(1)/usr/bin/
endef
endef
define ProfileInstall
define Package/libopensc-profile-$(subst _,-,$(firstword $(subst :, ,$(1))))/install
$(INSTALL_DIR) $$(1)/usr/share/opensc
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/share/opensc/$(firstword $(subst :, ,$(1))).profile \
$$(1)/usr/share/opensc
endef
endef
$(foreach file,$(TOOLS),$(eval $(call ToolInstall,$(file))))
$(foreach file,$(PROFILES),$(eval $(call ProfileInstall,$(file))))
$(eval $(call BuildPackage,libopensc))
$(eval $(call BuildPackage,libopensc-pkcs11))
$(eval $(call BuildPackage,libpkcs11-spy))
$(eval $(call BuildPackage,opensc-utils))
$(foreach file,$(TOOLS),$(eval $(call BuildPackage,opensc-utils-$(subst _,-,$(firstword $(subst :, ,$(file)))))))
$(foreach file,$(PROFILES),$(eval $(call BuildPackage,libopensc-profile-$(subst _,-,$(firstword $(subst :, ,$(file)))))))