$ git diff --patch-with-stat --summary 1b895edbaf57c5de9527015f3af71f0fd92d1f99..51b8d4d57386385f5792569581ddddf0be096867
.abf.yml | 2 +-
openssl-3.0-additional-clang-targets.patch | 15 +++++----
openssl.spec | 49 ++++++++++++++++++++++--------
3 files changed, 45 insertions(+), 21 deletions(-)
diff --git a/.abf.yml b/.abf.yml
index 3a79bce..0562108 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,2 +1,2 @@
sources:
- openssl-3.0.0-alpha13.tar.gz: 754aab6dc677668255fec676c6340a3a191e8135
+ openssl-3.0.0-alpha17.tar.gz: c026f0451988a4d3799b0ac8cc6aae45d05eddc5
diff --git a/openssl-3.0-additional-clang-targets.patch b/openssl-3.0-additional-clang-targets.patch
index c2bb8d9..2977eec 100644
--- a/openssl-3.0-additional-clang-targets.patch
+++ b/openssl-3.0-additional-clang-targets.patch
@@ -1,9 +1,8 @@
-diff -up openssl-3.0.0-alpha2/Configurations/10-main.conf.omv~ openssl-3.0.0-alpha2/Configurations/10-main.conf
---- openssl-3.0.0-alpha2/Configurations/10-main.conf.omv~ 2020-05-25 19:31:40.546705908 +0200
-+++ openssl-3.0.0-alpha2/Configurations/10-main.conf 2020-05-25 19:35:11.146512063 +0200
-@@ -697,10 +697,20 @@ my %targets = (
- shared_ldflag => sub { $disabled{pinshared} ? () : "-Wl,-znodelete" },
- enable => [ "afalgeng" ],
+--- openssl-3.0.0-alpha16/Configurations/10-main.conf.omv 2021-05-06 12:15:03.000000000 +0000
++++ openssl-3.0.0-alpha16/Configurations/10-main.conf 2021-05-19 12:20:08.852035151 +0000
+@@ -702,10 +702,20 @@
+ ex_libs => add(threads("-latomic")),
+ bn_ops => "BN_LLONG RC4_CHAR",
},
+ "linux-generic32-clang" => {
+ inherit_from => [ "linux-generic32" ],
@@ -11,7 +10,7 @@ diff -up openssl-3.0.0-alpha2/Configurations/10-main.conf.omv~ openssl-3.0.0-alp
+ CXX => "clang++",
+ },
"linux-generic64" => {
- inherit_from => [ "linux-generic32" ],
+ inherit_from => [ "linux-generic" ],
bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
},
+ "linux-generic64-clang" => {
@@ -22,7 +21,7 @@ diff -up openssl-3.0.0-alpha2/Configurations/10-main.conf.omv~ openssl-3.0.0-alp
"linux-ppc" => {
inherit_from => [ "linux-generic32" ],
-@@ -761,11 +771,21 @@ my %targets = (
+@@ -767,11 +777,21 @@ my %targets = (
asm_arch => 'armv4',
perlasm_scheme => "linux32",
},
diff --git a/openssl.spec b/openssl.spec
index 2d7bcef..90e626b 100644
--- a/openssl.spec
+++ b/openssl.spec
@@ -12,7 +12,7 @@
%global optflags %{optflags} -O3
-%define beta alpha13
+%define beta alpha17
%define major 3
%define libssl %mklibname ssl %{major}
%define libcrypto %mklibname crypto %{major}
@@ -36,6 +36,7 @@ BuildRequires: perl(Pod::Man)
BuildRequires: perl(Pod::Html)
BuildRequires: pkgconfig(libsctp)
BuildRequires: pkgconfig(zlib)
+BuildRequires: atomic-devel
%description
The OpenSSL cryptography and TLS library.
@@ -48,6 +49,7 @@ The OpenSSL cryptography and TLS library.
%{_sysconfdir}/pki/tls/ct_log_list.cnf.dist
%{_sysconfdir}/pki/tls/openssl.cnf
%{_sysconfdir}/pki/tls/openssl.cnf.dist
+%{_sysconfdir}/pki/tls/fipsmodule.cnf
%{_bindir}/c_rehash
%{_bindir}/openssl
%dir %{_libdir}/engines-3
@@ -219,8 +221,8 @@ esac
echo %{__cc} |grep -q clang && TARGET="${TARGET}-clang"
%if %{with compat32}
-export CFLAGS="%(echo %{optflags} |sed -e 's,-mx32,,g;s,-m64,,g;s,-flto,,g') -fno-strict-aliasing"
-export LDFLAGS="%(echo %{optflags} |sed -e 's,-mx32,,g;s,-m64,,g;s,-flto,,g') -fno-strict-aliasing"
+export CFLAGS="%(echo %{optflags} |sed -e 's,-mx32,,g;s,-m64,,g;s,-flto,,g') -fno-strict-aliasing -m32 -isystem %{_includedir}"
+export LDFLAGS="%(echo %{optflags} |sed -e 's,-mx32,,g;s,-m64,,g;s,-flto,,g') -fno-strict-aliasing -m32"
mkdir build32
cd build32
@@ -229,7 +231,11 @@ cd build32
--prefix=%{_prefix} \
--libdir=%{_prefix}/lib \
--openssldir=%{_sysconfdir}/pki/tls \
- threads shared zlib-dynamic sctp 386
+ threads shared zlib-dynamic sctp 386 enable-fips enable-ktls no-tests
+cat >>Makefile <<EOF
+providers/fipsmodule.cnf:
+ LD_PRELOAD="./libcrypto.so ./libssl.so" ./apps/openssl fipsinstall -module providers/fips.so >providers/fipsmodule.cnf
+EOF
%make_build
cd ..
@@ -256,13 +262,15 @@ LDFLAGS="%{build_ldflags} -fprofile-instr-generate" \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
--openssldir=%{_sysconfdir}/pki/tls \
- threads shared zlib-dynamic sctp \
+%ifarch %{x86_64} %{aarch64}
+ enable-ec_nistp_64_gcc_128 \
+%endif
%ifarch %{x86_64} %{ix86}
- 386
+ 386 \
%endif
+ threads shared zlib-dynamic sctp enable-fips enable-ktls no-tests
-make depend
-make
+%make_build
#apps/openssl speed
LD_PRELOAD="./libcrypto.so ./libssl.so" apps/openssl speed rsa
@@ -280,15 +288,32 @@ LDFLAGS="%{ldflags} -fprofile-instr-use=$(realpath %{name}.profile)" \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
--openssldir=%{_sysconfdir}/pki/tls \
- threads shared zlib-dynamic sctp \
+%ifarch %{x86_64} %{aarch64}
+ enable-ec_nistp_64_gcc_128 \
+%endif
%ifarch %{x86_64} %{ix86}
- 386
+ 386 \
%endif
+ threads shared zlib-dynamic sctp enable-fips enable-ktls no-tests
+cat >>Makefile <<EOF
+providers/fipsmodule.cnf:
+ ./apps/openssl fipsinstall -module providers/fips.so >providers/fipsmodule.cnf
+EOF
%make_build
%install
%if %{with compat32}
-%make_install -C build32
+%make_install install_sw -C build32
%endif
-%make_install -C build
+%make_install install_sw install_fips install_man_docs -C build
+
+# Replace bogus absolute symlinks pointing to the buildroot
+cd %{buildroot}%{_mandir}
+for i in *; do
+ cd "$i"
+ for j in *; do
+ [ -L "$j" ] && ln -sf "$(basename $(ls -l "$j" |cut -d'>' -f2-))" "$j"
+ done
+ cd ..
+done