openssl 3.1.2 SPEC 文件
[root@localhost SPECS]# cat openssl.spec
Summary: OpenSSL 3.1.2 for OpenEuler
Name: openssl
Version: 3.1.2
Release: 20.oe2023sp1
Obsoletes: %{name} <= %{version}
Provides: %{name} = %{version}
URL: https://www.openssl.org/
License: OpenSSL and SSLeay
Packager: YanShunwen <yansw@xxx-xxx.xxx>
Vendor: YanShunwen
Source: https://www.openssl.org/source/%{name}-%{version}.tar.gz
BuildRequires: make gcc perl perl-libwww-perl
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%global openssldir /usr/openssl
%description
OpenSSL
%package devel
Summary: Cryptography and SSL/TLS Toolkit
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
%description devel
OpenSSL is a robust, commercial-grade, and full-featured toolkit for the
Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols.
%prep
%setup -q
%build
./config --prefix=%{openssldir} --openssldir=%{openssldir}
make %{?_smp_mflags}
%install
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
%make_install DESTDIR=%{buildroot}
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_libdir}
ln -sf %{openssldir}/lib/libssl.so.3 %{buildroot}%{_libdir}
ln -sf %{openssldir}/lib/libcrypto.so.3 %{buildroot}%{_libdir}
ln -sf %{openssldir}/bin/openssl %{buildroot}%{_bindir}
%clean
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
%files
%{openssldir}
%defattr(-,root,root)
/usr/bin/openssl
%{openssldir}/lib64/libcrypto.so.3
%{openssldir}/lib64/libssl.so.3
%files devel
%{openssldir}/include/*
%defattr(-,root,root)
%post
/usr/bin/cat /etc/ld.so.conf | grep -wq '/lib' >/dev/null 2>&1 || echo "/lib" >> /etc/ld.so.conf
/usr/bin/cat /etc/ld.so.conf | grep -wq '/lib64' >/dev/null 2>&1 || echo "/lib64" >> /etc/ld.so.conf
/usr/bin/cat /etc/ld.so.conf | grep -wq '/usr/lib' >/dev/null 2>&1 || echo "/usr/lib" >> /etc/ld.so.conf
/usr/bin/cat /etc/ld.so.conf | grep -wq '/usr/lib64' >/dev/null 2>&1 || echo "/usr/lib64" >> /etc/ld.so.conf
/usr/bin/cat /etc/ld.so.conf | grep -wq '/usr/openssl/lib' >/dev/null 2>&1 || echo "/usr/openssl/lib" >> /etc/ld.so.conf
/usr/bin/cat /etc/ld.so.conf | grep -wq '/usr/openssl/lib64' >/dev/null 2>&1 || echo "/usr/openssl/lib64" >> /etc/ld.so.conf
/usr/bin/cat /etc/ld.so.conf | grep -wq '/usr/local/lib' >/dev/null 2>&1 || echo "/usr/local/lib" >> /etc/ld.so.conf
/usr/bin/cat /etc/ld.so.conf | grep -wq '/usr/local/lib64' >/dev/null 2>&1 || echo "/usr/local/lib64" >> /etc/ld.so.conf
/usr/bin/cat /etc/ld.so.conf | grep -wq '/var/lib' >/dev/null 2>&1 || echo "/var/lib" >> /etc/ld.so.conf
/sbin/ldconfig
%postun -p /sbin/ldconfig
%changelog
开始制作
cd /root/rpmbuild/SPECS && rpmbuild -D "version 3.1.2" -ba openssl.spec --nodebuginfo