[PATCH] libressl: new package

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH] libressl: new package

Adam Duskett
    Libressl is a fork of openssl from OpenSSL in 2014.  It's 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.

    The main source is libressl-portable, which "Includes the build scaffold
    and compatibility layer that builds portable LibreSSL from the OpenBSD
    source code."

    Before the build process can begin, autogen.sh must be ran manually,
    as it pulls from the upstream OpenBSD source which adds several
    directories to the source, along with several other steps necessary
    before building can begin. Setting LIBRESSL_AUTORECONF = YES fails
    with several "No such file or directory" errors as well.

    This package has been tested with the following architectures and c libraries:
    - armv4
    - aarch64
    - ppc
    - ppc64
    - ppc64le
    - x86_64
    - uClibc-ng
    - glibc 2.24
    - musl

Signed-off-by: Adam Duskett <[hidden email]>
---
 package/Config.in              |  1 +
 package/libressl/Config.in     | 20 ++++++++++++++++++++
 package/libressl/libressl.hash |  2 ++
 package/libressl/libressl.mk   | 31 +++++++++++++++++++++++++++++++
 4 files changed, 54 insertions(+)
 create mode 100644 package/libressl/Config.in
 create mode 100644 package/libressl/libressl.hash
 create mode 100644 package/libressl/libressl.mk

diff --git a/package/Config.in b/package/Config.in
index 529bd96..1674444 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -963,6 +963,7 @@ menu "Crypto"
  source "package/libmcrypt/Config.in"
  source "package/libmhash/Config.in"
  source "package/libnss/Config.in"
+ source "package/libressl/Config.in"
  source "package/libscrypt/Config.in"
  source "package/libsecret/Config.in"
  source "package/libsha1/Config.in"
diff --git a/package/libressl/Config.in b/package/libressl/Config.in
new file mode 100644
index 0000000..035176a
--- /dev/null
+++ b/package/libressl/Config.in
@@ -0,0 +1,20 @@
+config BR2_PACKAGE_LIBRESSL
+ bool "libressl"
+ help
+  LibreSSL is a version of the TLS/crypto stack forked from
+  OpenSSL in 2014, with goals of modernizing the codebase,
+  improving security, and applying best practice development
+  processes.
+
+  http://www.libressl.org/
+
+if BR2_PACKAGE_LIBRESSL
+
+config BR2_PACKAGE_LIBRESSL_BIN
+ bool "openssl binary"
+ help
+  Install the openssl binary and the associated helper scripts
+  to the target file system. This is a command line tool for
+  doing various cryptographic stuff.
+
+endif
diff --git a/package/libressl/libressl.hash b/package/libressl/libressl.hash
new file mode 100644
index 0000000..9c478de
--- /dev/null
+++ b/package/libressl/libressl.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256 ce07195b659e75f4e1db43552860070061f156a98bb37b672b101ba6e3ddf30c libressl-v2.5.4.tar.gz
diff --git a/package/libressl/libressl.mk b/package/libressl/libressl.mk
new file mode 100644
index 0000000..940ca22
--- /dev/null
+++ b/package/libressl/libressl.mk
@@ -0,0 +1,31 @@
+################################################################################
+#
+# libressl
+#
+################################################################################
+
+LIBRESSL_VERSION = v2.5.4
+LIBRESSL_SITE = https://github.com/libressl-portable/portable.git
+LIBRESSL_SITE_METHOD = git
+LIBRESSL_LICENSE = ISC, BSD-3-Clause, OpenSSL or SSLeay
+LIBRESSL_LICENSE_FILES = COPYING
+LIBRESSL_INSTALL_STAGING = YES
+
+# autogen.sh needs to be ran manually as it pulls from the upstream
+# OpenBSD source which adds several directories to the source.
+# Setting LIBRESSL_AUTORECONF = YES fails with several
+# "No such file or directory" errors.
+define LIBRESSL_RUN_AUTOGEN
+ cd $(@D) && PATH=$(BR_PATH) ./autogen.sh
+endef
+LIBRESSL_POST_PATCH_HOOKS += LIBRESSL_RUN_AUTOGEN
+
+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))
--
2.9.4

_______________________________________________
buildroot mailing list
[hidden email]
http://lists.busybox.net/mailman/listinfo/buildroot
Reply | Threaded
Open this post in threaded view
|

[PATCH] libssl: new virtual package.

Adam Duskett
    libressl is API compatible with OpenSSL 1.0.1 and is almost API compatible
    with OpenSSL 1.0.2.  As such, a new virtual package is needed to handle
    having both libressl and openssl.

Signed-off-by: Adam Duskett <[hidden email]>
---
 package/Config.in        | 1 +
 package/libssl/Config.in | 6 ++++++
 package/libssl/libssl.mk | 7 +++++++
 3 files changed, 14 insertions(+)
 create mode 100644 package/libssl/Config.in
 create mode 100644 package/libssl/libssl.mk

diff --git a/package/Config.in b/package/Config.in
index 1674444..a7af71e 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -967,6 +967,7 @@ menu "Crypto"
  source "package/libscrypt/Config.in"
  source "package/libsecret/Config.in"
  source "package/libsha1/Config.in"
+ source "package/libssl/Config.in"
  source "package/libsodium/Config.in"
  source "package/libssh/Config.in"
  source "package/libssh2/Config.in"
diff --git a/package/libssl/Config.in b/package/libssl/Config.in
new file mode 100644
index 0000000..71347de
--- /dev/null
+++ b/package/libssl/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_HAS_LIBSSL
+ bool
+
+config BR2_PACKAGE_PROVIDES_LIBSSL
+ string
+ depends on BR2_PACKAGE_HAS_LIBSSL
diff --git a/package/libssl/libssl.mk b/package/libssl/libssl.mk
new file mode 100644
index 0000000..6e89bcc
--- /dev/null
+++ b/package/libssl/libssl.mk
@@ -0,0 +1,7 @@
+################################################################################
+#
+# libssl
+#
+################################################################################
+
+$(eval $(virtual-package))
--
2.9.4

_______________________________________________
buildroot mailing list
[hidden email]
http://lists.busybox.net/mailman/listinfo/buildroot
Reply | Threaded
Open this post in threaded view
|

[PATCH] libressl: add libssl virtual package support.

Adam Duskett
In reply to this post by Adam Duskett
libressl can provide libssl.

Signed-off-by: Adam Duskett <[hidden email]>
---
 package/libressl/Config.in   | 4 ++++
 package/libressl/libressl.mk | 1 +
 2 files changed, 5 insertions(+)

diff --git a/package/libressl/Config.in b/package/libressl/Config.in
index 035176a..2cc87d0 100644
--- a/package/libressl/Config.in
+++ b/package/libressl/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBRESSL
  bool "libressl"
+ select BR2_PACKAGE_HAS_LIBSSL
  help
   LibreSSL is a version of the TLS/crypto stack forked from
   OpenSSL in 2014, with goals of modernizing the codebase,
@@ -10,6 +11,9 @@ config BR2_PACKAGE_LIBRESSL
 
 if BR2_PACKAGE_LIBRESSL
 
+config BR2_PACKAGE_PROVIDES_LIBSSL
+ default "libressl"
+
 config BR2_PACKAGE_LIBRESSL_BIN
  bool "openssl binary"
  help
diff --git a/package/libressl/libressl.mk b/package/libressl/libressl.mk
index 940ca22..e057662 100644
--- a/package/libressl/libressl.mk
+++ b/package/libressl/libressl.mk
@@ -10,6 +10,7 @@ LIBRESSL_SITE_METHOD = git
 LIBRESSL_LICENSE = ISC, BSD-3-Clause, OpenSSL or SSLeay
 LIBRESSL_LICENSE_FILES = COPYING
 LIBRESSL_INSTALL_STAGING = YES
+LIBRESSL_PROVIDES = libssl
 
 # autogen.sh needs to be ran manually as it pulls from the upstream
 # OpenBSD source which adds several directories to the source.
--
2.9.4

_______________________________________________
buildroot mailing list
[hidden email]
http://lists.busybox.net/mailman/listinfo/buildroot
Reply | Threaded
Open this post in threaded view
|

[PATCH] openssl: add libssl virtual package support.

Adam Duskett
In reply to this post by Adam Duskett
openssl can provide libssl.

Signed-off-by: Adam Duskett <[hidden email]>
---
 package/openssl/Config.in  | 3 +++
 package/openssl/openssl.mk | 1 +
 2 files changed, 4 insertions(+)

diff --git a/package/openssl/Config.in b/package/openssl/Config.in
index e08b648..4871f43 100644
--- a/package/openssl/Config.in
+++ b/package/openssl/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_OPENSSL
  bool "openssl"
  select BR2_PACKAGE_ZLIB
+ select BR2_PACKAGE_HAS_LIBSSL
  help
   A collaborative effort to develop a robust, commercial-grade, fully
   featured, and Open Source toolkit implementing the Secure Sockets
@@ -13,6 +14,9 @@ config BR2_PACKAGE_OPENSSL
 
 if BR2_PACKAGE_OPENSSL
 
+config BR2_PACKAGE_PROVIDES_LIBSSL
+ default "openssl"
+
 config BR2_PACKAGE_OPENSSL_BIN
  bool "openssl binary"
  help
diff --git a/package/openssl/openssl.mk b/package/openssl/openssl.mk
index 5f56b44..c028290 100644
--- a/package/openssl/openssl.mk
+++ b/package/openssl/openssl.mk
@@ -10,6 +10,7 @@ OPENSSL_LICENSE = OpenSSL or SSLeay
 OPENSSL_LICENSE_FILES = LICENSE
 OPENSSL_INSTALL_STAGING = YES
 OPENSSL_DEPENDENCIES = zlib
+OPENSSL_PROVIDES = libssl
 HOST_OPENSSL_DEPENDENCIES = host-zlib
 OPENSSL_TARGET_ARCH = generic32
 OPENSSL_CFLAGS = $(TARGET_CFLAGS)
--
2.9.4

_______________________________________________
buildroot mailing list
[hidden email]
http://lists.busybox.net/mailman/listinfo/buildroot
Reply | Threaded
Open this post in threaded view
|

[PATCH] DEVELOPERS: Add Adam Duskett for libressl

Adam Duskett
In reply to this post by Adam Duskett
Signed-off-by: Adam Duskett <[hidden email]>
---
 DEVELOPERS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/DEVELOPERS b/DEVELOPERS
index 9a11f8b..6fc5079 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -33,6 +33,7 @@ N: Adam Duskett <[hidden email]>
 F: package/audit/
 F: package/checkpolicy/
 F: package/gstreamer1/gst1-vaapi/
+F: package/libressl/
 F: package/libselinux/
 F: package/libsemanage/
 F: package/libsepol/
--
2.9.4

_______________________________________________
buildroot mailing list
[hidden email]
http://lists.busybox.net/mailman/listinfo/buildroot