[Buildroot] [PATCH v2 1/4] libressl: new package

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Sat Jun 24 19:42:02 UTC 2017


Hello,

On Sat, 24 Jun 2017 13:28:57 -0400, Adam Duskett wrote:
> Libressl is a fork of openssl from OpenSSL in 2014.  Its goal is to
> modernize the OpenSSL codebase, improve security, and apply best
> practice development processes.
> 
> Right now, libressl is API compatible with OpenSSL 1.0.1, but does not
> yet include all new APIs from OpenSSL 1.0.2 and later.
> 
> This package has been tested with the following architectures and c
> libraries:

If I apply just this patch, then the libressl package can be enabled at
the same time as the openssl package, with one overwriting the files
installed by the other.

So I think we need to introduce the virtual package first, with openssl
as the only provider, and then add libressl.


> diff --git a/package/libressl/0001-remove-test-z-DESTDIR-from-ltmain.patch b/package/libressl/0001-remove-test-z-DESTDIR-from-ltmain.patch
> new file mode 100644
> index 0000000..901a48c
> --- /dev/null
> +++ b/package/libressl/0001-remove-test-z-DESTDIR-from-ltmain.patch
> @@ -0,0 +1,28 @@
> +From 4317d43d74996ad7ec3270b1e786e91a19312309 Mon Sep 17 00:00:00 2001
> +From: Adam Duskett <Adamduskett at outlook.com>
> +Date: Sat, 24 Jun 2017 13:08:57 -0400
> +Subject: [PATCH] remove test -z "$DESTDIR" from ltmain.sh.
> +
> +Without this patch, buildroot-libtool-v2.4.patch will fail to apply.
> +
> +Signed-off-by: Adam Duskett <Adamduskett at outlook.com>

A bit weird. Why does their ltmain.sh differs from other ltmain.sh
generated by libtool 2.4 ?

> diff --git a/package/libressl/libressl.mk b/package/libressl/libressl.mk
> new file mode 100644
> index 0000000..f315165
> --- /dev/null
> +++ b/package/libressl/libressl.mk
> @@ -0,0 +1,22 @@
> +################################################################################
> +#
> +# libressl
> +#
> +################################################################################
> +
> +LIBRESSL_VERSION = 2.5.4
> +LIBRESSL_SITE = https://ftp.openbsd.org/pub/OpenBSD/LibreSSL
> +LIBRESSL_SOURCE = libressl-$(LIBRESSL_VERSION).tar.gz
> +LIBRESSL_LICENSE = ISC (New additions), OpenSSL or SSLeay (Original OpenSSL code)
> +LIBRESSL_LICENSE_FILES = COPYING
> +LIBRESSL_INSTALL_STAGING = YES
> +
> +ifeq ($(BR2_PACKAGE_LIBRESSL_BIN),)
> +define LIBRESSL_REMOVE_BIN
> +	$(RM) -f $(TARGET_DIR)/usr/bin/openssl
> +endef
> +LIBRESSL_POST_INSTALL_TARGET_HOOKS += LIBRESSL_REMOVE_BIN
> +endif
> +
> +$(eval $(autotools-package))
> +$(eval $(host-autotools-package))

Another question is how do we handle the host package. Right now, all
packages that need openssl on the host depend on host-openssl. So as it
is, this host-libressl package is never used.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com


More information about the buildroot mailing list