Accepting request 436482 from Base:System

1

OBS-URL: https://build.opensuse.org/request/show/436482
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gpgme?expand=0&rev=63
This commit is contained in:
Dominique Leuenberger 2016-10-20 21:06:27 +00:00 committed by Git OBS Bridge
commit 34e6e61b10
10 changed files with 74 additions and 1484 deletions

View File

@ -1,3 +1,3 @@
libgpgme11 libgpgme11
libgpgmepp6 libgpgmepp6
libqgpgme6 libqgpgme7

File diff suppressed because it is too large Load Diff

View File

@ -1,68 +0,0 @@
From ae324b51ffa338b891387bff2657d60c1fd3ae40 Mon Sep 17 00:00:00 2001
From: Andreas Stieger <astieger@suse.com>
Date: Wed, 21 Sep 2016 14:28:23 +0200
Subject: [PATCH] cpp: Avoid missing returns in non-void functions
* lang/cpp/src/context.cpp
(Context::signaturePolicyURL): return nullptr on default
(to_tofu_policy_t): add default case for unknown
* lang/cpp/src/key.cpp
(Key::primaryFingerprint): return nullptr on default
* lang/cpp/src/tofuinfo.cpp
(GpgME::TofuInfo::policy): add default case for unknown
Signed-off-by: Andreas Stieger <astieger@suse.com>
Signed-off-by: Andre Heinecke <aheinecke@intevation.de>
---
lang/cpp/src/context.cpp | 2 ++
lang/cpp/src/key.cpp | 1 +
lang/cpp/src/tofuinfo.cpp | 1 +
3 files changed, 4 insertions(+)
diff --git a/lang/cpp/src/context.cpp b/lang/cpp/src/context.cpp
index 00f397b..43a73b1 100644
--- a/lang/cpp/src/context.cpp
+++ b/lang/cpp/src/context.cpp
@@ -1051,6 +1051,7 @@ const char *Context::signaturePolicyURL() const
return n->value;
}
}
+ return nullptr;
}
Notation Context::signatureNotation(unsigned int idx) const
@@ -1344,6 +1345,7 @@ static gpgme_tofu_policy_t to_tofu_policy_t(unsigned int policy)
case TofuInfo::PolicyAsk:
return GPGME_TOFU_POLICY_ASK;
case TofuInfo::PolicyUnknown:
+ default:
return GPGME_TOFU_POLICY_UNKNOWN;
}
}
diff --git a/lang/cpp/src/key.cpp b/lang/cpp/src/key.cpp
index cfa1ba3..a56f77c 100644
--- a/lang/cpp/src/key.cpp
+++ b/lang/cpp/src/key.cpp
@@ -273,6 +273,7 @@ const char *Key::primaryFingerprint() const
/* Return the first subkeys fingerprint */
return key->subkeys->fpr;
}
+ return nullptr;
}
unsigned int Key::keyListMode() const
diff --git a/lang/cpp/src/tofuinfo.cpp b/lang/cpp/src/tofuinfo.cpp
index bb67fc8..e661b3b 100644
--- a/lang/cpp/src/tofuinfo.cpp
+++ b/lang/cpp/src/tofuinfo.cpp
@@ -109,6 +109,7 @@ GpgME::TofuInfo::Policy GpgME::TofuInfo::policy() const
case GPGME_TOFU_POLICY_ASK:
return PolicyAsk;
case GPGME_TOFU_POLICY_UNKNOWN:
+ default:
return PolicyUnknown;
}
}
--
2.6.6

View File

@ -1,127 +0,0 @@
From 3703a4723899d7563937b4b99f5bbe4dd8d3dfed Mon Sep 17 00:00:00 2001
From: Justus Winter <justus@g10code.com>
Date: Mon, 26 Sep 2016 11:35:40 +0200
Subject: [PATCH] python: Include 'config.h'.
* lang/python/Makefile.am: Pass 'top_builddir' to 'setup.py'.
* lang/python/gpgme.i: Include 'config.h'.
* lang/python/helpers.c: Likewise.
* lang/python/helpers.h: Likewise.
* lang/python/setup.py.in: Make sure that 'config.h' can be found.
--
Fixes build on 32 bit platforms with large file support.
Signed-off-by: Justus Winter <justus@g10code.com>
---
lang/python/Makefile.am | 1 +
lang/python/gpgme.i | 8 ++++++++
lang/python/helpers.c | 4 ++++
lang/python/helpers.h | 4 ++++
lang/python/setup.py.in | 7 ++++++-
5 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am
index 2271ce0..1d7aee8 100644
--- a/lang/python/Makefile.am
+++ b/lang/python/Makefile.am
@@ -56,6 +56,7 @@ copystamp: $(COPY_FILES) $(COPY_FILES_PYME)
all-local: copystamp
for PYTHON in $(PYTHONS); do \
CFLAGS="$(CFLAGS) -I$(top_srcdir)" \
+ top_builddir="$(top_builddir)" \
$$PYTHON setup.py build --verbose ; \
done
diff --git a/lang/python/gpgme.i b/lang/python/gpgme.i
index 84addae..a4672e1 100644
--- a/lang/python/gpgme.i
+++ b/lang/python/gpgme.i
@@ -547,6 +547,10 @@
some structs, which we provide prior to including the version for
SWIG. */
%{
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include <gpgme.h>
%}
@@ -575,6 +579,10 @@ struct _gpgme_sig_notation
/* Now include our local modified version. Any structs defined above
are ignored. */
+#ifdef HAVE_CONFIG_H
+%include "config.h"
+#endif
+
%include "gpgme.h"
%include "errors.i"
diff --git a/lang/python/helpers.c b/lang/python/helpers.c
index f9aec91..3724752 100644
--- a/lang/python/helpers.c
+++ b/lang/python/helpers.c
@@ -18,6 +18,10 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include <assert.h>
#include <stdio.h>
#include <gpgme.h>
diff --git a/lang/python/helpers.h b/lang/python/helpers.h
index 9200f93..67d23b2 100644
--- a/lang/python/helpers.h
+++ b/lang/python/helpers.h
@@ -18,6 +18,10 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include <gpgme.h>
#include "Python.h"
diff --git a/lang/python/setup.py.in b/lang/python/setup.py.in
index 31892c1..7af2d48 100755
--- a/lang/python/setup.py.in
+++ b/lang/python/setup.py.in
@@ -28,6 +28,7 @@ gpg_error_config = ["gpg-error-config"]
gpgme_config_flags = ["--thread=pthread"]
gpgme_config = ["gpgme-config"] + gpgme_config_flags
gpgme_h = ""
+include_dirs = [os.getcwd()]
library_dirs = []
in_tree = False
extra_swig_opts = []
@@ -38,8 +39,13 @@ if os.path.exists("../../src/gpgme-config"):
in_tree = True
gpgme_config = ["../../src/gpgme-config"] + gpgme_config_flags
gpgme_h = "../../src/gpgme.h"
+ if 'top_builddir' in os.environ:
+ include_dirs.append(os.environ['top_builddir'])
+ # Make sure that SWIG finds config.h when processing gpgme.i.
+ extra_swig_opts.append("-I{0}".format(os.environ['top_builddir']))
library_dirs = ["../../src/.libs"] # XXX uses libtool internals
extra_macros.update(
+ HAVE_CONFIG_H=1,
HAVE_DATA_H=1,
IN_TREE_BUILD=1,
)
@@ -94,7 +100,6 @@ subprocess.check_call([sys.executable, "gpgme-h-clean.py", gpgme_h],
subprocess.check_call([sys.executable, "gpgme-h-clean.py", gpg_error_h],
stdout=open("errors.i", "w"))
-include_dirs = [os.getcwd()]
define_macros = []
libs = getconfig('libs')
--
2.10.0

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:71f55fed0f2b3eaf7a606e59772aa645ce3ffff322d361ce359951b3f755cc48
size 1281708

Binary file not shown.

3
gpgme-1.7.1.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d0abe1449395315eac37e4e45076bbb82732cedf94210937b37776e10cdc2bb6
size 1285809

BIN
gpgme-1.7.1.tar.bz2.sig Normal file

Binary file not shown.

View File

@ -1,3 +1,35 @@
-------------------------------------------------------------------
Thu Oct 20 06:40:43 UTC 2016 - jengelh@inai.de
- Trim and update descriptions
-------------------------------------------------------------------
Tue Oct 18 20:38:59 UTC 2016 - lbeltrame@kde.org
- New upstream release 1.7.1
* Fixed problems with the new language bindings.
* New helper function gpgme_addrspec_from_uid.
* Use option --exit-on-status-write-error with newer gpg versions.
* qt: Missed API from the Qt Binding inclusion has
been added again.
* qt: abstractimportjob.h is now installed to that
ImportJobs can be used again.
* qt: Fixed spelling error in API (startReceive).
* Interface changes relative to the 1.7.0 release:
gpgme_addrspec_from_uid NEW.
qt: WksPublishJob::startRecieve RENAMED to ::startReceive.
qt: MultiDeleteJob NEW.
qt: AbstractImportJob NEW.
qt: SpecialJob NEW.
cpp: Signature::key(bool, bool) NEW.
cpp: UserID::addrSpecFromString(const char*) NEW.
cpp: UserID::addrSpec() NEW.
- Drop conflict (handled on kdepimlibs4 side)
- Drop upstreamed patches:
* gpgme-1.7.0-nonvoid-returns.patch
* gpgme-1.7.0-cpp-qt-Include-config.h.patch
* gpgme-1.7.0-python-Include-config.h.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Oct 12 22:09:27 UTC 2016 - lbeltrame@kde.org Wed Oct 12 22:09:27 UTC 2016 - lbeltrame@kde.org

View File

@ -21,9 +21,9 @@
%define with_python3 0 %define with_python3 0
%define with_qt 1 %define with_qt 1
Name: gpgme Name: gpgme
Version: 1.7.0 Version: 1.7.1
Release: 0 Release: 0
Summary: A Library Designed to Give Applications Easy Access to GnuPG Summary: Programmatic library interface to GnuPG
License: LGPL-2.1+ and GPL-3.0+ License: LGPL-2.1+ and GPL-3.0+
Group: Productivity/Security Group: Productivity/Security
Url: http://www.gnupg.org/related_software/gpgme/ Url: http://www.gnupg.org/related_software/gpgme/
@ -33,9 +33,6 @@ Source2: baselibs.conf
Source3: gpgme.keyring Source3: gpgme.keyring
# used to have a fixed timestamp # used to have a fixed timestamp
Source99: %{name}.changes Source99: %{name}.changes
Patch0: gpgme-1.7.0-nonvoid-returns.patch
Patch1: gpgme-1.7.0-cpp-qt-Include-config.h.patch
Patch2: gpgme-1.7.0-python-Include-config.h.patch
# for gpgme-1.7.0-python-Include-config.h.patch # for gpgme-1.7.0-python-Include-config.h.patch
BuildRequires: automake >= 1.14 BuildRequires: automake >= 1.14
# #
@ -64,41 +61,23 @@ BuildRequires: pkgconfig(Qt5Test)
%description %description
GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG
easier for applications. It provides a high-level Crypto API for easier for applications. It provides a high-level crypto API for
encryption, decryption, signing, signature verification, and key encryption, decryption, signing, signature verification, and key
management. Currently it uses GnuPG as its back-end, but the API is not management. It uses GnuPG as its back-end.
restricted to this engine.
Because the direct use of GnuPG from an application can be a
complicated programming task, it is suggested that all software should
try to use GPGME instead. This way bug fixes or improvements can be
done at a central place and every application benefits from this.
Authors of MUAs should especially consider using GPGME. Creating a set
of standard widgets for common key selection tasks is even planned.
%package -n libgpgme11 %package -n libgpgme11
Summary: A Library Designed to give Applications easy Access to GnuPG Summary: Programmatic library interface to GnuPG
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: gpg2 Requires: gpg2
%description -n libgpgme11 %description -n libgpgme11
GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG
easier for applications. It provides a high-level Crypto API for easier for applications. It provides a high-level crypto API for
encryption, decryption, signing, signature verification, and key encryption, decryption, signing, signature verification, and key
management. Currently it uses GnuPG as its back-end, but the API is not management. It uses GnuPG as its back-end.
restricted to this engine.
Who Should use GPGME?
Because the direct use of GnuPG from an application can be a
complicated programming task, it is suggested that all software should
try to use GPGME instead. This way bug fixes or improvements can be
done at a central place and every application benefits from this.
Authors of MUAs should especially consider using GPGME. Creating a set
of standard widgets for common key selection tasks is even planned.
%package -n libgpgme-devel %package -n libgpgme-devel
Summary: A Library Designed to give Applications easy Access to GnuPG Summary: Development files for GPGME, a C library for accessing GnuPG
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: glibc-devel Requires: glibc-devel
Requires: libgpg-error-devel Requires: libgpg-error-devel
@ -109,170 +88,101 @@ Obsoletes: gpgme-devel < %{version}
%description -n libgpgme-devel %description -n libgpgme-devel
GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG
easier for applications. It provides a high-level Crypto API for easier for applications. It provides a high-level crypto API for
encryption, decryption, signing, signature verification, and key encryption, decryption, signing, signature verification, and key
management. Currently it uses GnuPG as its back-end, but the API is not management.
restricted to this engine.
Who Should use GPGME? This subpackage contains the headers needed for building applications
making use of libgpgme.
Because the direct use of GnuPG from an application can be a
complicated programming task, it is suggested that all software should
try to use GPGME instead. This way bug fixes or improvements can be
done at a central place and every application benefits from this.
Authors of MUAs should especially consider using GPGME. Creating a set
of standard widgets for common key selection tasks is even planned.
%if 0%{with_cpp} %if 0%{with_cpp}
%package -n libgpgmepp6 %package -n libgpgmepp6
Summary: A Library Designed to give C++ Applications easy Access to GnuPG Summary: Programmatic C++ library interface to GnuPG
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: gpg2 Requires: gpg2
%description -n libgpgmepp6 %description -n libgpgmepp6
GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG
easier for applications. It provides a high-level Crypto API for easier for applications. It provides a high-level crypto API for
encryption, decryption, signing, signature verification, and key encryption, decryption, signing, signature verification, and key
management. Currently it uses GnuPG as its back-end, but the API is not management.
restricted to this engine.
Who Should use GPGME?
Because the direct use of GnuPG from an application can be a
complicated programming task, it is suggested that all software should
try to use GPGME instead. This way bug fixes or improvements can be
done at a central place and every application benefits from this.
Authors of MUAs should especially consider using GPGME. Creating a set
of standard widgets for common key selection tasks is even planned.
This package contains the C++ bindings. This package contains the C++ bindings.
%package -n libgpgmepp-devel %package -n libgpgmepp-devel
Summary: A Library Designed to give C++ Applications easy Access to GnuPG Summary: Development files for libgpgmepp, a C++ library for accessing GnuPG
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: glibc-devel Requires: glibc-devel
Requires: libgpg-error-devel Requires: libgpg-error-devel
Requires: libgpgme-devel = %{version} Requires: libgpgme-devel = %{version}
Requires: libgpgmepp6 = %{version} Requires: libgpgmepp6 = %{version}
# GPGME++ originated from kdepimlibs, then became independent
# It's impossible to build kdepimlibs4 with GpGME++ 1.7: therefore, conflict.
Conflicts: kdepimlibs4-devel
%requires_ge libassuan-devel %requires_ge libassuan-devel
%description -n libgpgmepp-devel %description -n libgpgmepp-devel
GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG
easier for applications. It provides a high-level Crypto API for easier for applications. It provides a high-level crypto API for
encryption, decryption, signing, signature verification, and key encryption, decryption, signing, signature verification, and key
management. Currently it uses GnuPG as its back-end, but the API is not management.
restricted to this engine.
Who Should use GPGME? This subpackage contains the headers needed for building applications
making use of libgpgmepp.
Because the direct use of GnuPG from an application can be a
complicated programming task, it is suggested that all software should
try to use GPGME instead. This way bug fixes or improvements can be
done at a central place and every application benefits from this.
Authors of MUAs should especially consider using GPGME. Creating a set
of standard widgets for common key selection tasks is even planned.
This package contains the bindings to use the library in C++ applications.
%endif # with_cpp %endif # with_cpp
%if 0%{with_python2} %if 0%{with_python2}
%package -n python-pyme %package -n python-pyme
Summary: Access GnuPG from Python 2 made easy Summary: Python 2 bindings for GPGME, a library for accessing GnuPG
Group: Development/Libraries/Python Group: Development/Libraries/Python
%description -n python-pyme %description -n python-pyme
GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG
easier for applications. It provides a high-level Crypto API for easier for applications. It provides a high-level crypto API for
encryption, decryption, signing, signature verification, and key encryption, decryption, signing, signature verification, and key
management. Currently it uses GnuPG as its back-end, but the API is not management.
restricted to this engine.
Who Should use GPGME?
Because the direct use of GnuPG from an application can be a
complicated programming task, it is suggested that all software should
try to use GPGME instead. This way bug fixes or improvements can be
done at a central place and every application benefits from this.
Authors of MUAs should especially consider using GPGME. Creating a set
of standard widgets for common key selection tasks is even planned.
This package contains the bindings to use the library from Python 2 applications. This package contains the bindings to use the library from Python 2 applications.
%endif # with_python2 %endif # with_python2
%if 0%{with_python3} %if 0%{with_python3}
%package -n python3-pyme %package -n python3-pyme
Summary: Access GnuPG from Python 3 made easy Summary: Python 3 bindings for GPGME, a library for accessing GnuPG
Group: Development/Libraries/Python Group: Development/Libraries/Python
%description -n python3-pyme %description -n python3-pyme
GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG
easier for applications. It provides a high-level Crypto API for easier for applications. It provides a high-level crypto API for
encryption, decryption, signing, signature verification, and key encryption, decryption, signing, signature verification, and key
management. Currently it uses GnuPG as its back-end, but the API is not management.
restricted to this engine.
Who Should use GPGME?
Because the direct use of GnuPG from an application can be a
complicated programming task, it is suggested that all software should
try to use GPGME instead. This way bug fixes or improvements can be
done at a central place and every application benefits from this.
Authors of MUAs should especially consider using GPGME. Creating a set
of standard widgets for common key selection tasks is even planned.
This package contains the bindings to use the library from Python 3 applications. This package contains the bindings to use the library from Python 3 applications.
%endif # with_python3 %endif # with_python3
%if 0%{with_qt} %if 0%{with_qt}
%package -n libqgpgme6 %package -n libqgpgme7
Summary: A Library Designed to give Qt Applications easy Access to GnuPG Summary: Programmatic Qt library interface to GnuPG
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: gpg2 Requires: gpg2
%description -n libqgpgme6 %description -n libqgpgme7
GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG
easier for applications. It provides a high-level Crypto API for easier for applications. It provides a high-level crypto API for
encryption, decryption, signing, signature verification, and key encryption, decryption, signing, signature verification, and key
management. Currently it uses GnuPG as its back-end, but the API is not management.
restricted to this engine.
Who Should use GPGME?
Because the direct use of GnuPG from an application can be a
complicated programming task, it is suggested that all software should
try to use GPGME instead. This way bug fixes or improvements can be
done at a central place and every application benefits from this.
Authors of MUAs should especially consider using GPGME. Creating a set
of standard widgets for common key selection tasks is even planned.
This package contains the Qt bindings. This package contains the Qt bindings.
%package -n libqgpgme-devel %package -n libqgpgme-devel
Summary: A Library Designed to give C++ Qt Applications easy Access to GnuPG Summary: Development files for libqgpgme, a Qt library for accessing GnuPG
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: libgpgme-devel = %{version} Requires: libgpgme-devel = %{version}
Requires: libgpgmepp-devel = %{version} Requires: libgpgmepp-devel = %{version}
Requires: libqgpgme6 = %{version} Requires: libqgpgme7 = %{version}
%description -n libqgpgme-devel %description -n libqgpgme-devel
GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG
easier for applications. It provides a high-level Crypto API for easier for applications. It provides a high-level crypto API for
encryption, decryption, signing, signature verification, and key encryption, decryption, signing, signature verification, and key
management. Currently it uses GnuPG as its back-end, but the API is not management.
restricted to this engine.
Who Should use GPGME?
Because the direct use of GnuPG from an application can be a
complicated programming task, it is suggested that all software should
try to use GPGME instead. This way bug fixes or improvements can be
done at a central place and every application benefits from this.
Authors of MUAs should especially consider using GPGME. Creating a set
of standard widgets for common key selection tasks is even planned.
This package contains the bindings to use the library in Qt C++ applications. This package contains the bindings to use the library in Qt C++ applications.
@ -280,9 +190,6 @@ This package contains the bindings to use the library in Qt C++ applications.
%prep %prep
%setup -q %setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%build %build
# for gpgme-1.7.0-python-Include-config.h.patch # for gpgme-1.7.0-python-Include-config.h.patch
@ -340,8 +247,8 @@ make %{?_smp_mflags} check
%endif # with_cpp %endif # with_cpp
%if 0%{with_qt} %if 0%{with_qt}
%post -n libqgpgme6 -p /sbin/ldconfig %post -n libqgpgme7 -p /sbin/ldconfig
%postun -n libqgpgme6 -p /sbin/ldconfig %postun -n libqgpgme7 -p /sbin/ldconfig
%endif # with_qt %endif # with_qt
%post %post
@ -401,7 +308,7 @@ make %{?_smp_mflags} check
%endif # with_python3 %endif # with_python3
%if 0%{with_qt} %if 0%{with_qt}
%files -n libqgpgme6 %files -n libqgpgme7
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libqgpgme.so.* %{_libdir}/libqgpgme.so.*