From 574c67a838e28b5ef8b707feaeac94a859118d74a1f7e3fe2d2b2237ab8939aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 3 May 2024 23:45:40 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main qca revision 8e9cb64165414347fb836b9f281a8cd1 --- .gitattributes | 23 ++++ _multibuild | 5 + qca-2.3.7.tar.xz | 3 + qca-2.3.7.tar.xz.sig | 16 +++ qca.changes | 298 +++++++++++++++++++++++++++++++++++++++++++ qca.keyring | Bin 0 -> 3972 bytes qca.spec | 218 +++++++++++++++++++++++++++++++ 7 files changed, 563 insertions(+) create mode 100644 .gitattributes create mode 100644 _multibuild create mode 100644 qca-2.3.7.tar.xz create mode 100644 qca-2.3.7.tar.xz.sig create mode 100644 qca.changes create mode 100644 qca.keyring create mode 100644 qca.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..2c8cd27 --- /dev/null +++ b/_multibuild @@ -0,0 +1,5 @@ + + qt5 + qt6 + + diff --git a/qca-2.3.7.tar.xz b/qca-2.3.7.tar.xz new file mode 100644 index 0000000..4f66da1 --- /dev/null +++ b/qca-2.3.7.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fee2343b54687d5be3e30fb33ce296ee50ac7ae5e23d7ab725f63ffdf7af3f43 +size 745880 diff --git a/qca-2.3.7.tar.xz.sig b/qca-2.3.7.tar.xz.sig new file mode 100644 index 0000000..7abbcb3 --- /dev/null +++ b/qca-2.3.7.tar.xz.sig @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEmUvOVl9TGc6jhe6fuSpfBOyUkSEFAmS+mnwACgkQuSpfBOyU +kSH7hQ//bxgmGoQVbYPr2JzMK9xHoQhikO2gmAqlbVinPts/a7lkw83jnQ78u/qM +PyktQbRAUl46g+LWVsYGcmdt3FcF66sbe0RMk63HJuSew1g8e8qjI2p9xCNkkCHT +oeuojQSaXILaG/tkAe0PshDM6Qh9kTJUmYnzb2ekRYF0u3+EqmbFOmGBbtXFYMfi +18OtcriDucCv0Q59DxHX4VPhFxnJmnbsC58CDSPps3YxYS/EJGtGgnQn2c5fatCy +kCDnKpqwM0hIabCpbozTV7vf/KxEq4Le4NGr8uLS6UbbTtSqIWSzifs4ZTVtboaV +Ub3pBmWsKH180BirSb20n1d54TBB6ZMylDlynbaW+SoziwIM/PaLLpUnqXv+8QLO +QPR3f3jjBhYu70PuHFBrNCbfWeiWRaVcSATYsD0/Q0izDU8WQ+QMHALyxXLpXTsE +ic4YxlLvZk4wiYmiK19Rk+GSTJZ7UvRmUCiilb/YjIZX/Yev9N7/1F4Da4WKH7sn +Wl3HbF64w6mPEdCOZzhcPmBgrHcccxCrWW9FEF5aWakdQn7yEjicKC/7ezFTmVuH +YnOCN17RD29cl1iyYOeSIXJH17UamornyjePi76zYOB+Tp60UWxdGSbYji3u20f0 +cN4qXXg475o/B9snjt0+Q3udxcQ35gRZk5fUi8q/4ckB3DXjfh0= +=qAzz +-----END PGP SIGNATURE----- diff --git a/qca.changes b/qca.changes new file mode 100644 index 0000000..6566b77 --- /dev/null +++ b/qca.changes @@ -0,0 +1,298 @@ +------------------------------------------------------------------- +Tue Jul 25 08:29:57 UTC 2023 - Christophe Marin + +- Update to 2.3.7 + * OpenSSL3: don't quit if legacy provider is unavailable + +------------------------------------------------------------------- +Wed May 3 16:10:27 UTC 2023 - Christophe Marin + +- Update to 2.3.6. No changelog. +- Drop patches, merged upstream: + * 0001-Remove-test-that-openssl-has-decided-it-s-wrong.patch + * 0001-hashunittest-run-sha384longtest-only-for-providers-t.patch + +------------------------------------------------------------------- +Mon Feb 20 13:34:13 UTC 2023 - Christophe Marin + +- Disable the pgp test. It fails randomly. + +------------------------------------------------------------------- +Mon Feb 20 09:47:38 UTC 2023 - Otto Hollmann + +- Remove test that openssl has decided it's wrong [boo#1208393] + * Add 0001-Remove-test-that-openssl-has-decided-it-s-wrong.patch + +------------------------------------------------------------------- +Wed Oct 26 08:54:32 UTC 2022 - Fabian Vogt + +- BR ca-certificates-mozilla for the testsuite +- Have the devel package require the library +- Drop qca-2.3.0-fixDSA.patch, that was fixed in 2014 already by + just disabling DSA +- Add upstream change: + * 0001-hashunittest-run-sha384longtest-only-for-providers-t.patch + +------------------------------------------------------------------- +Wed Oct 19 06:15:22 UTC 2022 - Christophe Giboudeaux + +- Update to 2.3.5 + * find dependencies of Qca when the cmake package is used by a + project + * Handle openssl without case5 support + * Update rootcerts.pem + * SafeSocketNotifier: fix socket FD type and remove signal + argument +- Drop patch, merged upstream: + * 0001-Make-filewatchunittest-much-quicker.patch + +------------------------------------------------------------------- +Thu Oct 21 13:00:31 UTC 2021 - Christophe Giboudeaux + +- Set LD_LIBRARY_PATH before running tests. + +------------------------------------------------------------------- +Tue Sep 14 20:24:59 UTC 2021 - Fabian Vogt + +- Run ctest in %check +- Add patch to make %check much quicker: + * 0001-Make-filewatchunittest-much-quicker.patch + +------------------------------------------------------------------- +Tue Sep 14 20:09:30 UTC 2021 - Fabian Vogt + +- Update to 2.3.4: + * OpenSSL 3 support + * Don't create pkgconfig files for Qt 6 builds + * Minor test fix + +------------------------------------------------------------------- +Fri Jun 18 07:52:52 UTC 2021 - Fabian Vogt + +- Mention soversion in %files +- Require main plugins from the library (for now, boo#1187447) +- Recommend optional plugins from the library + +------------------------------------------------------------------- +Wed Jun 16 06:27:32 UTC 2021 - Wolfgang Bauer + +- Recommend the main package in the Qt5 flavor as well + +------------------------------------------------------------------- +Fri Jun 4 08:20:14 UTC 2021 - Christophe Giboudeaux + +- Rename libqca-qt5 to qca and use flavors to build Qt5 and Qt6 + variants. + +------------------------------------------------------------------- +Thu Jun 3 20:15:57 UTC 2021 - Wolfgang Bauer + +- Update to 2.3.3: + * Add Qt6 support. Use -DQT6=ON when running cmake + * Minimum Qt5 supported version updated to 5.14 + * Minor doc fixes +- Rebase qca-2.3.0-fixDSA.patch + +------------------------------------------------------------------- +Thu Feb 11 10:23:07 UTC 2021 - Christophe Giboudeaux + +- Add a keyring file +- Use cmake() syntax for Qt build requirements + +------------------------------------------------------------------- +Fri Feb 5 09:00:14 UTC 2021 - Paolo Stivanin + +- Update to 2.3.2: + * Add macOS framework major version + * qca-gcrypt: Add support for HKDF + * Minimum Qt updated to 5.9 + * Fixed compilation with gcc 11 +- Rebase qca-2.3.0-fixDSA.patch + +------------------------------------------------------------------- +Mon Jul 6 16:02:52 UTC 2020 - Wolfgang Bauer + +- Update to 2.3.1 + * fixes memleaks and crashes + +------------------------------------------------------------------- +Tue Mar 10 16:50:03 UTC 2020 - Antonio Larrosa + +- Remove baselibs.conf + +------------------------------------------------------------------- +Wed Feb 26 13:08:04 UTC 2020 - Wolfgang Bauer + +- Update to 2.3.0 + * Qt5 is the only supported Qt series now + * OpenSSL <= 1.1.0 is no longer supported + * Various botan bugfixes + * More dynamic test coverage of backend capabilities + * no longer tries to setuid when the effective uid is not root +- Rename qca-2.2.1-fixDSA.patch to qca-2.3.0-fixDSA.patch and + rebase it +- Update minimum required Qt5 and cmake versions + +------------------------------------------------------------------- +Mon Sep 9 12:17:50 UTC 2019 - Christophe Giboudeaux + +- Drop the obsolete libqca2 package. +- Run spec-cleaner + +------------------------------------------------------------------- +Fri Apr 26 12:49:36 UTC 2019 - Fabian Vogt + +- Fix source URL + +------------------------------------------------------------------- +Fri Apr 26 07:43:43 UTC 2019 - Wolfgang Bauer + +- Update to 2.2.1 + * support for openssl 1.1 + * support for AES GCM and AES CCM modes + * new base64 convenience functions + * new botan2 support + * new hkdf support + * various build improvements and (deprecation) cleanups +- Drop patches merged upstream: + * 0001-Revert-tlsunittest-disable-some-ciphers.patch + * 0002-Disable-missed-openssl-cipher-suites.patch + * 0003-Add-support-for-OpenSSL-1.1.0.patch + * ansi.diff +- Rename qca-2.1.3-fixDSA.patch to qca-2.2.1-fixDSA.patch and + rebase it +- Re-enable pkcs11, there is no openssl conflict anymore +- Don't hardcode the certstore path anymore, ca-certificates is + BuldRequired so this can be detected automatically + +------------------------------------------------------------------- +Thu Oct 25 09:30:30 UTC 2018 - Jason Sikes + +- Fix segfault when creating DSA keys + * [qca-2.1.3-fixDSA.patch] + * bsc#1108634 + +------------------------------------------------------------------- +Wed Dec 27 10:57:18 UTC 2017 - jengelh@inai.de + +- Diversify subpackage descriptions. + +------------------------------------------------------------------- +Wed Dec 20 18:12:13 UTC 2017 - fabian@ritter-vogt.de + +- Add patches to support OpenSSL 1.1.0: + * 0001-Revert-tlsunittest-disable-some-ciphers.patch + * 0002-Disable-missed-openssl-cipher-suites.patch + * 0003-Add-support-for-OpenSSL-1.1.0.patch +- Fix provides in main package + +------------------------------------------------------------------- +Thu Oct 19 08:53:59 UTC 2017 - meissner@suse.com + +- buildignore openssl-1_0_0 to avoid conflicts during the + openssl 1.1 effort. + +------------------------------------------------------------------- +Mon Oct 9 11:32:54 UTC 2017 - vcizek@suse.com + +- Hardcode certstore path on Tumbleweed, in order to avoid + BuildRequires: ca-certificates, which will create a conflict, + because it requires openssl-1_1_0 (bsc#1055310) + +------------------------------------------------------------------- +Sun Oct 1 16:25:59 UTC 2017 - wbauer@tmo.at + +- Update to 2.1.3 + * No changelog provided +- Drop libqca-qt5-2.1.1-explicit-signed-char.patch, merged upstream +- Update Url + +------------------------------------------------------------------- +Fri Sep 29 14:54:39 UTC 2017 - wbauer@tmo.at + +- Remove libbotan-devel build requirement, we explicitly disable + building the botan plugin anyway (boo#1055322) + +------------------------------------------------------------------- +Fri Aug 25 08:52:31 UTC 2017 - fvogt@suse.com + +- Force building against openSSL 1.0 (boo#1055310) +- Disable PKCS11 on TW to avoid openssl conflicts + +------------------------------------------------------------------- +Wed May 25 18:17:55 UTC 2016 - antoine.belvire@laposte.net + +- Fix build on PowerPC with GCC 6: + * Add libqca-qt5-2.1.1-explicit-signed-char.patch + +------------------------------------------------------------------- +Sat Oct 3 09:21:25 UTC 2015 - hrvoje.senjan@gmail.com + +- Update to 2.1.1 + * No changelog provided +- Drop Use-Q_SLOTS-Q_SIGNALS.patch and 0001-Add-missing-QIODevice-include.patch + +------------------------------------------------------------------- +Sat Sep 26 14:13:08 UTC 2015 - hrvoje.senjan@gmail.com + +- Added Use-Q_SLOTS-Q_SIGNALS.patch from upstream: allow building + without QT_NO_KEYWORDS define + +------------------------------------------------------------------- +Sat Jan 10 06:58:34 UTC 2015 - hrvoje.senjan@gmail.com + +- Update to 2.1.0.3 + * Allow co-installability with Qt4 build +- Remove conflict with libqca2-devel +- Bump required cmake version to 2.8.12 +- Added ansi.diff, rh#1182200 +- Added 0001-Add-missing-QIODevice-include.patch, fixes build with + Qt 5.5 + +------------------------------------------------------------------- +Sat Nov 8 16:01:07 UTC 2014 - hrvoje.senjan@gmail.com + +- Update to 2.1.0 + * Ported to Qt5 (Qt4 alsa supported) + * New building system. CMake instead of qmake + * Added CTR symetric cipher support to qca core + * Added no padding encryption algorithm to qca core + * qcatool2 renamed to qcatool + * fixed crash in qcatool when only options provided on command + line without any commands + * Use plugins installation path as hard-coded runtime plugins + search path + * Added new functiion pluginPaths + * Added functions to get runtime QCA version + * Fixed 'no watch file' warnings in FileWatch + * Added EME_PKCS1v15_SSL Encryption Algorithm + * New implementation of SafeTimer to prevent crashes + * Updated certificates for unittests + * RSA Keys are permutable, can encrypt with private + and decrypt with public + * Add unloadProvider() function for symmetry + with insertProvider() + * Overloaded "makeKey" to derive a password depending + on a time factor + * Remove pointer to deinit() routine from QCoreApplication + at deinitialization + * Fix a couple of crashes where all plugins + might not be available + * Fix operating on keys with unrelated expired subkeys + * Fixed timers in Synchronizer class + * Dropped randomunittest + * Fixed many unittests + * qca-gnupg: internal refactoring + * qca-gnupg: try both gpg and gpg2 to find gnupg executable + * qca-gnupg: fixed some encodings problem + * qca-ossl: no DSA_* dl groups in FIPS specification + * qca-ossl: added missed signatures to CRLContext + * qca-ossl: fixed certs time zone + * qca-nss: fixed KeyLenght for Cipher + * qca-botan: fixed getting result size for ciphers + +------------------------------------------------------------------- +Thu Aug 14 23:19:28 UTC 2014 - hrvoje.senjan@gmail.com + +- Activate libqca-qt5 package + diff --git a/qca.keyring b/qca.keyring new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..0ab67d3bd70746106efbdeb41417c7a2a7a4dabd98b324e3f4288e31ee9a72ef GIT binary patch literal 3972 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 literal 0 HcmV?d00001 diff --git a/qca.spec b/qca.spec new file mode 100644 index 0000000..0910566 --- /dev/null +++ b/qca.spec @@ -0,0 +1,218 @@ +# +# spec file for package qca +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "" +%define pkgname_suffix %{nil} +ExclusiveArch: do_not_build +%endif +%if "%{flavor}" == "qt5" + %define qt5 1 + %define pkgname_suffix -qt5 + %define qt_min_version 5.14 + %define _plugindir %{_libqt5_plugindir} +%endif +# %%elif requires rpm 4.15... +%if "%{flavor}" == "qt6" + %define qt6 1 + %define pkgname_suffix -qt6 + %define qt_min_version 6.0 + %define _plugindir %{_qt6_pluginsdir} +%endif +# +%define _soversion 2 +%bcond_without pkcs11 +Name: qca%{pkgname_suffix} +Version: 2.3.7 +Release: 0 +Summary: Qt Cryptographic Architecture 2 +License: LGPL-2.1-or-later +URL: https://userbase.kde.org/QCA +Source0: https://download.kde.org/stable/qca/%{version}/qca-%{version}.tar.xz +Source1: https://download.kde.org/stable/qca/%{version}/qca-%{version}.tar.xz.sig +Source2: qca.keyring +BuildRequires: ca-certificates-mozilla +BuildRequires: cmake +BuildRequires: gpg2 +BuildRequires: libgcrypt-devel +BuildRequires: libjpeg-devel +%if %{with pkcs11} +BuildRequires: pkcs11-helper-devel +%endif +BuildRequires: pkgconfig +BuildRequires: update-desktop-files +%if 0%{?qt5} +BuildRequires: cmake(Qt5Core) >= %{qt_min_version} +BuildRequires: cmake(Qt5Network) >= %{qt_min_version} +BuildRequires: cmake(Qt5Test) >= %{qt_min_version} +%endif +%if 0%{?qt6} +BuildRequires: cmake(Qt6Core) >= %{qt_min_version} +BuildRequires: cmake(Qt6Core5Compat) >= %{qt_min_version} +BuildRequires: cmake(Qt6Network) >= %{qt_min_version} +BuildRequires: cmake(Qt6Test) >= %{qt_min_version} +%endif +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libsasl2) +BuildRequires: pkgconfig(nss) +BuildRequires: pkgconfig(openssl) >= 1.1.1 +Requires: gpg2 >= 2.0.0 +%if 0%{?qt5} +# The plugins used to be in the same package as the library +Obsoletes: libqca-qt5 <= 2.3.2 +%endif + +%description +This package provides a generic Qt cryptographic architecture, +including a library and a plug-in for using all supported capabilities +of openssl, like SSL/TLS, X509, RSA, SHA1, MD5, Blowfish, 3DES, and +AES. + +It can be extended by further plug-ins, for example, with qca-sasl for +SASL support. + +%package -n libqca-%{flavor}-%{_soversion} +Summary: QCA library +%if 0%{?qt5} +Provides: libqca-qt5 = %{version} +Obsoletes: libqca-qt5 < %{version} +%endif +Requires: %{name} >= %{version} +Recommends: %{name}-plugins + +%description -n libqca-%{flavor}-%{_soversion} +The Qt cryptographic library. + +%package devel +Summary: Development files for the Qt Cryptographic Architecture 2 +Requires: libqca-%{flavor}-%{_soversion} = %{version} +%if 0%{?qt5} +Requires: cmake(Qt5Core) >= %{qt_min_version} +Requires: cmake(Qt5Network) >= %{qt_min_version} +Provides: libqca-qt5-devel = %{version} +Obsoletes: libqca-qt5-devel < %{version} +%endif +%if 0%{?qt6} +Requires: cmake(Qt6Core) >= %{qt_min_version} +Requires: cmake(Qt6Network) >= %{qt_min_version} +%endif + +%description devel +This package provides a generic Qt cryptographic architecture, +including a library and a plugin for using all supported capabilities +of openssl, like SSL/TLS, X509, RSA, SHA1, MD5, Blowfish, 3DES and AES. + +%package plugins +Summary: Various plugins for the Qt Cryptographic Architecture 2 +%if 0%{?qt5} +Provides: libqca-qt5-plugins = %{version} +Obsoletes: libqca-qt5-plugins < %{version} +%endif + +%description plugins +This package provides a generic Qt cryptographic architecture, +including a library and a plug-in for using all supported capabilities +of openssl, like SSL/TLS, X509, RSA, SHA1, MD5, Blowfish, 3DES, and +AES. + +It can be extended by further plug-ins, for example, with qca-sasl for +SASL support. + +%prep +%autosetup -p1 -n qca-%{version} +# Don't build examples +echo > examples/CMakeLists.txt + +# The pgp test fails randomly +sed -i '/pgpunittest/d' unittest/CMakeLists.txt + +%build +%if 0%{?qt5} +%cmake \ +%else +%cmake_qt6 \ + -DBUILD_WITH_QT6=ON \ +%endif + -DBUILD_TESTS=ON \ + -DQCA_INSTALL_IN_QT_PREFIX=ON \ + -DQCA_BINARY_INSTALL_DIR:PATH="%{_bindir}" \ + -DQCA_MAN_INSTALL_DIR:PATH="%{_mandir}" \ + -DWITH_botan_PLUGIN=OFF + +%if 0%{?qt5} +%cmake_build +%else +%qt6_build +%endif + +%install +%if 0%{?qt5} +%cmake_install +%else +%qt6_install +%endif + +%check +export LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH +%if 0%{?qt5} +export QT_PLUGIN_PATH=%{buildroot}%{_libqt5_plugindir}:%{_libqt5_plugindir} +%else +export QT_PLUGIN_PATH=%{buildroot}%{_qt6_pluginsdir}:%{_qt6_pluginsdir} +%endif +# The 'PGP' test fails randomly +%define _smp_mflags -j1 +%ctest + +%ldconfig_scriptlets -n libqca-%{flavor}-%{_soversion} + +%files +%dir %{_plugindir}/crypto +%{_plugindir}/crypto/libqca-gcrypt.so +%{_plugindir}/crypto/libqca-gnupg.so +%{_plugindir}/crypto/libqca-logger.so +%{_plugindir}/crypto/libqca-ossl.so +%{_plugindir}/crypto/libqca-softstore.so + +%files -n libqca-%{flavor}-%{_soversion} +%license COPYING +%doc README +%{_libdir}/libqca-%{flavor}.so.%{_soversion} +%{_libdir}/libqca-%{flavor}.so.%{version} + +%files devel +%{_bindir}/mozcerts-%{flavor} +%{_bindir}/qcatool-%{flavor} +%{_includedir}/%{flavor}/Qca-%{flavor}/ +%if 0%{?qt5} +%{_libdir}/%{flavor}/mkspecs/features/crypto.prf +%endif +%{_libdir}/cmake/Qca-%{flavor}/ +%{_libdir}/libqca-%{flavor}.so +%if 0%{?qt5} +%{_libdir}/pkgconfig/qca2-%{flavor}.pc +%endif +%{_mandir}/man1/qcatool-%{flavor}.1%{?ext_man} + +%files plugins +%{_plugindir}/crypto/libqca-cyrus-sasl.so +%{_plugindir}/crypto/libqca-nss.so +%if %{with pkcs11} +%{_plugindir}/crypto/libqca-pkcs11.so +%endif + +%changelog