%global OPENSSL_ASM_ENABLED %{?openssl_asm:%openssl_asm}%{!?openssl_asm:ON} %define openssldir %{_sysconfdir}/ssl Summary: Secure Sockets Layer and cryptography libraries and tools Name: openssl1.1 Version: 1.1.1w Release: 0 License: OpenSSL and Apache-2.0 Group: Security/Crypto Libraries Url: https://www.openssl.org/ Source0: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz Source1: %{name}.manifest Requires: openssl3 %description The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and open source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols with full-strength cryptography. The project is managed by a worldwide community of volunteers that use the Internet to communicate, plan, and develop the OpenSSL toolkit and its related documentation. %package -n libopenssl11 Summary: Secure Sockets Layer and cryptography libraries Group: Security/Crypto Libraries %description -n libopenssl11 The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and open source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols with full-strength cryptography. The project is managed by a worldwide community of volunteers that use the Internet to communicate, plan, and develop the OpenSSL toolkit and its related documentation. %package -n lib%{name}-devel Summary: Secure Sockets Layer and cryptography libraries mandatory for Development Group: Development/Libraries Requires: libopenssl11 = %{version}-%{release} Requires: zlib-devel Conflicts: libopenssl3-devel %description -n lib%{name}-devel The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and open source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols with full-strength cryptography. The project is managed by a worldwide community of volunteers that use the Internet to communicate, plan, and develop the OpenSSL toolkit and its related documentation. %prep %setup -q cp %{SOURCE1} . %build %ifarch %{arm} sslarch=linux-armv4 %endif %ifarch aarch64 sslarch=linux-aarch64 %endif %ifarch %{ix86} sslarch=linux-elf %endif %ifarch x86_64 sslarch=linux-x86_64 %endif %ifarch riscv64 sslarch=linux64-riscv64 %endif RPM_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | sed -s "s/--param=ssp-buffer-size=32//g") RPM_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | sed -s "s/-mcpu=cortex-a15.cortex-a7//g") RPM_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | sed -s "s/-march=armv7ve/-march=armv7-a/g") RPM_OPT_FLAGS="$RPM_OPT_FLAGS -std=gnu99 -fPIC -pie" OPENSSL_CONFIG_ARGS+=" --prefix=%{_prefix} --openssldir=%{openssldir} --libdir=%{_lib} " OPENSSL_CONFIG_ARGS+=" threads shared no-idea no-rc5 no-camellia no-ssl2 enable-md2 enable-weak-ssl-ciphers no-afalgeng " %if %{OPENSSL_ASM_ENABLED} == OFF OPENSSL_CONFIG_ARGS+=" no-asm " %endif ./Configure ${OPENSSL_CONFIG_ARGS} ${sslarch} $RPM_OPT_FLAGS make %{?_smp_mflags} all %check make test %install rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install_sw install_ssldirs mv $RPM_BUILD_ROOT%{openssldir}/openssl.cnf $RPM_BUILD_ROOT%{openssldir}/openssl1.1.cnf %files %manifest %{name}.manifest %exclude %{_bindir} %exclude %{openssldir} %files -n libopenssl11 %manifest %{name}.manifest %license LICENSE %license LICENSE.Apache-2.0 %{_libdir}/*.so.* %{_libdir}/engines-1.1/*.so %{openssldir}/%{name}.cnf %exclude %{openssldir}/ct_log_list.cnf %exclude %{openssldir}/*.dist %post -n libopenssl11 -p /sbin/ldconfig %postun -n libopenssl11 -p /sbin/ldconfig %files -n lib%{name}-devel %manifest %{name}.manifest %license LICENSE %license LICENSE.Apache-2.0 %{_includedir}/openssl %{_libdir}/*.so %exclude %{_libdir}/*.a %{_libdir}/pkgconfig/*.pc