summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/openssl/openssl_1.1.0f.bb
diff options
context:
space:
mode:
authorAlexander Kanavin <alexander.kanavin@linux.intel.com>2017-08-08 18:30:48 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-08-13 09:27:38 +0100
commite326733d69181a03af7a4f837ea78fce348fdf00 (patch)
treef2b049b04bf94693ad017ac68df139b4ed655c65 /meta/recipes-connectivity/openssl/openssl_1.1.0f.bb
parent04891b31e62f37e692647399fa3534d3dd4ab7f9 (diff)
downloadpoky-e326733d69181a03af7a4f837ea78fce348fdf00.tar.gz
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. (From OE-Core rev: da1183f9fa5e06fbe66b5b31eb3313d5d35d11e3) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-connectivity/openssl/openssl_1.1.0f.bb')
-rw-r--r--meta/recipes-connectivity/openssl/openssl_1.1.0f.bb155
1 files changed, 155 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/openssl/openssl_1.1.0f.bb b/meta/recipes-connectivity/openssl/openssl_1.1.0f.bb
new file mode 100644
index 0000000000..8fedab522f
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl_1.1.0f.bb
@@ -0,0 +1,155 @@
1SUMMARY = "Secure Socket Layer"
2DESCRIPTION = "Secure Socket Layer (SSL) binary and related cryptographic tools."
3HOMEPAGE = "http://www.openssl.org/"
4BUGTRACKER = "http://www.openssl.org/news/vulnerabilities.html"
5SECTION = "libs/network"
6
7# "openssl | SSLeay" dual license
8LICENSE = "openssl"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=cae6da10f4ffd9703214776d2aabce32"
10
11BBCLASSEXTEND = "native nativesdk"
12
13SRC_URI[md5sum] = "7b521dea79ab159e8ec879d2333369fa"
14SRC_URI[sha256sum] = "12f746f3f2493b2f39da7ecf63d7ee19c6ac9ec6a4fcd8c229da8a522cb12765"
15
16SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
17 file://run-ptest \
18 file://openssl-c_rehash.sh \
19 file://0001-Take-linking-flags-from-LDFLAGS-env-var.patch \
20 file://0001-Remove-test-that-requires-running-as-non-root.patch \
21 "
22
23S = "${WORKDIR}/openssl-${PV}"
24
25inherit lib_package multilib_header ptest
26
27do_configure () {
28 os=${HOST_OS}
29 case $os in
30 linux-uclibc |\
31 linux-uclibceabi |\
32 linux-gnueabi |\
33 linux-uclibcspe |\
34 linux-gnuspe |\
35 linux-musl*)
36 os=linux
37 ;;
38 *)
39 ;;
40 esac
41 target="$os-${HOST_ARCH}"
42 case $target in
43 linux-arm)
44 target=linux-armv4
45 ;;
46 linux-armeb)
47 target=linux-armv4
48 ;;
49 linux-aarch64*)
50 target=linux-aarch64
51 ;;
52 linux-sh3)
53 target=linux-generic32
54 ;;
55 linux-sh4)
56 target=linux-generic32
57 ;;
58 linux-i486)
59 target=linux-elf
60 ;;
61 linux-i586 | linux-viac3)
62 target=linux-elf
63 ;;
64 linux-i686)
65 target=linux-elf
66 ;;
67 linux-gnux32-x86_64)
68 target=linux-x32
69 ;;
70 linux-gnu64-x86_64)
71 target=linux-x86_64
72 ;;
73 linux-mips)
74 # specifying TARGET_CC_ARCH prevents openssl from (incorrectly) adding target architecture flags
75 target="linux-mips32 ${TARGET_CC_ARCH}"
76 ;;
77 linux-mipsel)
78 target="linux-mips32 ${TARGET_CC_ARCH}"
79 ;;
80 linux-gnun32-mips*)
81 target=linux-mips64
82 ;;
83 linux-*-mips64 | linux-mips64)
84 target=linux64-mips64
85 ;;
86 linux-*-mips64el | linux-mips64el)
87 target=linux64-mips64
88 ;;
89 linux-microblaze*|linux-nios2*)
90 target=linux-generic32
91 ;;
92 linux-powerpc)
93 target=linux-ppc
94 ;;
95 linux-powerpc64)
96 target=linux-ppc64
97 ;;
98 linux-supersparc)
99 target=linux-sparcv9
100 ;;
101 linux-sparc)
102 target=linux-sparcv9
103 ;;
104 darwin-i386)
105 target=darwin-i386-cc
106 ;;
107 esac
108 useprefix=${prefix}
109 if [ "x$useprefix" = "x" ]; then
110 useprefix=/
111 fi
112 perl ./Configure ${EXTRA_OECONF} --prefix=$useprefix --openssldir=${libdir}/ssl-1.1 --libdir=`basename ${libdir}` $target
113}
114
115#| engines/afalg/e_afalg.c: In function 'eventfd':
116#| engines/afalg/e_afalg.c:110:20: error: '__NR_eventfd' undeclared (first use in this function)
117#| return syscall(__NR_eventfd, n);
118#| ^~~~~~~~~~~~
119EXTRA_OECONF_aarch64 += "no-afalgeng"
120
121#| ./libcrypto.so: undefined reference to `getcontext'
122#| ./libcrypto.so: undefined reference to `setcontext'
123#| ./libcrypto.so: undefined reference to `makecontext'
124EXTRA_OECONF_libc-musl += "-DOPENSSL_NO_ASYNC"
125
126do_install () {
127 oe_runmake DESTDIR="${D}" MANDIR="${mandir}" MANSUFFIX=ssl install
128 oe_multilib_header openssl/opensslconf.h
129}
130
131do_install_append_class-native () {
132 # Install a custom version of c_rehash that can handle sysroots properly.
133 # This version is used for example when installing ca-certificates during
134 # image creation.
135 install -Dm 0755 ${WORKDIR}/openssl-c_rehash.sh ${D}${bindir}/c_rehash
136 sed -i -e 's,/etc/openssl,${sysconfdir}/ssl,g' ${D}${bindir}/c_rehash
137}
138
139do_install_ptest() {
140 cp -r * ${D}${PTEST_PATH}
141
142 # Putting .so files in ptest package will mess up the dependencies of the main openssl package
143 # so we rename them to .so.ptest and patch the test accordingly
144 mv ${D}${PTEST_PATH}/libcrypto.so ${D}${PTEST_PATH}/libcrypto.so.ptest
145 mv ${D}${PTEST_PATH}/libssl.so ${D}${PTEST_PATH}/libssl.so.ptest
146 sed -i 's/$target{shared_extension_simple}/".so.ptest"/' ${D}${PTEST_PATH}/test/recipes/90-test_shlibload.t
147}
148
149RDEPENDS_${PN}-ptest += "perl-module-file-spec-functions"
150
151FILES_${PN} =+ " ${libdir}/ssl-1.1/*"
152
153PACKAGES =+ "${PN}-engines"
154FILES_${PN}-engines = "${libdir}/engines-1.1"
155