%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 - 1:1.1.1c-2 - Adjust requires * Mon Sep 16 2019 openEuler Buildteam - 1:1.1.1c-1 - Package init