mirror of
https://abf.rosa.ru/djam/openssl1.1.git
synced 2025-02-23 08:02:52 +00:00
Update to 1.1.1j, rewrite spec, move to optdir
This commit is contained in:
parent
1b9f823aae
commit
793d810148
3 changed files with 156 additions and 103 deletions
1
.abf.yml
1
.abf.yml
|
@ -1,2 +1,3 @@
|
|||
sources:
|
||||
openssl-1.1.1g.tar.gz: b213a293f2127ec3e323fb3cfc0c9807664fd997
|
||||
openssl-1.1.1j.tar.gz: 04c340b086828eecff9df06dceff196790bb9268
|
||||
|
|
|
@ -2,3 +2,5 @@
|
|||
addFilter("W: manpage-not-compressed.*.html")
|
||||
# for rpm5 platforms
|
||||
addFilter("E: description-line-too-long")
|
||||
addFilter("E: dir-or-file-in-opt")
|
||||
addFilter("E: compressed-symlink-with-wrong-ext")
|
256
openssl1.1.spec
256
openssl1.1.spec
|
@ -1,3 +1,4 @@
|
|||
%define oname openssl
|
||||
%define major 1.1
|
||||
%define engines_name %mklibname openssl-engines %{major}
|
||||
%define libcrypto %mklibname crypto %{major}
|
||||
|
@ -5,6 +6,9 @@
|
|||
|
||||
%define openssl_engines_dir %{_libdir}/engines-%{major}
|
||||
|
||||
%define _optdir /opt
|
||||
|
||||
|
||||
%define _docs %{expand:
|
||||
%doc AUTHORS \
|
||||
%doc CHANGES \
|
||||
|
@ -16,14 +20,15 @@
|
|||
}
|
||||
|
||||
Summary: OpenSSL 1.1 for platforms with OpenSSL 1.0 as the main version of OpenSSL
|
||||
Name: openssl1.1
|
||||
Version: 1.1.1g
|
||||
Name: %{oname}%{major}
|
||||
Version: 1.1.1j
|
||||
Release: 1
|
||||
License: OpenSSL
|
||||
Group: System/Libraries
|
||||
Url: https://www.openssl.org
|
||||
Source0: ftp://ftp.openssl.org/source/openssl-%{version}.tar.gz
|
||||
Source1: %{name}.rpmlintrc
|
||||
URL: https://www.openssl.org
|
||||
Source0: https://ftp.openssl.org/source/%{oname}-%{version}.tar.gz
|
||||
Source1: fixsimlink.sh
|
||||
Source1000: %{name}.rpmlintrc
|
||||
Source4: openssl-thread-test.c
|
||||
Patch1: openssl-alt-e2k-makecontext.patch
|
||||
BuildRequires: bc
|
||||
|
@ -60,54 +65,85 @@ This is OpenSSL 1.1 for platforms with OpenSSL 1.0 as the main version of OpenSS
|
|||
|
||||
%files
|
||||
%_docs
|
||||
%attr(0755,root,root) %{_bindir}/%{name}
|
||||
%{_mandir}/man[157]/%{name}_*
|
||||
%{_mandir}/man1/%{name}.1*
|
||||
%{_defaultdocdir}/openssl/html/man[157]
|
||||
#attr(0755,root,root) %{_bindir}/%{name}
|
||||
#{_mandir}/man[157]/%{name}_*
|
||||
#{_mandir}/man1/%{name}.1*
|
||||
#{_defaultdocdir}/openssl/html/man[157]
|
||||
%{_bindir}/%{name}
|
||||
%{_optdir}/%{name}/bin
|
||||
%{_optdir}/%{name}/lib/*.so.*
|
||||
%{_optdir}/%{name}/lib/engines-%{major}/*
|
||||
%{_optdir}/%{name}/ssl/*
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
%package -n %{engines_name}
|
||||
Summary: Engines for %{name}
|
||||
Group: System/Libraries
|
||||
Provides: %{name}-engines = %{EVRD}
|
||||
%package devel
|
||||
Summary: Development files for openssl1.1
|
||||
|
||||
%description -n %{engines_name}
|
||||
This package provides engines for openssl.
|
||||
%description devel
|
||||
Development files for openssl1.1
|
||||
|
||||
%files -n %{engines_name}
|
||||
%files devel
|
||||
%_docs
|
||||
%attr(0755,root,root) %dir %{openssl_engines_dir}/
|
||||
%attr(0755,root,root) %{openssl_engines_dir}/*.so
|
||||
%{_optdir}/%{name}/include
|
||||
%{_optdir}/%{name}/lib/*.so
|
||||
%{_optdir}/%{name}/lib/pkgconfig/*.pc
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
%package -n %{libcrypto}
|
||||
Summary: Secure Sockets Layer communications libs
|
||||
Group: System/Libraries
|
||||
Requires: %{libssl} = %{EVRD}
|
||||
%package docs
|
||||
Summary: Documentation for openssl1.1
|
||||
|
||||
%description -n %{libcrypto}
|
||||
The libraries files are needed for various cryptographic algorithms
|
||||
and protocols, including DES, RC4, RSA and SSL.
|
||||
%description docs
|
||||
Documentation for openssl1.1
|
||||
|
||||
%files -n %{libcrypto}
|
||||
%_docs
|
||||
%{_libdir}/libcrypto.so.%{major}*
|
||||
%files docs
|
||||
%{_optdir}/%{name}/share/doc/*
|
||||
%{_optdir}/%{name}/share/man/*
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
%package -n %{libssl}
|
||||
Summary: Secure Sockets Layer communications libs
|
||||
Group: System/Libraries
|
||||
#%package -n %{engines_name}
|
||||
#Summary: Engines for %{name}
|
||||
#Group: System/Libraries
|
||||
#Provides: %{name}-engines = %{EVRD}
|
||||
|
||||
%description -n %{libssl}
|
||||
The libraries files are needed for various cryptographic algorithms
|
||||
and protocols, including DES, RC4, RSA and SSL.
|
||||
#description -n %{engines_name}
|
||||
#This package provides engines for openssl.
|
||||
|
||||
%files -n %{libssl}
|
||||
%_docs
|
||||
%{_libdir}/libssl.so.%{major}*
|
||||
#files -n %{engines_name}
|
||||
#_docs
|
||||
#attr(0755,root,root) %dir %{openssl_engines_dir}/
|
||||
#attr(0755,root,root) %{openssl_engines_dir}/*.so
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
#package -n %{libcrypto}
|
||||
#Summary: Secure Sockets Layer communications libs
|
||||
#Group: System/Libraries
|
||||
#Requires: %{libssl} = %{EVRD}
|
||||
|
||||
#description -n %{libcrypto}
|
||||
#The libraries files are needed for various cryptographic algorithms
|
||||
#and protocols, including DES, RC4, RSA and SSL.
|
||||
|
||||
#files -n %{libcrypto}
|
||||
#_docs
|
||||
#{_libdir}/libcrypto.so.%{major}*
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
#package -n %{libssl}
|
||||
#Summary: Secure Sockets Layer communications libs
|
||||
#Group: System/Libraries
|
||||
|
||||
#description -n %{libssl}
|
||||
#The libraries files are needed for various cryptographic algorithms
|
||||
#and protocols, including DES, RC4, RSA and SSL.
|
||||
|
||||
#files -n %{libssl}
|
||||
#_docs
|
||||
#{_libdir}/libssl.so.%{major}*
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
|
@ -116,6 +152,8 @@ and protocols, including DES, RC4, RSA and SSL.
|
|||
|
||||
cp %{SOURCE4} openssl-thread-test.c
|
||||
|
||||
chmod +x %{SOURCE1}
|
||||
|
||||
%build
|
||||
|
||||
# In rosa2016.1: /usr/bin/ld: crypto/bio/bio_cb.o: relocation R_X86_64_PC32 against undefined symbol
|
||||
|
@ -152,9 +190,7 @@ sslarch=linux-generic64
|
|||
# usable on all platforms. The Configure script already knows to use -fPIC and
|
||||
# RPM_OPT_FLAGS, so we can skip specifiying them here.
|
||||
./Configure \
|
||||
--prefix=%{_prefix} \
|
||||
--libdir=%{_libdir} \
|
||||
--openssldir=%{_openssldir} \
|
||||
--prefix=%{_optdir}/%{name} \
|
||||
${sslflags} \
|
||||
enable-camellia \
|
||||
enable-cms \
|
||||
|
@ -172,6 +208,10 @@ sslarch=linux-generic64
|
|||
shared \
|
||||
${sslarch}
|
||||
|
||||
# --libdir=%{_libdir} \
|
||||
# --openssldir=%{_openssldir} \
|
||||
|
||||
|
||||
%make all
|
||||
|
||||
%check
|
||||
|
@ -199,73 +239,83 @@ make test
|
|||
%install
|
||||
|
||||
%makeinstall_std
|
||||
( cd %{buildroot}%{_bindir}
|
||||
mv openssl openssl%{major}
|
||||
)
|
||||
#( cd %{buildroot}%{_bindir}
|
||||
# mv openssl openssl%{major}
|
||||
#)
|
||||
|
||||
# Based on libressl, rename mans xxx.N to openssl1.1_xxx.N
|
||||
for i in $(seq 1 8)
|
||||
do
|
||||
man_dir="%{buildroot}%{_mandir}/man${i}"
|
||||
if [ ! -d "$man_dir" ]; then continue; fi
|
||||
( cd "$man_dir"
|
||||
grep -Irl '/etc/ssl' . | xargs sed -i 's,/etc/ssl,%{_openssldir},g' || :
|
||||
if find . -name '%{name}_*' | grep -q '.' ; then
|
||||
echo 'Rewrite spec because upstream %{name}_* manpages appeared!'
|
||||
exit 1
|
||||
fi
|
||||
# Make all man pages with potentially the same names as in OpenSSL
|
||||
# be avaialble in standard man directories, but prevent conflicts with OpenSSL
|
||||
for openssl_manpage in $(ls -1v | grep -vE '^OPENSSL_|^openssl\.') ; do
|
||||
openssl_LibreSSL_manpage="%{name}_${openssl_manpage}"
|
||||
mv -v "$openssl_manpage" "$openssl_LibreSSL_manpage"
|
||||
done
|
||||
for openssl_manpage in $(ls -1v | grep '^openssl\.') ; do
|
||||
openssl_LibreSSL_manpage="$(echo "$openssl_manpage" | sed -e 's,openssl,%{name},g')"
|
||||
mv -v "$openssl_manpage" "$openssl_LibreSSL_manpage"
|
||||
done
|
||||
#for i in $(seq 1 8)
|
||||
#do
|
||||
# man_dir="%{buildroot}%{_mandir}/man${i}"
|
||||
# if [ ! -d "$man_dir" ]; then continue; fi
|
||||
# ( cd "$man_dir"
|
||||
# grep -Irl '/etc/ssl' . | xargs sed -i 's,/etc/ssl,%{_openssldir},g' || :
|
||||
# if find . -name '%{name}_*' | grep -q '.' ; then
|
||||
# echo 'Rewrite spec because upstream %{name}_* manpages appeared!'
|
||||
# exit 1
|
||||
# fi
|
||||
# # Make all man pages with potentially the same names as in OpenSSL
|
||||
# # be avaialble in standard man directories, but prevent conflicts with OpenSSL
|
||||
# for openssl_manpage in $(ls -1v | grep -vE '^OPENSSL_|^openssl\.') ; do
|
||||
# openssl_LibreSSL_manpage="%{name}_${openssl_manpage}"
|
||||
# mv -v "$openssl_manpage" "$openssl_LibreSSL_manpage"
|
||||
# done
|
||||
# for openssl_manpage in $(ls -1v | grep '^openssl\.') ; do
|
||||
# openssl_LibreSSL_manpage="$(echo "$openssl_manpage" | sed -e 's,openssl,%{name},g')"
|
||||
# mv -v "$openssl_manpage" "$openssl_LibreSSL_manpage"
|
||||
# done
|
||||
|
||||
# relink symlinks
|
||||
error=0
|
||||
for i in *
|
||||
do
|
||||
if [ ! -L "$i" ]; then continue; fi
|
||||
realpath="$(realpath "$i")"
|
||||
if [ ! -e "$realpath"; then
|
||||
if echo "$realpath" | grep -q '/openssl_'
|
||||
then new_dest="$(echo "$realpath" | sed -e 's,/openssl_,/%{name}_,g')"
|
||||
else new_dest="%{name}_$(echo "$realpath" | awk -F '/' '{print $NF}')"
|
||||
fi
|
||||
if [ ! -e "$new_dest" ]; then
|
||||
list_not_e="${list_not_e}\n${new_dest}"
|
||||
error=1
|
||||
fi
|
||||
rm -fv "$i"
|
||||
ln -s "$new_dest" "$i"
|
||||
fi
|
||||
done
|
||||
if [ "$error" != 0 ]; then
|
||||
echo "Not existing destinations: ${list_not_e}"
|
||||
exit 1
|
||||
fi
|
||||
)
|
||||
done
|
||||
# # relink symlinks
|
||||
# error=0
|
||||
# for i in *
|
||||
# do
|
||||
# if [ ! -L "$i" ]; then continue; fi
|
||||
# realpath="$(realpath "$i")"
|
||||
# if [ ! -e "$realpath"; then
|
||||
# if echo "$realpath" | grep -q '/openssl_'
|
||||
# then new_dest="$(echo "$realpath" | sed -e 's,/openssl_,/%{name}_,g')"
|
||||
# else new_dest="%{name}_$(echo "$realpath" | awk -F '/' '{print $NF}')"
|
||||
# fi
|
||||
# if [ ! -e "$new_dest" ]; then
|
||||
# list_not_e="${list_not_e}\n${new_dest}"
|
||||
# error=1
|
||||
# fi
|
||||
# rm -fv "$i"
|
||||
# ln -s "$new_dest" "$i"
|
||||
# fi
|
||||
# done
|
||||
# if [ "$error" != 0 ]; then
|
||||
# echo "Not existing destinations: ${list_not_e}"
|
||||
# exit 1
|
||||
# fi
|
||||
# )
|
||||
#done
|
||||
|
||||
# strip cannot touch these unless 755
|
||||
chmod 755 %{buildroot}%{openssl_engines_dir}/*.so*
|
||||
chmod 755 %{buildroot}%{_libdir}/*.so*
|
||||
chmod 755 %{buildroot}%{_bindir}/*
|
||||
#chmod 755 %{buildroot}%{openssl_engines_dir}/*.so*
|
||||
#chmod 755 %{buildroot}%{_libdir}/*.so*
|
||||
#chmod 755 %{buildroot}%{_bindir}/*
|
||||
|
||||
# Remove devel parts (openssl 1.0 is devel)
|
||||
( cd %{buildroot}
|
||||
rm -fvr \
|
||||
./%{_bindir}/c_rehash \
|
||||
./%{_libdir}/*.so \
|
||||
./%{_libdir}/*.a \
|
||||
./%{_includedir} \
|
||||
./%{_openssldir} \
|
||||
./%{_libdir}/pkgconfig \
|
||||
./%{_mandir}/man3 \
|
||||
./%{_defaultdocdir}/openssl/html/man3
|
||||
)
|
||||
|
||||
#( cd %{buildroot}
|
||||
# rm -fvr \
|
||||
# ./%{_bindir}/c_rehash \
|
||||
# ./%{_libdir}/*.so \
|
||||
# ./%{_libdir}/*.a \
|
||||
# ./%{_includedir} \
|
||||
# ./%{_openssldir} \
|
||||
# ./%{_libdir}/pkgconfig \
|
||||
# ./%{_mandir}/man3 \
|
||||
# ./%{_defaultdocdir}/openssl/html/man3
|
||||
#)
|
||||
install -d %{buildroot}%{_bindir}
|
||||
ln -sf %{_optdir}/%{name}/bin/%{oname} %{buildroot}%{_bindir}/%{name}
|
||||
|
||||
|
||||
# clean .a
|
||||
rm -f %{buildroot}%{_optdir}/%{name}/lib/*.a
|
||||
|
||||
# mans compress
|
||||
find %{buildroot}%{_optdir}/%{name}/share/man -type f -name "*.*" -exec xz -z {} \;
|
||||
find %{buildroot}%{_optdir}/%{name}/share/man -type l -name "*.*" -exec %{SOURCE1} {} \;
|
||||
find %{buildroot}%{_optdir}/%{name}/share/man -type l -name "*.*" -exec mv -f {} {}.xz \;
|
Loading…
Add table
Reference in a new issue