More fixes for building on rpm4

This commit is contained in:
Neal Gompa 2020-01-03 15:47:13 -05:00
parent 063640e2d2
commit aa028f8919

View file

@ -9,9 +9,13 @@
%define _obindir %{_oprefix}/bin %define _obindir %{_oprefix}/bin
%define _omandir %{_oprefix}/share/man %define _omandir %{_oprefix}/share/man
%define _olibdir %{_oprefix}/%{_lib} %define _olibdir %{_oprefix}/%{_lib}
# We need to override macros set in platform
%define _prefix /opt/libressl %define _prefix /opt/libressl
# No need to have /opt/libressl/lib64, use /opt/libressl/lib %define _bindir %{_prefix}/bin
%define _libdir %{_prefix}/lib %define _libdir %{_prefix}/%{_lib}
%define _libexecdir %{_prefix}/libexec
%define _datadir %{_prefix}/share
%define _mandir %{_datadir}/man
# Keep package docs in normal locations # Keep package docs in normal locations
%define _defaultdocdir %{_oprefix}/share/doc %define _defaultdocdir %{_oprefix}/share/doc
# Disable /usr/share/spec-helper/relink_symlinks # Disable /usr/share/spec-helper/relink_symlinks
@ -41,8 +45,8 @@
# We rename e.g. libtls.pc to libressl-tls.pc, make sure that we do not # We rename e.g. libtls.pc to libressl-tls.pc, make sure that we do not
# get odd provides and break the repository if forgot to rename something. # get odd provides and break the repository if forgot to rename something.
# Filter out provides like 'devel(libcrypto(64bit))' (they are in OpenSSL). # Filter out provides like 'devel(libcrypto(64bit))' (they are in OpenSSL).
%define __noautoprov \ %define __provides_exclude \
'.*openssl.*|pkgconfig\\(lib(tls|crypro|ssl)\\)|devel\\(lib(tls|crypto|ssl).*\\).*' '.*openssl.*|pkgconfig\\(lib(tls|crypro|ssl)\\)|devel\\(lib(tls|crypto|ssl).*\\).*'
%define libcrypto_sover 46 %define libcrypto_sover 46
%define libssl_sover 48 %define libssl_sover 48
@ -95,8 +99,7 @@ BuildRequires: binutils grep gawk
BuildRequires: chrpath BuildRequires: chrpath
# This LibreSSL uses /etc/pki/tls from system OpenSSL # This LibreSSL uses /etc/pki/tls from system OpenSSL
# but most functions will work without its files # but most functions will work without its files
Suggests: openssl Recommends: openssl
Autoreq: 1
%description %description
LibreSSL utils and libs coexisting with OpenSSL. LibreSSL utils and libs coexisting with OpenSSL.
@ -104,6 +107,7 @@ GOST is supported out of the box.
%files %files
%doc ChangeLog COPYING %doc ChangeLog COPYING
%license COPYING
# %%_bindir here is /opt/libressl/bin # %%_bindir here is /opt/libressl/bin
# %%_obindir is /usr/bin # %%_obindir is /usr/bin
# %%_mandir is /opt/libressl/share/man # %%_mandir is /opt/libressl/share/man
@ -121,7 +125,6 @@ GOST is supported out of the box.
%package -n %{libcrypto_pkg} %package -n %{libcrypto_pkg}
Summary: libcrypto library from LibreSSL Summary: libcrypto library from LibreSSL
Group: System/Libraries Group: System/Libraries
Autoreq: 1
%description -n %{libcrypto_pkg} %description -n %{libcrypto_pkg}
libcrypto library from LibreSSL libcrypto library from LibreSSL
@ -133,7 +136,6 @@ libcrypto library from LibreSSL
%package -n %{libssl_pkg} %package -n %{libssl_pkg}
Summary: libssl library from LibreSSL Summary: libssl library from LibreSSL
Group: System/Libraries Group: System/Libraries
Autoreq: 1
%description -n %{libssl_pkg} %description -n %{libssl_pkg}
libssl library from LibreSSL libssl library from LibreSSL
@ -145,7 +147,6 @@ libssl library from LibreSSL
%package -n %{libtls_pkg} %package -n %{libtls_pkg}
Summary: libtls library from LibreSSL Summary: libtls library from LibreSSL
Group: System/Libraries Group: System/Libraries
Autoreq: 1
%description -n %{libtls_pkg} %description -n %{libtls_pkg}
libtls library from LibreSSL libtls library from LibreSSL
@ -180,7 +181,6 @@ Provides: devel(libressl-libtls%{b64})
Provides: devel(libressl-libcrypto%{b64}) Provides: devel(libressl-libcrypto%{b64})
Provides: devel(libressl-libssl%{b64}) Provides: devel(libressl-libssl%{b64})
%endif %endif
Autoreq: 1
%description devel %description devel
LibreSSL devel package. Devel libraries are in %{_libdir}, LibreSSL devel package. Devel libraries are in %{_libdir},
@ -227,7 +227,6 @@ Provides: nc = %{EVRD}
# Provide "netcat" but of a lower version than the real netcat # Provide "netcat" but of a lower version than the real netcat
# to allow other packages to depend from any variant of netcat # to allow other packages to depend from any variant of netcat
Provides: netcat = 1.0 Provides: netcat = 1.0
Autoreq: 1
%description -n netcat-openbsd %description -n netcat-openbsd
The nc package contains Netcat (the program is actually nc), a simple The nc package contains Netcat (the program is actually nc), a simple
@ -262,23 +261,23 @@ cat %{SOURCE1} | sed \
patch -p1 < 1.patch patch -p1 < 1.patch
%build %build
%setup_compile_flags %set_build_flags
%serverbuild %serverbuild
# Use the same %%_openssl dir with OpenSSL, but separate the config # Use the same %%_openssl dir with OpenSSL, but separate the config
# (note that we patch libressl, X509_CONF_FILE is not upstream) # (note that we patch libressl, X509_CONF_FILE is not upstream)
export CFLAGS="$CFLAGS -DX509_CONF_FILE='\"%{_openssldir}/libressl.cnf\"'" export CFLAGS="$CFLAGS -DX509_CONF_FILE='\"%{_openssldir}/libressl.cnf\"'"
autoreconf -if #patch2 autoreconf -if #patch2
# static libs are required for tests target in Makefile # static libs are required for tests target in Makefile
%configure2_5x \ %configure \
--enable-nc \ --enable-nc \
--enable-static \ --enable-static \
--with-openssldir=%{_openssldir} --with-openssldir=%{_openssldir}
%make %make_build
%install %install
set +f # explicitly enable shell globbing set +f # explicitly enable shell globbing
%makeinstall_std %make_install
# Some ideas about mans are from ALT Linux spec # Some ideas about mans are from ALT Linux spec
install -m 0644 apps/nc/nc.1 %{buildroot}%{_mandir}/man1/nc.1 install -m 0644 apps/nc/nc.1 %{buildroot}%{_mandir}/man1/nc.1