From c19f5e5202fdc61e8f454fd116d3ba1bade36027 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Thu, 7 Nov 2024 19:50:53 -0500 Subject: [PATCH] Conditionalize the backends This disables the gcrypt and gnutls backends in ELN builds to match c10s, and prepares for their eventual removal (now being deprecated()). --- xmlsec1.spec | 44 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 6 deletions(-) diff --git a/xmlsec1.spec b/xmlsec1.spec index 222918e..782c768 100644 --- a/xmlsec1.spec +++ b/xmlsec1.spec @@ -1,8 +1,17 @@ +# widely used +%bcond openssl 1 +# used by libreoffice +%bcond nss 1 +# not used +%bcond gcrypt %{undefined rhel} +# not used; gnutls depends on gcrypt +%bcond gnutls %{with gcrypt} + Summary: Library providing support for "XML Signature" and "XML Encryption" standards Name: xmlsec1 Version: 1.2.39 %global uversion %%(echo %{version} | tr '.' '_') -Release: 4%{?dist}%{?extra_release} +Release: 5%{?dist}%{?extra_release} Epoch: 1 License: MIT Source0: https://github.com/lsh123/xmlsec/releases/download/xmlsec-%{uversion}/xmlsec1-%{version}.tar.gz @@ -11,18 +20,26 @@ URL: http://www.aleksey.com/xmlsec/ BuildRequires: make BuildRequires: pkgconfig(libxml-2.0) >= 2.8.0 BuildRequires: pkgconfig(libxslt) >= 1.0.20 +%if %{with openssl} BuildRequires: pkgconfig(openssl) >= 3.0.0 +BuildRequires: openssl-devel-engine >= 3.0.0 +%endif +%if %{with nss} BuildRequires: pkgconfig(nss) >= 3.49.0 BuildRequires: pkgconfig(nspr) >= 4.25.0 +%endif +%if %{with gcrypt} BuildRequires: libgcrypt-devel >= 1.4.0 +%endif +%if %{with gnutls} BuildRequires: pkgconfig(gnutls) >= 3.6.13 +%endif BuildRequires: libtool-ltdl-devel # autoreconf stuff BuildRequires: autoconf BuildRequires: automake BuildRequires: gettext-devel BuildRequires: libtool -BuildRequires: openssl-devel-engine >= 3.0.0 %description XML Security Library is a C library based on LibXML2 and OpenSSL. @@ -38,6 +55,7 @@ Requires: openssl-devel%{?_isa} >= 1.0.0 Libraries, includes, etc. you can use to develop applications with XML Digital Signatures and XML Encryption support. +%if %{with openssl} %package openssl Summary: OpenSSL crypto plugin for XML Security Library Requires: xmlsec1%{?_isa} = 1:%{version}-%{release} @@ -53,7 +71,9 @@ Requires: xmlsec1-openssl%{?_isa} = 1:%{version}-%{release} %description openssl-devel Libraries, includes, etc. for developing XML Security applications with OpenSSL +%endif +%if %{with gcrypt} %package gcrypt Summary: GCrypt crypto plugin for XML Security Library Requires: xmlsec1%{?_isa} = 1:%{version}-%{release} @@ -71,7 +91,9 @@ Provides: deprecated() %description gcrypt-devel Libraries, includes, etc. for developing XML Security applications with GCrypt. +%endif +%if %{with gnutls} %package gnutls Summary: GNUTls crypto plugin for XML Security Library Requires: xmlsec1%{?_isa} = 1:%{version}-%{release} @@ -90,7 +112,9 @@ Provides: deprecated() %description gnutls-devel Libraries, includes, etc. for developing XML Security applications with GNUTls. +%endif +%if %{with nss} %package nss Summary: NSS crypto plugin for XML Security Library Requires: xmlsec1%{?_isa} = 1:%{version}-%{release} @@ -106,6 +130,7 @@ Requires: xmlsec1-nss%{?_isa} = 1:%{version}-%{release} %description nss-devel Libraries, includes, etc. for developing XML Security applications with NSS. +%endif %prep %autosetup -p1 @@ -128,10 +153,6 @@ rm -vf %{buildroot}%{_libdir}/*.la rm -rf __tmp_doc ; mkdir __tmp_doc mv %{buildroot}%{_docdir}/xmlsec1/* __tmp_doc -%ldconfig_scriptlets -%ldconfig_scriptlets gnutls -%ldconfig_scriptlets openssl - %files %doc AUTHORS ChangeLog NEWS Copyright %{_mandir}/man1/xmlsec1.1* @@ -150,6 +171,7 @@ mv %{buildroot}%{_docdir}/xmlsec1/* __tmp_doc %{_mandir}/man1/xmlsec1-config.1* %doc HACKING __tmp_doc/* +%if %{with openssl} %files openssl %{_libdir}/libxmlsec1-openssl.so.* %{_libdir}/libxmlsec1-openssl.so @@ -157,7 +179,9 @@ mv %{buildroot}%{_docdir}/xmlsec1/* __tmp_doc %files openssl-devel %{_includedir}/xmlsec1/xmlsec/openssl/ %{_libdir}/pkgconfig/xmlsec1-openssl.pc +%endif +%if %{with gcrypt} %files gcrypt %{_libdir}/libxmlsec1-gcrypt.so.* %{_libdir}/libxmlsec1-gcrypt.so @@ -165,7 +189,9 @@ mv %{buildroot}%{_docdir}/xmlsec1/* __tmp_doc %files gcrypt-devel %{_includedir}/xmlsec1/xmlsec/gcrypt/ %{_libdir}/pkgconfig/xmlsec1-gcrypt.pc +%endif +%if %{with gnutls} %files gnutls %{_libdir}/libxmlsec1-gnutls.so.* %{_libdir}/libxmlsec1-gnutls.so @@ -173,7 +199,9 @@ mv %{buildroot}%{_docdir}/xmlsec1/* __tmp_doc %files gnutls-devel %{_includedir}/xmlsec1/xmlsec/gnutls/ %{_libdir}/pkgconfig/xmlsec1-gnutls.pc +%endif +%if %{with nss} %files nss %{_libdir}/libxmlsec1-nss.so.* %{_libdir}/libxmlsec1-nss.so @@ -181,8 +209,12 @@ mv %{buildroot}%{_docdir}/xmlsec1/* __tmp_doc %files nss-devel %{_includedir}/xmlsec1/xmlsec/nss/ %{_libdir}/pkgconfig/xmlsec1-nss.pc +%endif %changelog +* Thu Nov 7 2024 Yaakov Selkowitz - 1:1.2.39-5 +- Conditionalize the backends + * Sat Jul 20 2024 Fedora Release Engineering - 1:1.2.39-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild