Skip to contentSkip to conversation

Add openssl 1.1

PATCH In review Alexander Kanavin 4 participants 12 messages Aug 8, 2017 – Aug 9, 2017

lore
Share & tools
lore
#0 lore raw

cover Add openssl 1.1

This patch series introduces the recipe for openssl 1.1 (openssl 1.0 is preserved but renamed to openssl10), and does a few necessary adjustmenets and updates to other recipes.

Openssl 1.1 is an opt-out; it has the same recipe name as openssl 1.0 had, and so all dependencies are compiled with it by default. If there's an API issue, please fix it, or adjust the recipe to depend on 'openssl10' (which is a lesser solution, and subject to openssl 1.0 eventually being removed from oe-core).

This iteration of the patchset fixes an issue with installing certificates when building images; specifically a special version of c_rehash utility needs to be used on build host.

The following changes since commit 621ca8b66c8f927713d98bc4d3cccc7a0f151e4b:

ca-certificates: update to 20170717 (2017-08-08 18:24:06 +0300)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib akanavin/openssl-1.1
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=akanavin/openssl-1.1

Alexander Kanavin (4):
openssl: add a 1.1 version
openssh: depend on openssl 1.0
cryptodev-tests: depend on openssl 1.0
gstreamer-plugins-bad: replace openssl dependency with nettle for hls
plugin

 meta/conf/distro/include/no-static-libs.inc        |   3 +
 meta/recipes-connectivity/openssh/openssh_7.5p1.bb |   3 +-
 ...ve-test-that-requires-running-as-non-root.patch |  49 +++++
 ...1-Take-linking-flags-from-LDFLAGS-env-var.patch |  43 ++++
 .../recipes-connectivity/openssl/openssl/run-ptest |   4 +-
 .../openssl/{openssl.inc => openssl10.inc}         |  14 +-
 ...build-with-clang-using-external-assembler.patch |   0
 .../{openssl => openssl10}/Makefiles-ptest.patch   |   0
 .../Use-SHA256-not-MD5-as-default-digest.patch     |   0
 .../configure-musl-target.patch                    |   0
 .../{openssl => openssl10}/configure-targets.patch |   0
 .../debian/c_rehash-compat.patch                   |   0
 .../openssl/{openssl => openssl10}/debian/ca.patch |   0
 .../debian/debian-targets.patch                    |   0
 .../{openssl => openssl10}/debian/man-dir.patch    |   0
 .../debian/man-section.patch                       |   0
 .../{openssl => openssl10}/debian/no-rpath.patch   |   0
 .../debian/no-symbolic.patch                       |   0
 .../{openssl => openssl10}/debian/pic.patch        |   0
 .../debian/version-script.patch                    |   0
 .../debian1.0.2/block_digicert_malaysia.patch      |   0
 .../debian1.0.2/block_diginotar.patch              |   0
 .../debian1.0.2/soname.patch                       |   0
 .../debian1.0.2/version-script.patch               |   0
 .../engines-install-in-libdir-ssl.patch            |   0
 .../openssl/{openssl => openssl10}/find.pl         |   0
 .../{openssl => openssl10}/oe-ldflags.patch        |   0
 .../openssl-1.0.2a-x32-asm.patch                   |   0
 .../openssl/openssl10/openssl-c_rehash.sh          | 222 +++++++++++++++++++++
 .../openssl-fix-des.pod-error.patch                |   0
 .../openssl-util-perlpath.pl-cwd.patch             |   0
 .../openssl_fix_for_x32.patch                      |   0
 .../openssl/{openssl => openssl10}/parallel.patch  |   0
 .../{openssl => openssl10}/ptest-deps.patch        |   0
 .../ptest_makefile_deps.patch                      |   0
 .../openssl/openssl10/run-ptest                    |   2 +
 .../{openssl => openssl10}/shared-libs.patch       |   0
 .../{openssl_1.0.2l.bb => openssl10_1.0.2l.bb}     |   4 +-
 .../recipes-connectivity/openssl/openssl_1.1.0f.bb | 155 ++++++++++++++
 .../cryptodev/cryptodev-tests_1.9.bb               |   2 +-
 .../gstreamer/gstreamer1.0-plugins-bad.inc         |   4 +-
 41 files changed, 495 insertions(+), 10 deletions(-)
 create mode 100644 meta/recipes-connectivity/openssl/openssl/0001-Remove-test-that-requires-running-as-non-root.patch
 create mode 100644 meta/recipes-connectivity/openssl/openssl/0001-Take-linking-flags-from-LDFLAGS-env-var.patch
 mode change 100755 => 100644 meta/recipes-connectivity/openssl/openssl/run-ptest
 rename meta/recipes-connectivity/openssl/{openssl.inc => openssl10.inc} (95%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/0001-Fix-build-with-clang-using-external-assembler.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/Makefiles-ptest.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/Use-SHA256-not-MD5-as-default-digest.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/configure-musl-target.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/configure-targets.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian/c_rehash-compat.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian/ca.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian/debian-targets.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian/man-dir.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian/man-section.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian/no-rpath.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian/no-symbolic.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian/pic.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian/version-script.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian1.0.2/block_digicert_malaysia.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian1.0.2/block_diginotar.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian1.0.2/soname.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian1.0.2/version-script.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/engines-install-in-libdir-ssl.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/find.pl (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/oe-ldflags.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/openssl-1.0.2a-x32-asm.patch (100%)
 create mode 100644 meta/recipes-connectivity/openssl/openssl10/openssl-c_rehash.sh
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/openssl-fix-des.pod-error.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/openssl-util-perlpath.pl-cwd.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/openssl_fix_for_x32.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/parallel.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/ptest-deps.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/ptest_makefile_deps.patch (100%)
 create mode 100755 meta/recipes-connectivity/openssl/openssl10/run-ptest
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/shared-libs.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl_1.0.2l.bb => openssl10_1.0.2l.bb} (96%)
 create mode 100644 meta/recipes-connectivity/openssl/openssl_1.1.0f.bb
Signature · 1 line
2.13.2
#1 lore raw

PATCH 1/4 openssl: add a 1.1 version

Existing openssl 1.0 recipe is renamed to openssl10; it will continue to be provided for as long as upstream supports it (and there are still several recipes which do not work with openssl 1.1 due to API differences).

A few files (such as openssl binary) are no longer installed by openssl 1.0, because they clash with openssl 1.1.

---
 meta/conf/distro/include/no-static-libs.inc        |   3 +
 ...ve-test-that-requires-running-as-non-root.patch |  49 +++++
 ...1-Take-linking-flags-from-LDFLAGS-env-var.patch |  43 ++++
 .../recipes-connectivity/openssl/openssl/run-ptest |   4 +-
 .../openssl/{openssl.inc => openssl10.inc}         |  14 +-
 ...build-with-clang-using-external-assembler.patch |   0
 .../{openssl => openssl10}/Makefiles-ptest.patch   |   0
 .../Use-SHA256-not-MD5-as-default-digest.patch     |   0
 .../configure-musl-target.patch                    |   0
 .../{openssl => openssl10}/configure-targets.patch |   0
 .../debian/c_rehash-compat.patch                   |   0
 .../openssl/{openssl => openssl10}/debian/ca.patch |   0
 .../debian/debian-targets.patch                    |   0
 .../{openssl => openssl10}/debian/man-dir.patch    |   0
 .../debian/man-section.patch                       |   0
 .../{openssl => openssl10}/debian/no-rpath.patch   |   0
 .../debian/no-symbolic.patch                       |   0
 .../{openssl => openssl10}/debian/pic.patch        |   0
 .../debian/version-script.patch                    |   0
 .../debian1.0.2/block_digicert_malaysia.patch      |   0
 .../debian1.0.2/block_diginotar.patch              |   0
 .../debian1.0.2/soname.patch                       |   0
 .../debian1.0.2/version-script.patch               |   0
 .../engines-install-in-libdir-ssl.patch            |   0
 .../openssl/{openssl => openssl10}/find.pl         |   0
 .../{openssl => openssl10}/oe-ldflags.patch        |   0
 .../openssl-1.0.2a-x32-asm.patch                   |   0
 .../openssl/openssl10/openssl-c_rehash.sh          | 222 +++++++++++++++++++++
 .../openssl-fix-des.pod-error.patch                |   0
 .../openssl-util-perlpath.pl-cwd.patch             |   0
 .../openssl_fix_for_x32.patch                      |   0
 .../openssl/{openssl => openssl10}/parallel.patch  |   0
 .../{openssl => openssl10}/ptest-deps.patch        |   0
 .../ptest_makefile_deps.patch                      |   0
 .../openssl/openssl10/run-ptest                    |   2 +
 .../{openssl => openssl10}/shared-libs.patch       |   0
 .../{openssl_1.0.2l.bb => openssl10_1.0.2l.bb}     |   4 +-
 .../recipes-connectivity/openssl/openssl_1.1.0f.bb | 155 ++++++++++++++
 38 files changed, 491 insertions(+), 5 deletions(-)
 create mode 100644 meta/recipes-connectivity/openssl/openssl/0001-Remove-test-that-requires-running-as-non-root.patch
 create mode 100644 meta/recipes-connectivity/openssl/openssl/0001-Take-linking-flags-from-LDFLAGS-env-var.patch
 mode change 100755 => 100644 meta/recipes-connectivity/openssl/openssl/run-ptest
 rename meta/recipes-connectivity/openssl/{openssl.inc => openssl10.inc} (95%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/0001-Fix-build-with-clang-using-external-assembler.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/Makefiles-ptest.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/Use-SHA256-not-MD5-as-default-digest.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/configure-musl-target.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/configure-targets.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian/c_rehash-compat.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian/ca.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian/debian-targets.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian/man-dir.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian/man-section.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian/no-rpath.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian/no-symbolic.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian/pic.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian/version-script.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian1.0.2/block_digicert_malaysia.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian1.0.2/block_diginotar.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian1.0.2/soname.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/debian1.0.2/version-script.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/engines-install-in-libdir-ssl.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/find.pl (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/oe-ldflags.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/openssl-1.0.2a-x32-asm.patch (100%)
 create mode 100644 meta/recipes-connectivity/openssl/openssl10/openssl-c_rehash.sh
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/openssl-fix-des.pod-error.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/openssl-util-perlpath.pl-cwd.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/openssl_fix_for_x32.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/parallel.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/ptest-deps.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/ptest_makefile_deps.patch (100%)
 create mode 100755 meta/recipes-connectivity/openssl/openssl10/run-ptest
 rename meta/recipes-connectivity/openssl/{openssl => openssl10}/shared-libs.patch (100%)
 rename meta/recipes-connectivity/openssl/{openssl_1.0.2l.bb => openssl10_1.0.2l.bb} (96%)
 create mode 100644 meta/recipes-connectivity/openssl/openssl_1.1.0f.bb
meta/conf/distro/include/no-static-libs.inc +3 -0
index f8d8c09cf0f..7c165c717fc 100644
@@ -25,6 +25,9 @@ DISABLE_STATIC_pn-openjade-native = ""
 DISABLE_STATIC_pn-openssl = ""
 DISABLE_STATIC_pn-openssl-native = ""
 DISABLE_STATIC_pn-nativesdk-openssl = ""
+DISABLE_STATIC_pn-openssl10 = ""
+DISABLE_STATIC_pn-openssl10-native = ""
+DISABLE_STATIC_pn-nativesdk-openssl10 = ""
 # libssp-static-dev included in build-appliance
 DISABLE_STATIC_pn-gcc-runtime = ""
 # libusb1-native is used to build static dfu-util-native
meta/recipes-connectivity/openssl/openssl/0001-Remove-test-that-requires-running-as-non-root.patch new file +49 -0

49 lines not on this page · raw message

meta/recipes-connectivity/openssl/openssl/0001-Take-linking-flags-from-LDFLAGS-env-var.patch new file +43 -0

43 lines not on this page · raw message

meta/recipes-connectivity/openssl/openssl/run-ptest +3 -1
old mode 100755
new mode 100644
index 3b20fce1ee9..65c6cc7b862
@@ -1,2 +1,4 @@
 #!/bin/sh
-make -k runtest
+cd test
+OPENSSL_ENGINES=../engines BLDTOP=.. SRCTOP=.. perl run_tests.pl
+cd ..
meta/recipes-connectivity/openssl/openssl10.inc renamed from meta/recipes-connectivity/openssl/openssl.inc +12 -2
similarity index 95%
rename from meta/recipes-connectivity/openssl/openssl.inc
rename to meta/recipes-connectivity/openssl/openssl10.inc
index ce295e8f37a..30aaeae1d43 100644
@@ -37,8 +37,6 @@ FILES_${PN} =+ " ${libdir}/ssl/*"
 FILES_${PN}-misc = "${libdir}/ssl/misc"
 RDEPENDS_${PN}-misc = "${@bb.utils.filter('PACKAGECONFIG', 'perl', d)}"
 
-PROVIDES += "openssl10"
-
 # Add the openssl.cnf file to the openssl-conf package.  Make the libcrypto
 # package RRECOMMENDS on this package.  This will enable the configuration
 # file to be installed for both the base openssl package and the libcrypto
@@ -252,3 +250,15 @@ do_install_append_class-native() {
 }
 
 BBCLASSEXTEND = "native nativesdk"
+
+PACKAGE_PREPROCESS_FUNCS += "openssl_package_preprocess"
+
+openssl_package_preprocess () {
+        for file in `find ${PKGD} -name *.h -o -name *.pc -o -name *.so`; do
+                rm $file
+        done
+        rm ${PKGD}/usr/bin/openssl
+        rm ${PKGD}/usr/bin/c_rehash
+        rmdir ${PKGD}/usr/bin
+
+}
meta/recipes-connectivity/openssl/openssl10/0001-Fix-build-with-clang-using-external-assembler.patch renamed from meta/recipes-connectivity/openssl/openssl/0001-Fix-build-with-clang-using-external-assembler.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/0001-Fix-build-with-clang-using-external-assembler.patch
rename to meta/recipes-connectivity/openssl/openssl10/0001-Fix-build-with-clang-using-external-assembler.patch
meta/recipes-connectivity/openssl/openssl10/Makefiles-ptest.patch renamed from meta/recipes-connectivity/openssl/openssl/Makefiles-ptest.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/Makefiles-ptest.patch
rename to meta/recipes-connectivity/openssl/openssl10/Makefiles-ptest.patch
meta/recipes-connectivity/openssl/openssl10/Use-SHA256-not-MD5-as-default-digest.patch renamed from meta/recipes-connectivity/openssl/openssl/Use-SHA256-not-MD5-as-default-digest.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/Use-SHA256-not-MD5-as-default-digest.patch
rename to meta/recipes-connectivity/openssl/openssl10/Use-SHA256-not-MD5-as-default-digest.patch
meta/recipes-connectivity/openssl/openssl10/configure-musl-target.patch renamed from meta/recipes-connectivity/openssl/openssl/configure-musl-target.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/configure-musl-target.patch
rename to meta/recipes-connectivity/openssl/openssl10/configure-musl-target.patch
meta/recipes-connectivity/openssl/openssl10/configure-targets.patch renamed from meta/recipes-connectivity/openssl/openssl/configure-targets.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/configure-targets.patch
rename to meta/recipes-connectivity/openssl/openssl10/configure-targets.patch
meta/recipes-connectivity/openssl/openssl10/debian/c_rehash-compat.patch renamed from meta/recipes-connectivity/openssl/openssl/debian/c_rehash-compat.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/debian/c_rehash-compat.patch
rename to meta/recipes-connectivity/openssl/openssl10/debian/c_rehash-compat.patch
meta/recipes-connectivity/openssl/openssl10/debian/ca.patch renamed from meta/recipes-connectivity/openssl/openssl/debian/ca.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/debian/ca.patch
rename to meta/recipes-connectivity/openssl/openssl10/debian/ca.patch
meta/recipes-connectivity/openssl/openssl10/debian/debian-targets.patch renamed from meta/recipes-connectivity/openssl/openssl/debian/debian-targets.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/debian/debian-targets.patch
rename to meta/recipes-connectivity/openssl/openssl10/debian/debian-targets.patch
meta/recipes-connectivity/openssl/openssl10/debian/man-dir.patch renamed from meta/recipes-connectivity/openssl/openssl/debian/man-dir.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/debian/man-dir.patch
rename to meta/recipes-connectivity/openssl/openssl10/debian/man-dir.patch
meta/recipes-connectivity/openssl/openssl10/debian/man-section.patch renamed from meta/recipes-connectivity/openssl/openssl/debian/man-section.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/debian/man-section.patch
rename to meta/recipes-connectivity/openssl/openssl10/debian/man-section.patch
meta/recipes-connectivity/openssl/openssl10/debian/no-rpath.patch renamed from meta/recipes-connectivity/openssl/openssl/debian/no-rpath.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/debian/no-rpath.patch
rename to meta/recipes-connectivity/openssl/openssl10/debian/no-rpath.patch
meta/recipes-connectivity/openssl/openssl10/debian/no-symbolic.patch renamed from meta/recipes-connectivity/openssl/openssl/debian/no-symbolic.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/debian/no-symbolic.patch
rename to meta/recipes-connectivity/openssl/openssl10/debian/no-symbolic.patch
meta/recipes-connectivity/openssl/openssl10/debian/pic.patch renamed from meta/recipes-connectivity/openssl/openssl/debian/pic.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/debian/pic.patch
rename to meta/recipes-connectivity/openssl/openssl10/debian/pic.patch
meta/recipes-connectivity/openssl/openssl10/debian/version-script.patch renamed from meta/recipes-connectivity/openssl/openssl/debian/version-script.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/debian/version-script.patch
rename to meta/recipes-connectivity/openssl/openssl10/debian/version-script.patch
meta/recipes-connectivity/openssl/openssl10/debian1.0.2/block_digicert_malaysia.patch renamed from meta/recipes-connectivity/openssl/openssl/debian1.0.2/block_digicert_malaysia.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/debian1.0.2/block_digicert_malaysia.patch
rename to meta/recipes-connectivity/openssl/openssl10/debian1.0.2/block_digicert_malaysia.patch
meta/recipes-connectivity/openssl/openssl10/debian1.0.2/block_diginotar.patch renamed from meta/recipes-connectivity/openssl/openssl/debian1.0.2/block_diginotar.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/debian1.0.2/block_diginotar.patch
rename to meta/recipes-connectivity/openssl/openssl10/debian1.0.2/block_diginotar.patch
meta/recipes-connectivity/openssl/openssl10/debian1.0.2/soname.patch renamed from meta/recipes-connectivity/openssl/openssl/debian1.0.2/soname.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/debian1.0.2/soname.patch
rename to meta/recipes-connectivity/openssl/openssl10/debian1.0.2/soname.patch
meta/recipes-connectivity/openssl/openssl10/debian1.0.2/version-script.patch renamed from meta/recipes-connectivity/openssl/openssl/debian1.0.2/version-script.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/debian1.0.2/version-script.patch
rename to meta/recipes-connectivity/openssl/openssl10/debian1.0.2/version-script.patch
meta/recipes-connectivity/openssl/openssl10/engines-install-in-libdir-ssl.patch renamed from meta/recipes-connectivity/openssl/openssl/engines-install-in-libdir-ssl.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/engines-install-in-libdir-ssl.patch
rename to meta/recipes-connectivity/openssl/openssl10/engines-install-in-libdir-ssl.patch
meta/recipes-connectivity/openssl/openssl10/find.pl renamed from meta/recipes-connectivity/openssl/openssl/find.pl +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/find.pl
rename to meta/recipes-connectivity/openssl/openssl10/find.pl
meta/recipes-connectivity/openssl/openssl10/oe-ldflags.patch renamed from meta/recipes-connectivity/openssl/openssl/oe-ldflags.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/oe-ldflags.patch
rename to meta/recipes-connectivity/openssl/openssl10/oe-ldflags.patch
meta/recipes-connectivity/openssl/openssl10/openssl-1.0.2a-x32-asm.patch renamed from meta/recipes-connectivity/openssl/openssl/openssl-1.0.2a-x32-asm.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/openssl-1.0.2a-x32-asm.patch
rename to meta/recipes-connectivity/openssl/openssl10/openssl-1.0.2a-x32-asm.patch
meta/recipes-connectivity/openssl/openssl10/openssl-c_rehash.sh new file +222 -0

222 lines not on this page · raw message

meta/recipes-connectivity/openssl/openssl10/openssl-fix-des.pod-error.patch renamed from meta/recipes-connectivity/openssl/openssl/openssl-fix-des.pod-error.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/openssl-fix-des.pod-error.patch
rename to meta/recipes-connectivity/openssl/openssl10/openssl-fix-des.pod-error.patch
meta/recipes-connectivity/openssl/openssl10/openssl-util-perlpath.pl-cwd.patch renamed from meta/recipes-connectivity/openssl/openssl/openssl-util-perlpath.pl-cwd.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/openssl-util-perlpath.pl-cwd.patch
rename to meta/recipes-connectivity/openssl/openssl10/openssl-util-perlpath.pl-cwd.patch
meta/recipes-connectivity/openssl/openssl10/openssl_fix_for_x32.patch renamed from meta/recipes-connectivity/openssl/openssl/openssl_fix_for_x32.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/openssl_fix_for_x32.patch
rename to meta/recipes-connectivity/openssl/openssl10/openssl_fix_for_x32.patch
meta/recipes-connectivity/openssl/openssl10/parallel.patch renamed from meta/recipes-connectivity/openssl/openssl/parallel.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/parallel.patch
rename to meta/recipes-connectivity/openssl/openssl10/parallel.patch
meta/recipes-connectivity/openssl/openssl10/ptest-deps.patch renamed from meta/recipes-connectivity/openssl/openssl/ptest-deps.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/ptest-deps.patch
rename to meta/recipes-connectivity/openssl/openssl10/ptest-deps.patch
meta/recipes-connectivity/openssl/openssl10/ptest_makefile_deps.patch renamed from meta/recipes-connectivity/openssl/openssl/ptest_makefile_deps.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/ptest_makefile_deps.patch
rename to meta/recipes-connectivity/openssl/openssl10/ptest_makefile_deps.patch
meta/recipes-connectivity/openssl/openssl10/run-ptest new file +2 -0
new file mode 100755
index 00000000000..3b20fce1ee9
@@ -0,0 +1,2 @@
+#!/bin/sh
+make -k runtest
meta/recipes-connectivity/openssl/openssl10/shared-libs.patch renamed from meta/recipes-connectivity/openssl/openssl/shared-libs.patch +0 -0
similarity index 100%
rename from meta/recipes-connectivity/openssl/openssl/shared-libs.patch
rename to meta/recipes-connectivity/openssl/openssl10/shared-libs.patch
meta/recipes-connectivity/openssl/openssl10_1.0.2l.bb renamed from meta/recipes-connectivity/openssl/openssl_1.0.2l.bb +2 -2
similarity index 96%
rename from meta/recipes-connectivity/openssl/openssl_1.0.2l.bb
rename to meta/recipes-connectivity/openssl/openssl10_1.0.2l.bb
index a2ef2ac8fb6..cf0459c94b5 100644
@@ -1,4 +1,4 @@
-require openssl.inc
+require openssl10.inc
 
 # For target side versions of openssl enable support for OCF Linux driver
 # if they are available.
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=057d9218c6180e1d9ee407572b2dd225"
 export DIRS = "crypto ssl apps engines"
 export OE_LDFLAGS="${LDFLAGS}"
 
-SRC_URI += "file://find.pl;subdir=${BP}/util/ \
+SRC_URI += "file://find.pl;subdir=openssl-${PV}/util/ \
             file://run-ptest \
             file://openssl-c_rehash.sh \
             file://configure-targets.patch \
meta/recipes-connectivity/openssl/openssl_1.1.0f.bb new file +155 -0

155 lines not on this page · raw message

Signature · 1 line
2.13.2
#2 lore raw

PATCH 2/4 openssh: depend on openssl 1.0

In reply to Alexander Kanavin

The proposed openssl 1.1 patches are here:
https://github.com/openssh/openssh-portable/pull/48

Openssl maintainers are not in a hurry to get 1.1 support in; if it doesn't show up within reasonable time, we can take a patch from Fedora:
http://lists.mindrot.org/pipermail/openssh-unix-dev/2016-November/035454.html

---
 meta/recipes-connectivity/openssh/openssh_7.5p1.bb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
meta/recipes-connectivity/openssh/openssh_7.5p1.bb +2 -1
index 7bd313bb4e8..3b8fd7d1cc5 100644
@@ -8,7 +8,8 @@ SECTION = "console/network"
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENCE;md5=e326045657e842541d3f35aada442507"
 
-DEPENDS = "zlib openssl"
+# openssl 1.1 patches are proposed at https://github.com/openssh/openssh-portable/pull/48
+DEPENDS = "zlib openssl10"
 DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
 
 SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \
Signature · 1 line
2.13.2
#3 lore raw

PATCH 3/4 cryptodev-tests: depend on openssl 1.0

In reply to Alexander Kanavin

Upstream ticket:
https://github.com/cryptodev-linux/cryptodev-linux/issues/22

---
 meta/recipes-kernel/cryptodev/cryptodev-tests_1.9.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-kernel/cryptodev/cryptodev-tests_1.9.bb +1 -1
index 9cb5dcb94f0..9afb3de217e 100644
@@ -2,7 +2,7 @@ require cryptodev.inc
 
 SUMMARY = "A test suite for /dev/crypto device driver"
 
-DEPENDS += "openssl"
+DEPENDS += "openssl10"
 
 SRC_URI += " \
 file://0001-Add-the-compile-and-install-rules-for-cryptodev-test.patch \
Signature · 1 line
2.13.2
#4 lore raw

PATCH 4/4 gstreamer-plugins-bad: replace openssl dependency with nettle for hls plugin

In reply to Alexander Kanavin

It has not been ported to openssl 1.1 (and there's nothing in upstream git), but it's possible to use nettle or gcrypt intead.

---
 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc +1 -3
index e964fef3f20..7427772a45f 100644
@@ -40,9 +40,7 @@ PACKAGECONFIG[flite]           = "--enable-flite,--disable-flite,flite-alsa"
 PACKAGECONFIG[fluidsynth]      = "--enable-fluidsynth,--disable-fluidsynth,fluidsynth"
 PACKAGECONFIG[gles2]           = "--enable-gles2,--disable-gles2,virtual/libgles2"
 PACKAGECONFIG[gtk]             = "--enable-gtk3,--disable-gtk3,gtk+3"
-# ensure OpenSSL is used for HLS AES description instead of nettle
-# (OpenSSL is a shared dependency with dtls)
-PACKAGECONFIG[hls]             = "--enable-hls --with-hls-crypto=openssl,--disable-hls,openssl"
+PACKAGECONFIG[hls]             = "--enable-hls --with-hls-crypto=nettle,--disable-hls,nettle"
 PACKAGECONFIG[kms]             = "--enable-kms,--disable-kms,libdrm"
 PACKAGECONFIG[libmms]          = "--enable-libmms,--disable-libmms,libmms"
 PACKAGECONFIG[libssh2]         = "--enable-libssh2,--disable-libssh2,libssh2"
Signature · 1 line
2.13.2
#5 lore raw

Re: [PATCH 4/4] gstreamer-plugins-bad: replace openssl dependency with nettle for hls plugin

Quoted 13 lines · Alexander Kanavin

It has not been ported to openssl 1.1 (and there's nothing in upstream git), but it's possible to use nettle or gcrypt intead.

---
 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc +0 -0
index e964fef3f20..7427772a45f 100644

meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc PACKAGECONFIG[flite] = "--enable-flite,--disable-flite,flite-alsa" · line 43

Quoted 7 lines
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc +1 -3
@@ -40,9 +40,7 @@ PACKAGECONFIG[flite]           = "--enable-flite,--disable-flite,flite-alsa"
 PACKAGECONFIG[fluidsynth]      = "--enable-fluidsynth,--disable-fluidsynth,fluidsynth"
 PACKAGECONFIG[gles2]           = "--enable-gles2,--disable-gles2,virtual/libgles2"
 PACKAGECONFIG[gtk]             = "--enable-gtk3,--disable-gtk3,gtk+3"
-# ensure OpenSSL is used for HLS AES description instead of nettle
-# (OpenSSL is a shared dependency with dtls)
-PACKAGECONFIG[hls]             = "--enable-hls --with-hls-crypto=openssl,--disable-hls,openssl"
+PACKAGECONFIG[hls]             = "--enable-hls --with-hls-crypto=nettle,--disable-hls,nettle"

Can we somehow make openssl(10) or nettle a choice when compiling?

I ask because I've worked on a few systems where people seem to want one encryption engine for as much of the system as possible (usually openssl). While gstreamer has not been a problem in such systems, I could see it being something that would need to be considered.

Otherwise no concerns with the rest of the patch set.

Quoted 4 lines
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc +0 -0
 PACKAGECONFIG[kms]             = "--enable-kms,--disable-kms,libdrm"
 PACKAGECONFIG[libmms]          = "--enable-libmms,--disable-libmms,libmms"
 PACKAGECONFIG[libssh2]         = "--enable-libssh2,--disable-libssh2,libssh2"
#6 lore raw

Re: [PATCH 4/4] gstreamer-plugins-bad: replace openssl dependency with nettle for hls plugin

Quoted 6 lines · Mark Hatle

Can we somehow make openssl(10) or nettle a choice when compiling?

I ask because I've worked on a few systems where people seem to want one encryption engine for as much of the system as possible (usually openssl). While gstreamer has not been a problem in such systems, I could see it being something that would need to be considered.

This would need to be done across all recipes where such choice is supported, as a 'preferred crypto engine' distro feature. There's been talk of doing this, but I don't remember what was the outcome.

Also, the plugin needs to be ported to 1.1 first, as the choice will otherwise be taken away when 1.0 goes EOL.

Alex

#7 lore raw

Re: [PATCH 4/4] gstreamer-plugins-bad: replace openssl dependency with nettle for hls plugin

Quoted 8 lines · Alexander Kanavin
Quoted 6 lines · Mark Hatle

Can we somehow make openssl(10) or nettle a choice when compiling?

I ask because I've worked on a few systems where people seem to want one encryption engine for as much of the system as possible (usually openssl). While gstreamer has not been a problem in such systems, I could see it being something that would need to be considered.

Quoted 6 lines

This would need to be done across all recipes where such choice is supported, as a 'preferred crypto engine' distro feature. There's been talk of doing this, but I don't remember what was the outcome.

Also, the plugin needs to be ported to 1.1 first, as the choice will otherwise be taken away when 1.0 goes EOL.

For now I'm fine with 1.0 support. So something like:

# ensure OpenSSL is used for HLS AES description instead of nettle
# (OpenSSL is a shared dependency with dtls)
PACKAGECONFIG[hls_openssl10]             = "--enable-hls
--with-hls-crypto=openssl,--disable-hls,openssl10"

PACKAGECONFIG[hls] = "--enable-hls
--with-hls-crypto=nettle,--disable-hls,nettle"

But my concern is changing the choice of encryption engine could break various existing uses. (Like I said, -I- don't have that use, but I expect others do.. perhaps not with gstreamer-plugins-bad though?)

--Mark

Quoted 2 lines

Alex

#8 lore raw

Re: [PATCH 4/4] gstreamer-plugins-bad: replace openssl dependency with nettle for hls plugin

Quoted 23 lines · Mark Hatle
Quoted 8 lines · Alexander Kanavin
Quoted 6 lines · Mark Hatle

Can we somehow make openssl(10) or nettle a choice when compiling?

I ask because I've worked on a few systems where people seem to want one encryption engine for as much of the system as possible (usually openssl). While gstreamer has not been a problem in such systems, I could see it being something that would need to be considered.

Quoted 6 lines

This would need to be done across all recipes where such choice is supported, as a 'preferred crypto engine' distro feature. There's been talk of doing this, but I don't remember what was the outcome.

Also, the plugin needs to be ported to 1.1 first, as the choice will otherwise be taken away when 1.0 goes EOL.

For now I'm fine with 1.0 support. So something like:

# ensure OpenSSL is used for HLS AES description instead of nettle
# (OpenSSL is a shared dependency with dtls)
PACKAGECONFIG[hls_openssl10]             = "--enable-hls
--with-hls-crypto=openssl,--disable-hls,openssl10"
Quoted 6 lines

PACKAGECONFIG[hls] = "--enable-hls
--with-hls-crypto=nettle,--disable-hls,nettle"

But my concern is changing the choice of encryption engine could break various existing uses. (Like I said, -I- don't have that use, but I expect others do.. perhaps not with gstreamer-plugins-bad though?)

I looked at the gstreamer code briefly and the crypto dependency seems fairly trivial (basically just AES decryption) so switching between openssl and nettle doesn't look like it's going to be a big risk (even for users obliged to avoid the LGPLv3 version of nettle in oe-core).

For reference, the problem with openssl 1.1 seems to be that gstreamer embeds an openssl EVP_CIPHER_CTX struct directly within the GstHLSDemuxStream struct, but openssl 1.1 requires that such structs are now allocated and freed dynamically:

https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes
https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/ext/hls/gsthlsdemux.h#n84

Quoted 6 lines

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#9 lore raw

Re: [PATCH 4/4] gstreamer-plugins-bad: replace openssl dependency with nettle for hls plugin

In reply to Mark Hatle
Quoted 9 lines · Mark Hatle

For now I'm fine with 1.0 support. So something like:

# ensure OpenSSL is used for HLS AES description instead of nettle
# (OpenSSL is a shared dependency with dtls)
PACKAGECONFIG[hls_openssl10]             = "--enable-hls
--with-hls-crypto=openssl,--disable-hls,openssl10"

PACKAGECONFIG[hls] = "--enable-hls
--with-hls-crypto=nettle,--disable-hls,nettle"

Sure, I can amend the patch.

Quoted 3 lines

But my concern is changing the choice of encryption engine could break various existing uses. (Like I said, -I- don't have that use, but I expect others do.. perhaps not with gstreamer-plugins-bad though?)

You can say the same thing about almost anything that goes into master. In this case it doesn't matter, as there is a trivial way to revert the choice, but if the change was more involved, I would appreciate more specific evidence that this indeed causes real problems.

Alex

#10 lore raw

Re: [PATCH 4/4] gstreamer-plugins-bad: replace openssl dependency with nettle for hls plugin

In reply to Alexander Kanavin
Quoted 11 lines · Alexander Kanavin
Quoted 8 lines · Mark Hatle

Can we somehow make openssl(10) or nettle a choice when compiling?

I ask because I've worked on a few systems where people seem to want one encryption engine for as much of the system as possible (usually openssl). While gstreamer has not been a problem in such systems, I could see it being
something that would need to be considered.

Quoted 4 lines

This would need to be done across all recipes where such choice is supported, as a 'preferred crypto engine' distro feature. There's been talk of doing this, but I don't remember what was the outcome.

There was a bug for this but I literally closed it earlier today on the grounds that it would mean patching every user of a crypto library to add an abstraction and alternative codepaths. If you don't patch every instance then there is no point in a global option.

We can have packageconfigs, and expose the choice if the upstream does, but I think the only sane option is to leave it to the user to set the options. It's trivial enough to blacklist openssl if you never want to use it.

Ross

#11 lore raw

Re: [PATCH 4/4] gstreamer-plugins-bad: replace openssl dependency with nettle for hls plugin

Quoted 18 lines · Ross

On 8 August 2017 at 18:35, Alexander Kanavin <[email protected] <mailto:[email protected]>> wrote:

On 08/08/2017 06:58 PM, Mark Hatle wrote:

Can we somehow make openssl(10) or nettle a choice when compiling?

I ask because I've worked on a few systems where people seem to want one encryption engine for as much of the system as possible (usually openssl). While gstreamer has not been a problem in such systems, I could see it being something that would need to be considered.

This would need to be done across all recipes where such choice is supported, as a 'preferred crypto engine' distro feature. There's been talk of doing this, but I don't remember what was the outcome.

Quoted 4 lines

There was a bug for this but I literally closed it earlier today on the grounds that it would mean patching every user of a crypto library to add an abstraction and alternative codepaths. If you don't patch every instance then there is no point in a global option.

Getting a bit off-topic here, but...

I do expect that at some point in the future someone will come along and offer a distribution wide setting for preferred (and alternative) encryption and make the associated changes to the various recipes to enforce this.

Many of the systems I am working with are starting to have those types of needs.
A preferred encryption resource that everything that can - should use. Along
with alternatives that are 'acceptable' if the primary isn't available. Otherwise other encryption would be prohibited and should trigger an automatic blacklist or failure.

(In this case, there is a lot of work to be done, and potentially any encryption user/provider [even internal] needs to be audited. This is not an 'over night' process... thus I doubt you'll be seeing it tomorrow from anyone here.)

So don't necessarily dismiss the idea -- but I do think it's outside of the immediate scope for the Yocto Project itself, but I would expect something to eventually be presented by a member of the larger OpenEmbedded community.

--Mark

Quoted 5 lines

We can have packageconfigs, and expose the choice if the upstream does, but I think the only sane option is to leave it to the user to set the options. It's trivial enough to blacklist openssl if you never want to use it.

Ross