164 lines
4.8 KiB
RPMSpec
164 lines
4.8 KiB
RPMSpec
|
|
%define soversion 1.1
|
||
|
|
Name: openssl
|
||
|
|
Epoch: 1
|
||
|
|
Version: 1.1.1c
|
||
|
|
Release: 2
|
||
|
|
Summary: Cryptography and SSL/TLS Toolkit
|
||
|
|
License: OpenSSL and SSLeay
|
||
|
|
URL: https://www.openssl.org/
|
||
|
|
Source0: https://www.openssl.org/source/old/1.1.1/%{name}-%{version}.tar.gz
|
||
|
|
Source1: Makefile.certificate
|
||
|
|
Source2: make-dummy-cert
|
||
|
|
Source3: renew-dummy-cert
|
||
|
|
# Support lib64
|
||
|
|
Patch1: openssl-1.1.1-build.patch
|
||
|
|
|
||
|
|
BuildRequires: gcc make lksctp-tools-devel coreutils util-linux
|
||
|
|
|
||
|
|
Requires: coreutils perl ca-certificates crypto-policies
|
||
|
|
Recommends: openssl-pkcs11%{?_isa}
|
||
|
|
Obsoletes: openssl-libs oopenssl-libs%{?_isa} penssl-perl penssl-perl%{?_isa}
|
||
|
|
Provides: openssl-libs = %{epoch}:%{version}-%{release} openssl-perl = %{epoch}:%{version}-%{release}
|
||
|
|
Provides: openssl-libs%{?_isa} = %{epoch}:%{version}-%{release} openssl-perl%{_isa} = %{epoch}:%{version}-%{release}
|
||
|
|
|
||
|
|
%description
|
||
|
|
OpenSSL is a robust, commercial-grade, and full-featured toolkit for the
|
||
|
|
Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols.
|
||
|
|
|
||
|
|
%package devel
|
||
|
|
Summary: Development files for openssl
|
||
|
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||
|
|
Requires: krb5-devel zlib-devel pkgconfig
|
||
|
|
Obsoletes: openssl-static openssl-static%{?_isa}
|
||
|
|
Provides: openssl-static openssl-static%{?_isa}
|
||
|
|
|
||
|
|
%description devel
|
||
|
|
%{summary}.
|
||
|
|
|
||
|
|
%package help
|
||
|
|
Summary: Man pages for openssl
|
||
|
|
BuildArch: noarch
|
||
|
|
|
||
|
|
%description help
|
||
|
|
%{summary}.
|
||
|
|
|
||
|
|
%prep
|
||
|
|
%autosetup -n %{name}-%{version} -p1
|
||
|
|
|
||
|
|
%build
|
||
|
|
|
||
|
|
sslarch=%{_os}-%{_target_cpu}
|
||
|
|
%ifarch x86_64 aarch64
|
||
|
|
sslflags=enable-ec_nistp_64_gcc_128
|
||
|
|
%endif
|
||
|
|
|
||
|
|
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -Wa,--noexecstack -DPURIFY $RPM_LD_FLAGS"
|
||
|
|
./Configure \
|
||
|
|
--prefix=%{_prefix} \
|
||
|
|
--openssldir=%{_sysconfdir}/pki/tls ${sslflags} \
|
||
|
|
zlib enable-camellia enable-seed enable-rfc3779 enable-sctp \
|
||
|
|
enable-cms enable-md2 enable-rc5 enable-ssl3 enable-ssl3-method \
|
||
|
|
enable-weak-ssl-ciphers \
|
||
|
|
no-mdc2 no-ec2m no-sm2 no-sm4 \
|
||
|
|
shared ${sslarch} $RPM_OPT_FLAGS '-DDEVRANDOM="\"/dev/urandom\""'
|
||
|
|
|
||
|
|
%make_build all
|
||
|
|
|
||
|
|
%install
|
||
|
|
|
||
|
|
%make_install
|
||
|
|
|
||
|
|
# rename so name with actual version
|
||
|
|
rename so.%{soversion} so.%{version} $RPM_BUILD_ROOT%{_libdir}/*.so.%{soversion}
|
||
|
|
# create symbolic link
|
||
|
|
for lib in $RPM_BUILD_ROOT%{_libdir}/*.so.%{version} ; do
|
||
|
|
ln -s -f `basename ${lib}` $RPM_BUILD_ROOT%{_libdir}/`basename ${lib} .%{version}`
|
||
|
|
ln -s -f `basename ${lib}` $RPM_BUILD_ROOT%{_libdir}/`basename ${lib} .%{version}`.%{soversion}
|
||
|
|
done
|
||
|
|
|
||
|
|
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pki/tls/certs
|
||
|
|
install -m644 %{SOURCE1} $RPM_BUILD_ROOT%{_pkgdocdir}/Makefile.certificate
|
||
|
|
install -m755 %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/make-dummy-cert
|
||
|
|
install -m755 %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/renew-dummy-cert
|
||
|
|
|
||
|
|
mv $RPM_BUILD_ROOT%{_sysconfdir}/pki/tls/misc/*.pl $RPM_BUILD_ROOT%{_bindir}
|
||
|
|
mv $RPM_BUILD_ROOT%{_sysconfdir}/pki/tls/misc/tsget $RPM_BUILD_ROOT%{_bindir}
|
||
|
|
|
||
|
|
|
||
|
|
mkdir -p -m755 $RPM_BUILD_ROOT%{_sysconfdir}/pki/CA/{certs,crl,newcerts,private}
|
||
|
|
chmod 700 $RPM_BUILD_ROOT%{_sysconfdir}/pki/CA/private
|
||
|
|
|
||
|
|
touch -r %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pki/tls/{openssl.cnf,ct_log_list.cnf}
|
||
|
|
|
||
|
|
|
||
|
|
# rename man pages avoid conflicting with other man pages in system
|
||
|
|
%define manpostfix _openssl
|
||
|
|
pushd $RPM_BUILD_ROOT%{_mandir}
|
||
|
|
ln -s -f config.5 man5/openssl.cnf.5
|
||
|
|
for manpage in man*/* ; do
|
||
|
|
if [ -L ${manpage} ]; then
|
||
|
|
targetfile=`ls -l ${manpage} | awk '{print $NF}'`
|
||
|
|
ln -sf ${targetfile}%{manpostfix} ${manpage}%{manpostfix}
|
||
|
|
rm -f ${manpage}
|
||
|
|
else
|
||
|
|
mv ${manpage} ${manpage}%{manpostfix}
|
||
|
|
fi
|
||
|
|
done
|
||
|
|
popd
|
||
|
|
|
||
|
|
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/pki/tls/*.dist
|
||
|
|
|
||
|
|
%check
|
||
|
|
make test || :
|
||
|
|
|
||
|
|
%post -p /sbin/ldconfig
|
||
|
|
|
||
|
|
%postun -p /sbin/ldconfig
|
||
|
|
|
||
|
|
%files
|
||
|
|
%defattr(-,root,root)
|
||
|
|
%license LICENSE
|
||
|
|
%doc AUTHORS CHANGES FAQ NEWS README
|
||
|
|
%{_pkgdocdir}/Makefile.certificate
|
||
|
|
%dir %{_sysconfdir}/pki/tls
|
||
|
|
%dir %{_sysconfdir}/pki/tls/certs
|
||
|
|
%dir %{_sysconfdir}/pki/tls/misc
|
||
|
|
%dir %{_sysconfdir}/pki/tls/private
|
||
|
|
%config(noreplace) %{_sysconfdir}/pki/tls/openssl.cnf
|
||
|
|
%config(noreplace) %{_sysconfdir}/pki/tls/ct_log_list.cnf
|
||
|
|
%dir %{_sysconfdir}/pki/CA
|
||
|
|
%dir %{_sysconfdir}/pki/CA/private
|
||
|
|
%dir %{_sysconfdir}/pki/CA/certs
|
||
|
|
%dir %{_sysconfdir}/pki/CA/crl
|
||
|
|
%dir %{_sysconfdir}/pki/CA/newcerts
|
||
|
|
%{_bindir}/*
|
||
|
|
%{_libdir}/libcrypto.so.%{version}
|
||
|
|
%{_libdir}/libcrypto.so.%{soversion}
|
||
|
|
%{_libdir}/libssl.so.%{version}
|
||
|
|
%{_libdir}/libssl.so.%{soversion}
|
||
|
|
%{_libdir}/engines-%{soversion}
|
||
|
|
|
||
|
|
%files devel
|
||
|
|
%defattr(-,root,root)
|
||
|
|
%doc doc/dir-locals.example.el doc/openssl-c-indent.el
|
||
|
|
%{_prefix}/include/openssl
|
||
|
|
%{_libdir}/pkgconfig/*.pc
|
||
|
|
%{_libdir}/*.so
|
||
|
|
%{_libdir}/*.a
|
||
|
|
|
||
|
|
%files help
|
||
|
|
%defattr(-,root,root)
|
||
|
|
%{_mandir}/man1/*
|
||
|
|
%{_mandir}/man3/*
|
||
|
|
%{_mandir}/man5/*
|
||
|
|
%{_mandir}/man7/*
|
||
|
|
%{_pkgdocdir}/html/
|
||
|
|
|
||
|
|
|
||
|
|
%changelog
|
||
|
|
* Tue Sep 24 2019 openEuler Buildteam <buildteam@openeuler.org> - 1:1.1.1c-2
|
||
|
|
- Adjust requires
|
||
|
|
|
||
|
|
* Mon Sep 16 2019 openEuler Buildteam <buildteam@openeuler.org> - 1:1.1.1c-1
|
||
|
|
- Package init
|