wolfssl: prefer regular libwolfssl over cpu-crypto

Rename libwolfssl-cpu-crypto to libwolfsslcpu-crypto so that the
regular libwolfssl version comes first when running:
opkg install libwolfssl

Normally, if the package name matches the opkg parameter, that package
is preferred.  However, for libraries, the ABI version string is
appended to the package official name, and the short name won't match.
Failing a name match, the candidate packages are sorted in alphabetical
order, and a dash will come before any number.  So in order to prefer
the original library, the dash should be removed from the alternative
library.

Fixes: c3e7d86d2b (wolfssl: add libwolfssl-cpu-crypto package)
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
This commit is contained in:
Eneas U de Queiroz 2022-09-23 08:43:59 -03:00 committed by Christian Marangi
parent 50d0b41b38
commit d08c9da43c
No known key found for this signature in database
GPG Key ID: AC001D09ADBFEAD7
3 changed files with 16 additions and 16 deletions

View File

@ -67,8 +67,8 @@ config WOLFSSL_HAS_DEVCRYPTO
bool bool
if PACKAGE_libwolfssl if PACKAGE_libwolfssl
if PACKAGE_libwolfssl-cpu-crypto if PACKAGE_libwolfsslcpu-crypto
comment "Hardware Acceleration does not apply to libwolfssl-cpu-crypto" comment "Hardware Acceleration does not apply to libwolfsslcpu-crypto"
endif endif
choice choice
prompt "Hardware Acceleration" prompt "Hardware Acceleration"

View File

@ -67,7 +67,7 @@ $(call Package/libwolfssl/Default)
ABI_VERSION:=$(PKG_ABI_VERSION) ABI_VERSION:=$(PKG_ABI_VERSION)
VARIANT:=regular VARIANT:=regular
DEFAULT_VARIANT:=1 DEFAULT_VARIANT:=1
CONFLICTS:=libwolfssl-cpu-crypto CONFLICTS:=libwolfsslcpu-crypto
endef endef
define Package/libwolfssl/description define Package/libwolfssl/description
@ -79,7 +79,7 @@ define Package/libwolfssl/config
source "$(SOURCE)/Config.in" source "$(SOURCE)/Config.in"
endef endef
define Package/libwolfssl-cpu-crypto define Package/libwolfsslcpu-crypto
$(call Package/libwolfssl/Default) $(call Package/libwolfssl/Default)
TITLE:=wolfSSL library with AES CPU instructions TITLE:=wolfSSL library with AES CPU instructions
PROVIDES:=libwolfssl libcyassl PROVIDES:=libwolfssl libcyassl
@ -94,20 +94,20 @@ $(call Package/libwolfssl/Default)
DEPENDS:=libwolfssl DEPENDS:=libwolfssl
endef endef
define Package/libwolfssl-cpu-crypto/description define Package/libwolfsslcpu-crypto/description
$(call Package/libwolfssl/description) $(call Package/libwolfssl/description)
This variant uses AES CPU instructions (Intel AESNI or ARMv8 Crypto Extension) This variant uses AES CPU instructions (Intel AESNI or ARMv8 Crypto Extension)
endef endef
define Package/libwolfssl-cpu-crypto/config define Package/libwolfsslcpu-crypto/config
if TARGET_armvirt && PACKAGE_libwolfssl-cpu-crypto = y if TARGET_armvirt && PACKAGE_libwolfsslcpu-crypto = y
comment "You are about to build libwolfssl-cpu-crypto into an armvirt_64 image." comment "You are about to build libwolfsslcpu-crypto into an armvirt_64 image."
comment "Ensure all of your installation targets support the Crypto Extension. " comment "Ensure all of your installation targets support the Crypto Extension. "
comment "Look for the 'aes' feature in /proc/cpuinfo. This library does not do " comment "Look for the 'aes' feature in /proc/cpuinfo. This library does not do "
comment "run-time detection and will crash if the CPU does not support it. " comment "run-time detection and will crash if the CPU does not support it. "
endif endif
if TARGET_bcm27xx && PACKAGE_libwolfssl-cpu-crypto if TARGET_bcm27xx && PACKAGE_libwolfsslcpu-crypto
comment "Beware that libwolfssl-cpu-crypto will not run in a bcm27xx target. " comment "Beware that libwolfsslcpu-crypto will not run in a bcm27xx target. "
endif endif
endef endef
@ -161,7 +161,7 @@ else ifdef CONFIG_aarch64
CONFIGURE_ARGS += --enable-armasm CONFIGURE_ARGS += --enable-armasm
TARGET_CFLAGS:=$(TARGET_CFLAGS:-mcpu%=-mcpu%+crypto) TARGET_CFLAGS:=$(TARGET_CFLAGS:-mcpu%=-mcpu%+crypto)
WOLFSSL_NOASM_REGEX:=^bcm27xx/.* WOLFSSL_NOASM_REGEX:=^bcm27xx/.*
Package/libwolfssl-cpu-crypto/preinst=\ Package/libwolfsslcpu-crypto/preinst=\
$(subst @@WOLFSSL_NOASM_REGEX@@,$(WOLFSSL_NOASM_REGEX),$(file <preinst.arm-ce)) $(subst @@WOLFSSL_NOASM_REGEX@@,$(WOLFSSL_NOASM_REGEX),$(file <preinst.arm-ce))
else ifdef CONFIG_TARGET_x86_64 else ifdef CONFIG_TARGET_x86_64
CONFIGURE_ARGS += --enable-intelasm CONFIGURE_ARGS += --enable-intelasm
@ -194,7 +194,7 @@ define Package/libwolfssl/install
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libwolfssl.so.* $(1)/usr/lib/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libwolfssl.so.* $(1)/usr/lib/
endef endef
Package/libwolfssl-cpu-crypto/install=$(Package/libwolfssl/install) Package/libwolfsslcpu-crypto/install=$(Package/libwolfssl/install)
define Package/libwolfssl-benchmark/install define Package/libwolfssl-benchmark/install
$(INSTALL_DIR) $(1)/usr/bin $(INSTALL_DIR) $(1)/usr/bin
@ -202,5 +202,5 @@ define Package/libwolfssl-benchmark/install
endef endef
$(eval $(call BuildPackage,libwolfssl)) $(eval $(call BuildPackage,libwolfssl))
$(eval $(call BuildPackage,libwolfssl-cpu-crypto)) $(eval $(call BuildPackage,libwolfsslcpu-crypto))
$(eval $(call BuildPackage,libwolfssl-benchmark)) $(eval $(call BuildPackage,libwolfssl-benchmark))

View File

@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
exec >&2 exec >&2
printf "[libwolfssl-cpu-crypto] Checking for Arm v8-A Cryptographic Extension support: " printf "[libwolfsslcpu-crypto] Checking for Arm v8-A Cryptographic Extension support: "
if [ -n "${IPKG_INSTROOT}" ]; then if [ -n "${IPKG_INSTROOT}" ]; then
printf "...[offline]... " printf "...[offline]... "
eval "$(grep '^DISTRIB_TARGET=' "${IPKG_INSTROOT}/etc/openwrt_release")" eval "$(grep '^DISTRIB_TARGET=' "${IPKG_INSTROOT}/etc/openwrt_release")"
@ -8,14 +8,14 @@ if [ -n "${IPKG_INSTROOT}" ]; then
echo "${DISTRIB_TARGET}" | grep '@@WOLFSSL_NOASM_REGEX@@' > /dev/null && { echo "${DISTRIB_TARGET}" | grep '@@WOLFSSL_NOASM_REGEX@@' > /dev/null && {
echo "not supported" echo "not supported"
echo "Error: Target ${DISTRIB_TARGET} does not support Arm Cryptographic Extension." echo "Error: Target ${DISTRIB_TARGET} does not support Arm Cryptographic Extension."
echo "Install the regular libwolfssl package instead of libwolfssl-cpu-crypto." echo "Install the regular libwolfssl package instead of libwolfsslcpu-crypto."
exit 1 exit 1
} }
else else
grep -q '^Features.*\baes\b' /proc/cpuinfo || { grep -q '^Features.*\baes\b' /proc/cpuinfo || {
echo "not supported" echo "not supported"
echo "Error: Arm v8-A Cryptographic Extension not supported." echo "Error: Arm v8-A Cryptographic Extension not supported."
echo "Install the regular libwolfssl package instead of libwolfssl-cpu-crypto." echo "Install the regular libwolfssl package instead of libwolfsslcpu-crypto."
echo "Contents of /proc/cpuinfo:" echo "Contents of /proc/cpuinfo:"
cat /proc/cpuinfo cat /proc/cpuinfo
exit 1 exit 1