diff mbox series

[v3,1/2] package/libest: auto-select safeclib to avoid use of bundled copy of library

Message ID 20220724144318.653289-1-aleksandr.o.makarov@gmail.com
State Accepted
Headers show
Series [v3,1/2] package/libest: auto-select safeclib to avoid use of bundled copy of library | expand

Commit Message

Aleksandr Makarov July 24, 2022, 2:43 p.m. UTC
Support for libsafec can not be completely disabled - currently,
--disable-safec does not exactly allow for compiling libest on
systems without libsafec, but instead just uses bundled copy of
library from safe_c_stub/

To avoid that, do automatically select the full-featured safeclib
package and always use --with-system-libsafec

Signed-off-by: Aleksandr Makarov <aleksandr.o.makarov@gmail.com>
---
 package/libest/Config.in |  1 +
 package/libest/libest.mk | 14 +++++---------
 2 files changed, 6 insertions(+), 9 deletions(-)

Comments

Yann E. MORIN July 24, 2022, 3:11 p.m. UTC | #1
Aleksandr, All,

On 2022-07-24 17:43 +0300, Aleksandr Makarov spake thusly:
> Support for libsafec can not be completely disabled - currently,
> --disable-safec does not exactly allow for compiling libest on
> systems without libsafec, but instead just uses bundled copy of
> library from safe_c_stub/
> 
> To avoid that, do automatically select the full-featured safeclib
> package and always use --with-system-libsafec
> 
> Signed-off-by: Aleksandr Makarov <aleksandr.o.makarov@gmail.com>

Thanks for the fast respin. Series of two patches applied to master,
thanks.

Regards,
Yann E. MORIN.

> ---
>  package/libest/Config.in |  1 +
>  package/libest/libest.mk | 14 +++++---------
>  2 files changed, 6 insertions(+), 9 deletions(-)
> 
> diff --git a/package/libest/Config.in b/package/libest/Config.in
> index 6abe9d2848..bd5f40afae 100644
> --- a/package/libest/Config.in
> +++ b/package/libest/Config.in
> @@ -7,6 +7,7 @@ config BR2_PACKAGE_LIBEST
>  	select BR2_PACKAGE_LIBEXECINFO if !BR2_TOOLCHAIN_USES_GLIBC
>  	select BR2_PACKAGE_OPENSSL
>  	select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
> +	select BR2_PACKAGE_SAFECLIB
>  	help
>  	  libest is a C implementation of RFC 7030 (Enrollment over
>  	  Secure Transport).
> diff --git a/package/libest/libest.mk b/package/libest/libest.mk
> index d9f3cf87bc..0dd3e7d0e4 100644
> --- a/package/libest/libest.mk
> +++ b/package/libest/libest.mk
> @@ -12,14 +12,17 @@ LIBEST_LICENSE = BSD-3-Clause, MIT, W3C
>  LIBEST_LICENSE_FILES = LICENSE
>  LIBEST_INSTALL_STAGING = YES
>  LIBEST_AUTORECONF = YES
> -LIBEST_DEPENDENCIES = openssl host-pkgconf
> +LIBEST_DEPENDENCIES = openssl host-pkgconf safeclib
>  # libcoap support is explicitly disabled because it breaks the build
> +# libsafec support is explicitly enabled because we want to avoid
> +# possible hidden use of bundled copy of library.
>  LIBEST_CONF_OPTS = \
>  	--with-ssl-dir=$(STAGING_DIR)/usr \
>  	$(if $(BR2_TOOLCHAIN_HAS_THREADS),--enable-pthreads,--disable-pthreads) \
>  	$(if $(BR2_PACKAGE_LIBEST_BRSKI),--enable-brski,--disable-brski) \
>  	--disable-examples \
> -	--without-libcoap-dir
> +	--without-libcoap-dir \
> +	--with-system-libsafec
>  
>  ifeq ($(BR2_PACKAGE_LIBEXECINFO),y)
>  LIBEST_DEPENDENCIES += libexecinfo
> @@ -55,13 +58,6 @@ else
>  LIBEST_CONF_OPTS += --without-uriparser-dir
>  endif
>  
> -ifeq ($(BR2_PACKAGE_SAFECLIB),y)
> -LIBEST_CONF_OPTS += --with-system-libsafec
> -LIBEST_DEPENDENCIES += safeclib
> -else
> -LIBEST_CONF_OPTS += --without-system-libsafec
> -endif
> -
>  define LIBEST_INSTALL_PC
>  	$(INSTALL) -c -m 0644 $(LIBEST_PKGDIR)/libest.pc \
>  		$(STAGING_DIR)/usr/lib/pkgconfig/libest.pc
> -- 
> 2.36.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
Peter Korsgaard Aug. 17, 2022, 5:48 a.m. UTC | #2
>>>>> "Aleksandr" == Aleksandr Makarov <aleksandr.o.makarov@gmail.com> writes:

 > Support for libsafec can not be completely disabled - currently,
 > --disable-safec does not exactly allow for compiling libest on
 > systems without libsafec, but instead just uses bundled copy of
 > library from safe_c_stub/

 > To avoid that, do automatically select the full-featured safeclib
 > package and always use --with-system-libsafec

 > Signed-off-by: Aleksandr Makarov <aleksandr.o.makarov@gmail.com>

Committed to 2022.05.x and 2022.02.x, thanks.
diff mbox series

Patch

diff --git a/package/libest/Config.in b/package/libest/Config.in
index 6abe9d2848..bd5f40afae 100644
--- a/package/libest/Config.in
+++ b/package/libest/Config.in
@@ -7,6 +7,7 @@  config BR2_PACKAGE_LIBEST
 	select BR2_PACKAGE_LIBEXECINFO if !BR2_TOOLCHAIN_USES_GLIBC
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
+	select BR2_PACKAGE_SAFECLIB
 	help
 	  libest is a C implementation of RFC 7030 (Enrollment over
 	  Secure Transport).
diff --git a/package/libest/libest.mk b/package/libest/libest.mk
index d9f3cf87bc..0dd3e7d0e4 100644
--- a/package/libest/libest.mk
+++ b/package/libest/libest.mk
@@ -12,14 +12,17 @@  LIBEST_LICENSE = BSD-3-Clause, MIT, W3C
 LIBEST_LICENSE_FILES = LICENSE
 LIBEST_INSTALL_STAGING = YES
 LIBEST_AUTORECONF = YES
-LIBEST_DEPENDENCIES = openssl host-pkgconf
+LIBEST_DEPENDENCIES = openssl host-pkgconf safeclib
 # libcoap support is explicitly disabled because it breaks the build
+# libsafec support is explicitly enabled because we want to avoid
+# possible hidden use of bundled copy of library.
 LIBEST_CONF_OPTS = \
 	--with-ssl-dir=$(STAGING_DIR)/usr \
 	$(if $(BR2_TOOLCHAIN_HAS_THREADS),--enable-pthreads,--disable-pthreads) \
 	$(if $(BR2_PACKAGE_LIBEST_BRSKI),--enable-brski,--disable-brski) \
 	--disable-examples \
-	--without-libcoap-dir
+	--without-libcoap-dir \
+	--with-system-libsafec
 
 ifeq ($(BR2_PACKAGE_LIBEXECINFO),y)
 LIBEST_DEPENDENCIES += libexecinfo
@@ -55,13 +58,6 @@  else
 LIBEST_CONF_OPTS += --without-uriparser-dir
 endif
 
-ifeq ($(BR2_PACKAGE_SAFECLIB),y)
-LIBEST_CONF_OPTS += --with-system-libsafec
-LIBEST_DEPENDENCIES += safeclib
-else
-LIBEST_CONF_OPTS += --without-system-libsafec
-endif
-
 define LIBEST_INSTALL_PC
 	$(INSTALL) -c -m 0644 $(LIBEST_PKGDIR)/libest.pc \
 		$(STAGING_DIR)/usr/lib/pkgconfig/libest.pc