Fix "Provides: devel(libfoo)" conflicts with OpenSSL

This commit is contained in:
Mikhail Novosyolov 2019-12-03 21:23:45 +03:00
parent 5ad4b859b6
commit 12d44ee606

View file

@ -40,8 +40,9 @@
# // mikhailnov, 03.12.2019
# 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.
# Filter out provides like 'devel(libcrypto(64bit))' (they are in OpenSSL).
%define __noautoprov \
'.*openssl.*|pkgconfig\\(lib(tls|crypro|ssl)\\)'
'.*openssl.*|pkgconfig\\(lib(tls|crypro|ssl)\\)|devel\\(lib(tls|crypto|ssl).*\\).*'
%define libcrypto_sover 45
%define libssl_sover 47
@ -53,7 +54,7 @@
Summary: LibreSSL utils and libs coexisting with OpenSSL
Name: libressl
Version: 3.0.2
Release: 7
Release: 8
# The code is distributed under ISC license except of original OpenSSL code
License: ISC and BSD-like
Group: System/Libraries
@ -146,6 +147,20 @@ Requires: %{libssl_pkg} = %{EVRD}
Provides: %{mklibname crypto_libressl -d} = %{EVRD}
Provides: %{mklibname tls_libressl -d} = %{EVRD}
Provides: %{mklibname ssl_libressl -d} = %{EVRD}
# Automatic provides like 'devel(libcrypto(64bit))' are blocked by
# filters to prevent conflicts with OpenSSL
# devel(libfoo) are RPM_VENDOR_MANDRIVA-specific in RPM 5
# TODO: probably no real need in emulating devel(libfoo)
%if 0%{?mdvver}
%if %{?_lib} == "lib64"
%define b64 (64bit)
%else
%define b64 %{nil}
%endif
Provides: devel(libressl-libtls%{b64})
Provides: devel(libressl-libcrypto%{b64})
Provides: devel(libressl-libssl%{b64})
%endif
Autoreq: 1
%description devel