blob: 596ae87d86b728612512b26695fe0f67a46f1196 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
#!/bin/bash
set -x
name="openssl"
version="1.1.0j"
tarball="${name}-${version}.tar.gz"
dest="${tarball%%.tar.gz}"
url="https://www.openssl.org/source/${tarball}"
prefix="${TOOLCHAIN}"
function pre()
{
curl -LO "${url}"
tar xf "${tarball}"
}
function get_system_cacert() {
local paths=(
/etc/ssl/cert.pem
/etc/ssl/cacert.pem
/etc/ssl/certs/cacert.pem
/etc/ssl/certs/ca-bundle.crt
)
for bundle in "${paths[@]}"
do
if [[ -f ${bundle} ]]; then
echo "${bundle}"
break
fi
done
}
function build()
{
pre
pushd "${dest}"
export PATH="${prefix}/bin:${PATH}"
export LDFLAGS="-Wl,-rpath=${prefix}/lib"
export KERNEL_BITS=64
target="linux-x86_64"
sed -i -e "s@./demoCA@${TOOLCHAIN}/ssl@" \
apps/openssl.cnf \
apps/CA.pl.in
./Configure \
--prefix="${prefix}" \
--openssldir="ssl" \
--libdir="lib" \
${LDFLAGS} \
${target} \
enable-ec_nistp_64_gcc_128 \
zlib-dynamic \
shared \
no-ssl3-method
make -j${_maxjobs}
make install MANDIR="${prefix}/share/man" MANSUFFIX=ssl
popd
post
}
function post()
{
bundle=$(get_system_cacert)
install -D -m644 "${bundle}" "${prefix}/ssl/cert.pem"
rm -rf "${prefix}/share/doc/openssl/html"
rm -rf "${dest}"
rm -rf "${tarball}"
echo "All done."
}
# Main
build
|