From 0c287b4f7a8356e34f683b3112068afa698fe69e Mon Sep 17 00:00:00 2001 From: Stefan Sicleru Date: Wed, 3 Feb 2016 11:33:12 +0100 Subject: openssl: add ptest This is backported from poky/meta repository. Needed only by FSL's openssl version (found in meta-fsl-ppc layer). Original commit: 8132507f0397877c4d528414c6d34ca61674b6dd on meta-fsl-ppc/dizzy-enea. Signed-off-by: Stefan Sicleru Signed-off-by: Adrian Dudau --- .../openssl/openssl/Makefiles-ptest.patch | 75 ++++++++++++++++++++++ .../openssl/openssl/ptest-deps.patch | 30 +++++++++ recipes-connectivity/openssl/openssl/run-ptest | 2 + .../openssl/openssl_1.0.1i.bbappend | 41 ++++++++++++ 4 files changed, 148 insertions(+) create mode 100644 recipes-connectivity/openssl/openssl/Makefiles-ptest.patch create mode 100644 recipes-connectivity/openssl/openssl/ptest-deps.patch create mode 100644 recipes-connectivity/openssl/openssl/run-ptest create mode 100644 recipes-connectivity/openssl/openssl_1.0.1i.bbappend diff --git a/recipes-connectivity/openssl/openssl/Makefiles-ptest.patch b/recipes-connectivity/openssl/openssl/Makefiles-ptest.patch new file mode 100644 index 0000000..1795d5a --- /dev/null +++ b/recipes-connectivity/openssl/openssl/Makefiles-ptest.patch @@ -0,0 +1,75 @@ +Add 'buildtest' and 'runtest' targets to Makefile, to build and run tests +cross-compiled. + +Signed-off-by: Anders Roxell +Signed-off-by: Maxin B. John +Upstream-Status: Pending +--- +diff -uNr a/Makefile b/Makefile +--- a/Makefile.org 2012-05-10 17:06:02.000000000 +0200 ++++ b/Makefile.org 2012-10-27 00:05:55.359424024 +0200 +@@ -411,8 +411,16 @@ + test: tests + + tests: rehash ++ $(MAKE) buildtest ++ $(MAKE) runtest ++ ++buildtest: ++ @(cd test && \ ++ $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf exe apps); ++ ++runtest: + @(cd test && echo "testing..." && \ +- $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf tests ); ++ $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf alltests ); + OPENSSL_CONF=apps/openssl.cnf util/opensslwrap.sh version -a + + report: +diff --git a/test/Makefile b/test/Makefile +index 3912f82..1696767 100644 +--- a/test/Makefile ++++ b/test/Makefile +@@ -128,7 +128,7 @@ tests: exe apps $(TESTS) + apps: + @(cd ..; $(MAKE) DIRS=apps all) + +-alltests: \ ++all-tests= \ + test_des test_idea test_sha test_md4 test_md5 test_hmac \ + test_md2 test_mdc2 test_wp \ + test_rmd test_rc2 test_rc4 test_rc5 test_bf test_cast test_aes \ +@@ -138,6 +138,11 @@ alltests: \ + test_ss test_ca test_engine test_evp test_ssl test_tsa test_ige \ + test_jpake test_cms + ++alltests: ++ @(for i in $(all-tests); do \ ++ ( $(MAKE) $$i && echo "PASS: $$i" ) || echo "FAIL: $$i"; \ ++ done) ++ + test_evp: + ../util/shlib_wrap.sh ./$(EVPTEST) evptests.txt + +@@ -203,7 +208,7 @@ test_x509: + echo test second x509v3 certificate + sh ./tx509 v3-cert2.pem 2>/dev/null + +-test_rsa: $(RSATEST)$(EXE_EXT) ++test_rsa: + @sh ./trsa 2>/dev/null + ../util/shlib_wrap.sh ./$(RSATEST) + +@@ -298,11 +303,11 @@ test_tsa: + sh ./testtsa; \ + fi + +-test_ige: $(IGETEST)$(EXE_EXT) ++test_ige: + @echo "Test IGE mode" + ../util/shlib_wrap.sh ./$(IGETEST) + +-test_jpake: $(JPAKETEST)$(EXE_EXT) ++test_jpake: + @echo "Test JPAKE" + ../util/shlib_wrap.sh ./$(JPAKETEST) diff --git a/recipes-connectivity/openssl/openssl/ptest-deps.patch b/recipes-connectivity/openssl/openssl/ptest-deps.patch new file mode 100644 index 0000000..d207dee --- /dev/null +++ b/recipes-connectivity/openssl/openssl/ptest-deps.patch @@ -0,0 +1,30 @@ +Remove Makefile dependencies for test targets + +These are probably here because the executables aren't always built for +other platforms (e.g. Windows); however we can safely assume they'll +always be there. None of the other test targets have such dependencies +and if we don't remove them, make tries to rebuild the executables and +fails during run-ptest. + +Upstream-Status: Inappropriate [config] + +Signed-off-by: Paul Eggleton + +diff --git a/test/Makefile b/test/Makefile +index e6fcfb4..5ae043b 100644 +--- a/test/Makefile ++++ b/test/Makefile +@@ -322,11 +322,11 @@ test_cms: + @echo "CMS consistency test" + $(PERL) cms-test.pl + +-test_srp: $(SRPTEST)$(EXE_EXT) ++test_srp: + @echo "Test SRP" + ../util/shlib_wrap.sh ./srptest + +-test_heartbeat: $(HEARTBEATTEST)$(EXE_EXT) ++test_heartbeat: + ../util/shlib_wrap.sh ./$(HEARTBEATTEST) + + lint: diff --git a/recipes-connectivity/openssl/openssl/run-ptest b/recipes-connectivity/openssl/openssl/run-ptest new file mode 100644 index 0000000..3b20fce --- /dev/null +++ b/recipes-connectivity/openssl/openssl/run-ptest @@ -0,0 +1,2 @@ +#!/bin/sh +make -k runtest diff --git a/recipes-connectivity/openssl/openssl_1.0.1i.bbappend b/recipes-connectivity/openssl/openssl_1.0.1i.bbappend new file mode 100644 index 0000000..a13f6c3 --- /dev/null +++ b/recipes-connectivity/openssl/openssl_1.0.1i.bbappend @@ -0,0 +1,41 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI += "file://Makefiles-ptest.patch \ + file://ptest-deps.patch \ + file://run-ptest \ + " + +DEPENDS_append_class-target = " openssl-native" + +inherit ptest + +RDEPENDS_${PN}-ptest += "${PN}-misc make perl perl-module-filehandle bc" + +do_compile_prepend_class-target () { + sed -i 's/\((OPENSSL=\)".*"/\1"openssl"/' Makefile +} + +do_compile_ptest () { + oe_runmake buildtest +} + +do_install_ptest () { + cp -r Makefile test ${D}${PTEST_PATH} + cp -r certs ${D}${PTEST_PATH} + mkdir -p ${D}${PTEST_PATH}/apps + ln -sf /usr/lib/ssl/misc/CA.sh ${D}${PTEST_PATH}/apps + ln -sf /usr/lib/ssl/openssl.cnf ${D}${PTEST_PATH}/apps + ln -sf /usr/bin/openssl ${D}${PTEST_PATH}/apps + cp apps/server2.pem ${D}${PTEST_PATH}/apps + mkdir -p ${D}${PTEST_PATH}/util + install util/opensslwrap.sh ${D}${PTEST_PATH}/util + install util/shlib_wrap.sh ${D}${PTEST_PATH}/util +} + +do_install_append_virtclass-native() { + create_wrapper ${D}${bindir}/openssl \ + OPENSSL_CONF=${libdir}/ssl/openssl.cnf \ + SSL_CERT_DIR=${libdir}/ssl/certs \ + SSL_CERT_FILE=${libdir}/ssl/cert.pem \ + OPENSSL_ENGINES=${libdir}/ssl/engines +} -- cgit v1.2.3-54-g00ecf