From 0009d88182b8bcf219dd3f59c3b8fbfc9b8e7772 Mon Sep 17 00:00:00 2001 From: Mikhail Novosyolov Date: Tue, 3 Dec 2019 21:23:45 +0300 Subject: [PATCH] Fix "Provides: devel(libfoo)" conflicts with OpenSSL --- libressl.spec | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/libressl.spec b/libressl.spec index 30e46ea..0b82179 100644 --- a/libressl.spec +++ b/libressl.spec @@ -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|tls).*\\).*' %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