From 35580c25b1f257c1bd065d06ad5cc0f396a37681560bf0eedb96893feb81ea74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Fri, 24 Mar 2017 15:14:23 +0000 Subject: [PATCH 1/2] Accepting request 482421 from home:luca_b:branches:Base:System - Re-conditionalize python builds, to allow gpgme to build on Leap 42.3 (python tests fail with an older gpg, see gpg issue 3008) - Enable Qt build also on Leap 42.3 (needed for KDE PIM) OBS-URL: https://build.opensuse.org/request/show/482421 OBS-URL: https://build.opensuse.org/package/show/Base:System/gpgme?expand=0&rev=85 --- gpgme.changes | 8 ++++++++ gpgme.spec | 30 +++++++++++++++++++++++++++--- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/gpgme.changes b/gpgme.changes index 5c038d6..6eeae0f 100644 --- a/gpgme.changes +++ b/gpgme.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Mar 23 21:54:04 UTC 2017 - lbeltrame@kde.org + +- Re-conditionalize python builds, to allow gpgme to build on + Leap 42.3 (python tests fail with an older gpg, see + gpg issue 3008) +- Enable Qt build also on Leap 42.3 (needed for KDE PIM) + ------------------------------------------------------------------- Tue Feb 14 09:46:57 UTC 2017 - tchvatal@suse.com diff --git a/gpgme.spec b/gpgme.spec index 875b094..bf34344 100644 --- a/gpgme.spec +++ b/gpgme.spec @@ -16,7 +16,17 @@ # -%define with_qt 0%{?suse_version} >= 1330 +# Enable Qt bindings on TW and 42.3 (needed for KDE PIM) +%if 0%{?suse_version} >= 1330 || 0%{?sle_version} >= 120300 +%global with_qt 1 +%endif + +# Only enable Python bindings with TW, or tests will fail with an older gpg +# https://bugs.gnupg.org/gnupg/issue3008 +%if 0%{?suse_version} >= 1330 +%global with_python 1 +%endif + Name: gpgme Version: 1.8.0 Release: 0 @@ -38,8 +48,10 @@ BuildRequires: gpg2 >= 2.0.10 BuildRequires: libassuan-devel >= 2.0.2 BuildRequires: libgpg-error-devel >= 1.17 BuildRequires: pkgconfig +%if 0%{?with_python} BuildRequires: python-devel >= 2.7 BuildRequires: python3-devel >= 3.4 +%endif BuildRequires: swig Requires(post): %{install_info_prereq} Requires(preun): %{install_info_prereq} @@ -116,6 +128,7 @@ management. This subpackage contains the headers needed for building applications making use of libgpgmepp. +%if 0%{?with_python} %package -n python-gpg Summary: Python 2 bindings for GPGME, a library for accessing GnuPG Group: Development/Languages/Python @@ -139,6 +152,7 @@ encryption, decryption, signing, signature verification, and key management. This package contains the bindings to use the library from Python 3 applications. +%endif %package -n libqgpgme7 Summary: Programmatic Qt library interface to GnuPG @@ -175,10 +189,16 @@ This package contains the bindings to use the library in Qt C++ applications. %build build_timestamp=$(date -u +%{Y}-%{m}-%{dT}%{H}:%{M}+0000 -r %{SOURCE99}) -languages="cl cpp python" -%if %{with_qt} +languages="cl cpp" + +%if 0%{?with_python} +languages="${languages} python" +%endif + +%if 0%{?with_qt} languages="${languages} qt" %endif # with_qt + %configure \ --disable-silent-rules \ --disable-static \ @@ -192,6 +212,7 @@ make %{?_smp_mflags} find %{buildroot} -type f -name "*.la" -delete -print chmod -x %{buildroot}%{_libdir}/cmake/Gpgmepp/*.cmake +%if 0%{?with_python} find %{buildroot}%{python_sitearch}/gpg-*.egg-info -delete -print find %{buildroot}%{python_sitearch}/gpg -type f -name "*.pyc" -delete -print rm -vf %{buildroot}%{python_sitelib}/gpg/install_files.txt @@ -199,6 +220,7 @@ rm -vf %{buildroot}%{python_sitelib}/gpg/install_files.txt find %{buildroot}%{python3_sitearch}/gpg-*.egg-info -delete -print rm -vf %{buildroot}%{python3_sitelib}/gpg/install_files.txt find %{buildroot}%{python3_sitearch}/gpg -type f -name "*.pyc" -delete -print +%endif %check %if ! 0%{?qemu_user_space_build} @@ -251,6 +273,7 @@ make %{?_smp_mflags} check %dir %{_libdir}/cmake/Gpgmepp %{_libdir}/cmake/Gpgmepp/GpgmeppConfig*.cmake +%if 0%{?with_python} %files -n python-gpg %defattr(-,root,root) %{python_sitearch}/gpg @@ -258,6 +281,7 @@ make %{?_smp_mflags} check %files -n python3-gpg %defattr(-,root,root) %{python3_sitearch}/gpg +%endif %if 0%{with_qt} %files -n libqgpgme7 From 14426c5156b01ecf05187ecda6f9ab8ea2d85426da435e8c0b5e20b937ee4c4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Wed, 29 Mar 2017 10:44:07 +0000 Subject: [PATCH 2/2] Accepting request 483173 from security:privacy gpgme 1.9.0 OBS-URL: https://build.opensuse.org/request/show/483173 OBS-URL: https://build.opensuse.org/package/show/Base:System/gpgme?expand=0&rev=86 --- gpgme-1.8.0.tar.bz2 | 3 - gpgme-1.8.0.tar.bz2.sig | Bin 310 -> 0 bytes gpgme-1.9.0.tar.bz2 | 3 + gpgme-1.9.0.tar.bz2.sig | Bin 0 -> 310 bytes gpgme-include_functional.patch | 24 ------ gpgme.changes | 72 ++++++++++++++++++ gpgme.spec | 25 ++---- remove-a-forgotten-instance-of-libsuffix.diff | 33 -------- 8 files changed, 82 insertions(+), 78 deletions(-) delete mode 100644 gpgme-1.8.0.tar.bz2 delete mode 100644 gpgme-1.8.0.tar.bz2.sig create mode 100644 gpgme-1.9.0.tar.bz2 create mode 100644 gpgme-1.9.0.tar.bz2.sig delete mode 100644 gpgme-include_functional.patch delete mode 100644 remove-a-forgotten-instance-of-libsuffix.diff diff --git a/gpgme-1.8.0.tar.bz2 b/gpgme-1.8.0.tar.bz2 deleted file mode 100644 index 432def9..0000000 --- a/gpgme-1.8.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:596097257c2ce22e747741f8ff3d7e24f6e26231fa198a41b2a072e62d1e5d33 -size 1298407 diff --git a/gpgme-1.8.0.tar.bz2.sig b/gpgme-1.8.0.tar.bz2.sig deleted file mode 100644 index 0563badfe7af7592a26394c7679f2d4f710c66c37c465796e29d53a736d43f0a..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310 zcmV-60m=S}0W$;u0SEvc79j-KX(1!T23_i24?49Zn>o@?CF8aQ0$40qwg3tV5G0#9 z(oZGhwj!zLDv*)d<}(N;J-V59<|~BkL*qiY}dNIgw@1S zLUh9L9duA5EKHADwo-A1sC+gAA_yB3y*haQXQ4lZKVlWy(gP4B5}0+7)35)-ssq^L zaSS3*&iVRB9FOpKgCA%No`Y-WsATnV^jYa1He(g-^eEzXS<+Dfkz$x5wCf)xc9*T* zINigzE{0`gO)zSe9#E}3bxTQr2}ALfVvlhFG$cDSnH;>2P{n!(NkPLUB%47Y7_`mB z!gpbaD^tvcdE6X^)&;-SGY&irAIT$BHL~d$#5KzIUo@?CF8aQ0$AE~`2Y$D5G0#9 z(oZGhwgGSl{wH1A2*FYTlQs6Z(~ba%0iOF*W|)T6$8n9NVNi#gdJnhC{9cS!HS@`^W$ca<)C3Aku0C-nYUyl3REKj% zBbMl=TP>_dou4fv4c~)tD^d4Kf(E{IgI?F%7Pj#6)CcVA^6;6hcxPX-Yvbw)3kD34 ziiVT7a}TuZuzVTzY=YNNc8GNd#O>{+_d)?RSJ=Sr%PfXy%(XnPJtWbGj?gk3F92da zYo{O%(@QbkIPO9u-H*pdiGh&Xg%@m!V4!?;nZbf4E9jkN5{*-^vidrnA2$-2^NyGY Ib*inc3Hw8j-v9sr literal 0 HcmV?d00001 diff --git a/gpgme-include_functional.patch b/gpgme-include_functional.patch deleted file mode 100644 index ed3b507..0000000 --- a/gpgme-include_functional.patch +++ /dev/null @@ -1,24 +0,0 @@ -Index: gpgme-1.8.0/lang/qt/src/qgpgmenewcryptoconfig.cpp -=================================================================== ---- gpgme-1.8.0.orig/lang/qt/src/qgpgmenewcryptoconfig.cpp -+++ gpgme-1.8.0/lang/qt/src/qgpgmenewcryptoconfig.cpp -@@ -49,6 +49,7 @@ - #include - #include - #include -+#include - - using namespace QGpgME; - using namespace GpgME; -Index: gpgme-1.8.0/lang/qt/src/threadedjobmixin.h -=================================================================== ---- gpgme-1.8.0.orig/lang/qt/src/threadedjobmixin.h -+++ gpgme-1.8.0/lang/qt/src/threadedjobmixin.h -@@ -51,6 +51,7 @@ - #include "job.h" - - #include -+#include - - namespace QGpgME - { diff --git a/gpgme.changes b/gpgme.changes index 6eeae0f..4ab6b82 100644 --- a/gpgme.changes +++ b/gpgme.changes @@ -1,3 +1,75 @@ +------------------------------------------------------------------- +Tue Mar 28 18:01:47 UTC 2017 - astieger@suse.com + +- gpgme 1.9.0: + * Clarified meaning of the 'expire' parameter of gpgme_op_createkey + and gpgme_op_createsubkey. New flag to force a key without an + expiration date. + * New function gpgme_op_keylist_from_data_start to list keys from + data objects without importing them. + * New function gpgme_op_set_uid_flag to flag a key as primary. + * New function gpgme_op_decrypt_ext to run decryption with special + flags. This can for example be used to unwrap keys (remove only + the encryption layer). + * New encryption flags to wrap a key (adding an encryption layer to + an OpenPGP message) or to create anonymously encrypted messages. + * Support for adduid and revuid operations in the C++ bindings. + * Support for smartcard key generation in the C++ bindings. + * Several new functions for the Python binding. + * Many smaller bug fixes. + * Interface changes relative to the 1.8.0 release: + gpgme_op_createkey CHANGED: Meaning of 'expire' parameter. + gpgme_op_createsubkey CHANGED: Meaning of 'expire' parameter. + GPGME_CREATE_NOEXPIRE NEW. + gpgme_key_t EXTENDED: New field 'origin'. + gpgme_key_t EXTENDED: New field 'last_update'. + gpgme_subkey_t EXTENDED: New field 'is_de_vs'. + gpgme_user_id_t EXTENDED: New field 'origin'. + gpgme_user_id_t EXTENDED: New field 'last_update'. + gpgme_op_keylist_from_data_start NEW. + gpgme_op_set_uid_flag_start NEW. + gpgme_op_set_uid_flag NEW. + gpgme_op_decrypt_ext_start NEW. + gpgme_op_decrypt_ext NEW. + GPGME_ENCRYPT_THROW_KEYIDS NEW. + GPGME_ENCRYPT_WRAP NEW. + GPGME_DECRYPT_VERIFY NEW. + GPGME_DECRYPT_UNWRAP NEW. + gpgme_data_rewind UN-DEPRECATE. + cpp: Context::revUid(const Key&, const char*) NEW. + cpp: Context::startRevUid(const Key&, const char*) NEW. + cpp: Context::addUid(const Key&, const char*) NEW. + cpp: Context::startAddUid(const Key&, const char*) NEW. + cpp: Key::UserID::revoke() NEW. + cpp: Key::addUid() NEW. + cpp: Key::isDeVs NEW. + cpp: GpgGenCardKeyInteractor NEW. + cpp: Subkey::keyGrip NEW. + cpp: Subkey::isDeVs NEW. + cpp: Data::toKeys NEW. + cpp: Context::setDecryptFlags NEW. + cpp: Context::decrypt EXTENDED: Flags added. + cpp: Context::startDecrypt EXTENDED: Flags added. + cpp: Context::decryptAndVerify EXTENDED: Flags added. + cpp: Context::startCombinedDecryptionAndVerification EXTENDED: Flags. + cpp: Context::encryptFlags EXTENDED: New flags. + qt: CryptoConfig::stringValueList() NEW. + py: Context.__init__ EXTENDED: New keyword arg home_dir. + py: Context.home_dir NEW. + py: Context.keylist EXTENDED: New keyword arg mode. + py: Context.keylist EXTENDED: New keyword arg source. + py: Context.create_key NEW. + py: Context.create_subkey NEW. + py: Context.key_add_uid NEW. + py: Context.key_revoke_uid NEW. + py: Context.key_sign NEW. + py: Context.key_tofu_policy NEW. + py: core.pubkey_algo_string NEW. + py: core.addrspec_from_uid NEW. +- drop upstreamed patches: + * gpgme-include_functional.patch + * remove-a-forgotten-instance-of-libsuffix.diff + ------------------------------------------------------------------- Thu Mar 23 21:54:04 UTC 2017 - lbeltrame@kde.org diff --git a/gpgme.spec b/gpgme.spec index bf34344..3994a80 100644 --- a/gpgme.spec +++ b/gpgme.spec @@ -17,18 +17,12 @@ # Enable Qt bindings on TW and 42.3 (needed for KDE PIM) -%if 0%{?suse_version} >= 1330 || 0%{?sle_version} >= 120300 -%global with_qt 1 -%endif - +%define with_qt 0%{?suse_version} >= 1330 || 0%{?sle_version} >= 120300 # Only enable Python bindings with TW, or tests will fail with an older gpg # https://bugs.gnupg.org/gnupg/issue3008 -%if 0%{?suse_version} >= 1330 -%global with_python 1 -%endif - +%define with_python 0%{?suse_version} >= 1330 Name: gpgme -Version: 1.8.0 +Version: 1.9.0 Release: 0 Summary: Programmatic library interface to GnuPG License: LGPL-2.1+ and GPL-3.0+ @@ -40,22 +34,19 @@ Source2: baselibs.conf Source3: gpgme.keyring # used to have a fixed timestamp Source99: %{name}.changes -#PATCH-FIX-UPSTREAM: remove-a-forgotten-instance-of-libsuffix.diff - Fix cmake files (or it will break KDE software building) -Patch1: remove-a-forgotten-instance-of-libsuffix.diff -Patch2: gpgme-include_functional.patch BuildRequires: gcc-c++ BuildRequires: gpg2 >= 2.0.10 BuildRequires: libassuan-devel >= 2.0.2 BuildRequires: libgpg-error-devel >= 1.17 BuildRequires: pkgconfig -%if 0%{?with_python} -BuildRequires: python-devel >= 2.7 -BuildRequires: python3-devel >= 3.4 -%endif BuildRequires: swig Requires(post): %{install_info_prereq} Requires(preun): %{install_info_prereq} BuildRoot: %{_tmppath}/%{name}-%{version}-build +%if 0%{?with_python} +BuildRequires: python-devel >= 2.7 +BuildRequires: python3-devel >= 3.4 +%endif %if 0%{with_qt} BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Test) @@ -184,8 +175,6 @@ This package contains the bindings to use the library in Qt C++ applications. %prep %setup -q -%patch1 -p1 -%patch2 -p1 %build build_timestamp=$(date -u +%{Y}-%{m}-%{dT}%{H}:%{M}+0000 -r %{SOURCE99}) diff --git a/remove-a-forgotten-instance-of-libsuffix.diff b/remove-a-forgotten-instance-of-libsuffix.diff deleted file mode 100644 index dad3b52..0000000 --- a/remove-a-forgotten-instance-of-libsuffix.diff +++ /dev/null @@ -1,33 +0,0 @@ -From 572c1aac107125ce62230251713349348373db5a Mon Sep 17 00:00:00 2001 -From: Heiko Becker -Date: Wed, 16 Nov 2016 23:09:45 +0100 -Subject: [PATCH] Remove a forgotten instance of @libsuffix@ - -* lang/cpp/src/GpgmeppConfig.cmake.in.in: Remove a forgotten -instance of @libsuffix@. --- - -b2c07bd47bd608afa5cc819b60a7b5bb8c9dd96a removed @libsuffix@ from -cmake config files, but missed one instance. - -Signed-off-by: Heiko Becker ---- - lang/cpp/src/GpgmeppConfig.cmake.in.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lang/cpp/src/GpgmeppConfig.cmake.in.in b/lang/cpp/src/GpgmeppConfig.cmake.in.in -index 928d19f..cbe9713 100644 ---- a/lang/cpp/src/GpgmeppConfig.cmake.in.in -+++ b/lang/cpp/src/GpgmeppConfig.cmake.in.in -@@ -63,7 +63,7 @@ add_library(Gpgmepp SHARED IMPORTED) - - set_target_properties(Gpgmepp PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "@resolved_includedir@/gpgme++;@resolved_includedir@" -- INTERFACE_LINK_LIBRARIES "pthread;@resolved_libdir@/libgpgme@libsuffix@;@LIBASSUAN_LIBS@" -+ INTERFACE_LINK_LIBRARIES "pthread;@resolved_libdir@/libgpgme.so;@LIBASSUAN_LIBS@" - IMPORTED_LOCATION "@resolved_libdir@/libgpgmepp.so" - ) - --- -2.8.0.rc3 -