import gpgme-1.10.0-6.el8
This commit is contained in:
commit
69b70e40e9
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
SOURCES/gpgme-1.10.0.tar.bz2
|
1
.gpgme.metadata
Normal file
1
.gpgme.metadata
Normal file
@ -0,0 +1 @@
|
||||
77d3390887da25ed70b7ac04392360efbdca501f SOURCES/gpgme-1.10.0.tar.bz2
|
47
SOURCES/0001-core-Tweak-STATUS_FAILURE-handling.patch
Normal file
47
SOURCES/0001-core-Tweak-STATUS_FAILURE-handling.patch
Normal file
@ -0,0 +1,47 @@
|
||||
From b99502274ae5efdf6df0d967900ec3d1e64373d7 Mon Sep 17 00:00:00 2001
|
||||
From: Werner Koch <wk@gnupg.org>
|
||||
Date: Thu, 12 Apr 2018 20:36:30 +0200
|
||||
Subject: [PATCH] core: Tweak STATUS_FAILURE handling.
|
||||
|
||||
* src/op-support.c (_gpgme_parse_failure): Ignore failures with
|
||||
location "gpg-exit".
|
||||
* tests/gpg/t-verify.c (main): Adjust for the now working checking of
|
||||
the second key.
|
||||
|
||||
Signed-off-by: Werner Koch <wk@gnupg.org>
|
||||
---
|
||||
src/op-support.c | 10 +++++++++-
|
||||
tests/gpg/t-verify.c | 8 +++++---
|
||||
2 files changed, 14 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/op-support.c b/src/op-support.c
|
||||
index 43cb1c76..e55875f9 100644
|
||||
--- a/src/op-support.c
|
||||
+++ b/src/op-support.c
|
||||
@@ -400,7 +400,13 @@ _gpgme_parse_plaintext (char *args, char **filenamep)
|
||||
|
||||
|
||||
/* Parse a FAILURE status line and return the error code. ARGS is
|
||||
- modified to contain the location part. */
|
||||
+ * modified to contain the location part. Note that for now we ignore
|
||||
+ * failure codes with a location of gpg-exit; they are too trouble
|
||||
+ * some. Instead we should eventually record that error in the
|
||||
+ * context and provide a function to return a fuller error
|
||||
+ * description; this could then also show the location of the error
|
||||
+ * (e.g. "option- parser") to make it easier for the user to detect
|
||||
+ * the actual error. */
|
||||
gpgme_error_t
|
||||
_gpgme_parse_failure (char *args)
|
||||
{
|
||||
@@ -418,6 +424,8 @@ _gpgme_parse_failure (char *args)
|
||||
*where = '\0';
|
||||
|
||||
where = args;
|
||||
+ if (!strcmp (where, "gpg-exit"))
|
||||
+ return 0;
|
||||
|
||||
return atoi (which);
|
||||
}
|
||||
--
|
||||
2.14.3
|
||||
|
47
SOURCES/0001-don-t-add-extra-libraries-for-linking.patch
Normal file
47
SOURCES/0001-don-t-add-extra-libraries-for-linking.patch
Normal file
@ -0,0 +1,47 @@
|
||||
From 07a8ac908cbadb22c344895ebf9cc00c6a8fd3f7 Mon Sep 17 00:00:00 2001
|
||||
From: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
|
||||
Date: Wed, 29 Mar 2017 07:05:41 +0200
|
||||
Subject: [PATCH] don't add extra libraries for linking
|
||||
|
||||
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
|
||||
---
|
||||
lang/cpp/src/GpgmeppConfig.cmake.in.in | 2 +-
|
||||
src/gpgme-config.in | 6 +++---
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/lang/cpp/src/GpgmeppConfig.cmake.in.in b/lang/cpp/src/GpgmeppConfig.cmake.in.in
|
||||
index 73f5eaad..3104d715 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@libsuffix@"
|
||||
IMPORTED_LOCATION "@resolved_libdir@/libgpgmepp@libsuffix@"
|
||||
)
|
||||
|
||||
diff --git a/src/gpgme-config.in b/src/gpgme-config.in
|
||||
index a4d152e1..6a854e4a 100644
|
||||
--- a/src/gpgme-config.in
|
||||
+++ b/src/gpgme-config.in
|
||||
@@ -22,12 +22,12 @@ cflags="-I@includedir@"
|
||||
libs="-L@libdir@"
|
||||
|
||||
# Network libraries.
|
||||
-assuan_cflags="@LIBASSUAN_CFLAGS@"
|
||||
-assuan_libs="@LIBASSUAN_LIBS@"
|
||||
+#assuan_cflags="@LIBASSUAN_CFLAGS@"
|
||||
+#assuan_libs="@LIBASSUAN_LIBS@"
|
||||
|
||||
# Configure libgpg-error.
|
||||
gpg_error_cflags="@GPG_ERROR_CFLAGS@"
|
||||
-gpg_error_libs="@GPG_ERROR_LIBS@"
|
||||
+#gpg_error_libs="@GPG_ERROR_LIBS@"
|
||||
|
||||
# Configure thread packages.
|
||||
thread_modules=""
|
||||
--
|
||||
2.15.1
|
||||
|
27
SOURCES/0001-fix-stupid-ax_python_devel.patch
Normal file
27
SOURCES/0001-fix-stupid-ax_python_devel.patch
Normal file
@ -0,0 +1,27 @@
|
||||
From b0eabea4b1232ee7f45d13b8add928d463f37444 Mon Sep 17 00:00:00 2001
|
||||
From: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
|
||||
Date: Wed, 29 Mar 2017 07:13:35 +0200
|
||||
Subject: [PATCH] fix stupid ax_python_devel
|
||||
|
||||
References: https://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=commit;h=883a2abd5af5c96be894d5ef7ee6e9a2b8e64307
|
||||
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
|
||||
---
|
||||
m4/ax_python_devel.m4 | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4
|
||||
index b990d5b3..318b089c 100644
|
||||
--- a/m4/ax_python_devel.m4
|
||||
+++ b/m4/ax_python_devel.m4
|
||||
@@ -137,7 +137,7 @@ variable to configure. See ``configure --help'' for reference.
|
||||
#
|
||||
AC_MSG_CHECKING([for the distutils Python package])
|
||||
ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
|
||||
- if test -z "$ac_distutils_result"; then
|
||||
+ if test $? -eq 0; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
--
|
||||
2.12.1
|
||||
|
901
SOURCES/gpgme-1.10.0-fix-resource-leaks.patch
Normal file
901
SOURCES/gpgme-1.10.0-fix-resource-leaks.patch
Normal file
@ -0,0 +1,901 @@
|
||||
diff -Naur a/lang/cpp/src/context.cpp b/lang/cpp/src/context.cpp
|
||||
--- a/lang/cpp/src/context.cpp 2018-11-12 13:57:39.922527452 +0100
|
||||
+++ b/lang/cpp/src/context.cpp 2018-11-14 13:22:37.402101541 +0100
|
||||
@@ -222,6 +222,7 @@
|
||||
}
|
||||
break;
|
||||
default:
|
||||
+ gpgme_release(ctx);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -267,6 +268,7 @@
|
||||
}
|
||||
break;
|
||||
default:
|
||||
+ gpgme_release(ctx);
|
||||
if (error) {
|
||||
*error = Error::fromCode(GPG_ERR_INV_ARG);
|
||||
}
|
||||
diff -Naur a/lang/cpp/src/data.cpp b/lang/cpp/src/data.cpp
|
||||
--- a/lang/cpp/src/data.cpp 2018-11-12 13:57:39.925527381 +0100
|
||||
+++ b/lang/cpp/src/data.cpp 2018-11-14 13:29:09.167961419 +0100
|
||||
@@ -244,6 +244,7 @@
|
||||
}
|
||||
|
||||
if (gpgme_op_keylist_from_data_start (ctx->impl()->ctx, d->data, 0)) {
|
||||
+ delete ctx;
|
||||
return ret;
|
||||
}
|
||||
|
||||
diff -Naur a/lang/python/gpgme.i b/lang/python/gpgme.i
|
||||
--- a/lang/python/gpgme.i 2018-11-12 13:57:39.842529333 +0100
|
||||
+++ b/lang/python/gpgme.i 2018-11-14 13:04:00.404376027 +0100
|
||||
@@ -43,7 +43,7 @@
|
||||
{
|
||||
encodedInput = PyUnicode_AsUTF8String($input);
|
||||
if (encodedInput == NULL)
|
||||
- return NULL;
|
||||
+ SWIG_fail;
|
||||
$1 = PyBytes_AsString(encodedInput);
|
||||
}
|
||||
else if (PyBytes_Check($input))
|
||||
@@ -52,22 +52,25 @@
|
||||
PyErr_Format(PyExc_TypeError,
|
||||
"arg %d: expected str, bytes, or None, got %s",
|
||||
$argnum, $input->ob_type->tp_name);
|
||||
- return NULL;
|
||||
+ SWIG_fail;
|
||||
}
|
||||
}
|
||||
%typemap(freearg) const char * {
|
||||
Py_XDECREF(encodedInput$argnum);
|
||||
}
|
||||
|
||||
+%typemap(arginit) const char *[] {
|
||||
+ $1 = NULL;
|
||||
+}
|
||||
+
|
||||
/* Likewise for a list of strings. */
|
||||
-%typemap(in) const char *[] (void *vector = NULL,
|
||||
- size_t size,
|
||||
+%typemap(in) const char *[] (size_t size,
|
||||
PyObject **pyVector = NULL) {
|
||||
/* Check if is a list */
|
||||
if (PyList_Check($input)) {
|
||||
size_t i, j;
|
||||
size = PyList_Size($input);
|
||||
- $1 = (char **) (vector = malloc((size+1) * sizeof(char *)));
|
||||
+ $1 = (char **) malloc((size+1) * sizeof(char *));
|
||||
pyVector = calloc(sizeof *pyVector, size);
|
||||
|
||||
for (i = 0; i < size; i++) {
|
||||
@@ -76,12 +79,7 @@
|
||||
{
|
||||
pyVector[i] = PyUnicode_AsUTF8String(o);
|
||||
if (pyVector[i] == NULL)
|
||||
- {
|
||||
- free(vector);
|
||||
- for (j = 0; j < i; j++)
|
||||
- Py_XDECREF(pyVector[j]);
|
||||
- return NULL;
|
||||
- }
|
||||
+ SWIG_fail;
|
||||
$1[i] = PyBytes_AsString(pyVector[i]);
|
||||
}
|
||||
else if (PyString_Check(o))
|
||||
@@ -91,8 +89,7 @@
|
||||
"arg %d: list must contain only str or bytes, got %s "
|
||||
"at position %d",
|
||||
$argnum, o->ob_type->tp_name, i);
|
||||
- free($1);
|
||||
- return NULL;
|
||||
+ SWIG_fail;
|
||||
}
|
||||
}
|
||||
$1[i] = NULL;
|
||||
@@ -100,14 +97,17 @@
|
||||
PyErr_Format(PyExc_TypeError,
|
||||
"arg %d: expected a list of str or bytes, got %s",
|
||||
$argnum, $input->ob_type->tp_name);
|
||||
- return NULL;
|
||||
+ SWIG_fail;
|
||||
}
|
||||
}
|
||||
%typemap(freearg) const char *[] {
|
||||
- size_t i;
|
||||
- free(vector$argnum);
|
||||
- for (i = 0; i < size$argnum; i++)
|
||||
- Py_XDECREF(pyVector$argnum[i]);
|
||||
+ if (pyVector$argnum) {
|
||||
+ size_t i;
|
||||
+ for (i = 0; i < size$argnum; i++)
|
||||
+ Py_XDECREF(pyVector$argnum[i]);
|
||||
+ free(pyVector$argnum);
|
||||
+ }
|
||||
+ if ($1) free($1);
|
||||
}
|
||||
|
||||
/* Release returned buffers as necessary. */
|
||||
@@ -125,7 +125,7 @@
|
||||
if (!PySequence_Check($input)) {
|
||||
PyErr_Format(PyExc_ValueError, "arg %d: Expected a list of gpgme_key_t",
|
||||
$argnum);
|
||||
- return NULL;
|
||||
+ SWIG_fail;
|
||||
}
|
||||
if((numb = PySequence_Length($input)) != 0) {
|
||||
$1 = (gpgme_key_t*)malloc((numb+1)*sizeof(gpgme_key_t));
|
||||
@@ -142,8 +142,7 @@
|
||||
"arg %d: list must contain only gpgme_key_ts, got %s "
|
||||
"at position %d",
|
||||
$argnum, pypointer->ob_type->tp_name, i);
|
||||
- free($1);
|
||||
- return NULL;
|
||||
+ SWIG_fail;
|
||||
}
|
||||
Py_DECREF(pypointer);
|
||||
}
|
||||
@@ -169,7 +168,7 @@
|
||||
pypointer = _gpg_obj2gpgme_data_t($input, $argnum, &wrapper,
|
||||
&bytesio, &view);
|
||||
if (pypointer == NULL)
|
||||
- return NULL;
|
||||
+ SWIG_fail;
|
||||
have_view = !! view.obj;
|
||||
|
||||
/* input = $input, 1 = $1, 1_descriptor = $1_descriptor */
|
||||
@@ -179,7 +178,7 @@
|
||||
if ((SWIG_ConvertPtr(pypointer,(void **) &$1, $1_descriptor,
|
||||
SWIG_POINTER_EXCEPTION | $disown )) == -1) {
|
||||
Py_DECREF(pypointer);
|
||||
- return NULL;
|
||||
+ SWIG_fail;
|
||||
}
|
||||
Py_DECREF(pypointer);
|
||||
}
|
||||
@@ -336,6 +335,11 @@
|
||||
PyErr_SetString(PyExc_TypeError, "Numeric argument expected");
|
||||
}
|
||||
|
||||
+%typemap(arginit) (void *buffer, size_t size), (char *buf, size_t buflen) {
|
||||
+ $1 = NULL;
|
||||
+ $2 = 0;
|
||||
+}
|
||||
+
|
||||
/* Those are for gpgme_data_read() and gpgme_strerror_r(). */
|
||||
%typemap(in) (void *buffer, size_t size), (char *buf, size_t buflen) {
|
||||
{
|
||||
@@ -349,12 +353,12 @@
|
||||
else
|
||||
{
|
||||
PyErr_SetString(PyExc_TypeError, "Numeric argument expected");
|
||||
- return NULL;
|
||||
+ SWIG_fail;
|
||||
}
|
||||
|
||||
if (tmp$argnum < 0) {
|
||||
PyErr_SetString(PyExc_ValueError, "Positive integer expected");
|
||||
- return NULL;
|
||||
+ SWIG_fail;
|
||||
}
|
||||
$2 = (size_t) tmp$argnum;
|
||||
$1 = ($1_ltype) malloc($2+1);
|
||||
@@ -363,11 +367,11 @@
|
||||
%typemap(argout) (void *buffer, size_t size), (char *buf, size_t buflen) {
|
||||
Py_XDECREF($result); /* Blow away any previous result */
|
||||
if (result < 0) { /* Check for I/O error */
|
||||
- free($1);
|
||||
+ if ($1) free($1);
|
||||
return PyErr_SetFromErrno(PyExc_RuntimeError);
|
||||
}
|
||||
$result = PyBytes_FromStringAndSize($1,result);
|
||||
- free($1);
|
||||
+ if ($1) free($1);
|
||||
}
|
||||
|
||||
/* For gpgme_data_write, but should be universal. */
|
||||
@@ -380,11 +384,11 @@
|
||||
{
|
||||
encodedInput = PyUnicode_AsUTF8String($input);
|
||||
if (encodedInput == NULL)
|
||||
- return NULL;
|
||||
+ SWIG_fail;
|
||||
if (PyBytes_AsStringAndSize(encodedInput, (char **) &$1, &ssize) == -1)
|
||||
{
|
||||
Py_DECREF(encodedInput);
|
||||
- return NULL;
|
||||
+ SWIG_fail;
|
||||
}
|
||||
}
|
||||
else if (PyBytes_Check($input))
|
||||
@@ -393,7 +397,7 @@
|
||||
PyErr_Format(PyExc_TypeError,
|
||||
"arg %d: expected str, bytes, or None, got %s",
|
||||
$argnum, $input->ob_type->tp_name);
|
||||
- return NULL;
|
||||
+ SWIG_fail;
|
||||
}
|
||||
|
||||
if (! $1)
|
||||
@@ -422,8 +426,17 @@
|
||||
size++;
|
||||
}
|
||||
$result = PyList_New(size);
|
||||
+ if ($result == NULL)
|
||||
+ SWIG_fail;
|
||||
for (i=0,curr=$1; i<size; i++,curr=curr->next) {
|
||||
PyObject *o = SWIG_NewPointerObj(SWIG_as_voidptr(curr), $1_descriptor, %newpointer_flags);
|
||||
+ if (o == NULL) {
|
||||
+ int j;
|
||||
+ for (j = 0; j < i; j++)
|
||||
+ Py_XDECREF(PyList_GetItem($result, j));
|
||||
+ Py_DECREF($result);
|
||||
+ SWIG_fail;
|
||||
+ }
|
||||
PyList_SetItem($result, i, o);
|
||||
}
|
||||
}
|
||||
@@ -436,6 +449,8 @@
|
||||
PyObject *fragile;
|
||||
fragile = SWIG_NewPointerObj(SWIG_as_voidptr($1), $1_descriptor,
|
||||
%newpointer_flags);
|
||||
+ if (fragile == NULL)
|
||||
+ SWIG_fail;
|
||||
$result = _gpg_wrap_result(fragile, name);
|
||||
Py_DECREF(fragile);
|
||||
}
|
||||
@@ -459,22 +474,28 @@
|
||||
}
|
||||
$result = PyList_New(size);
|
||||
if ($result == NULL)
|
||||
- return NULL; /* raise */
|
||||
+ SWIG_fail; /* raise */
|
||||
for (i=0,curr=$1; i<size; i++,curr=curr->next) {
|
||||
PyObject *fragile, *o;
|
||||
fragile = SWIG_NewPointerObj(SWIG_as_voidptr(curr), $1_descriptor,
|
||||
%newpointer_flags);
|
||||
if (fragile == NULL)
|
||||
{
|
||||
+ int j;
|
||||
+ for (j = 0; j < i; j++)
|
||||
+ Py_XDECREF(PyList_GetItem($result, j));
|
||||
Py_DECREF($result);
|
||||
- return NULL; /* raise */
|
||||
+ SWIG_fail; /* raise */
|
||||
}
|
||||
o = _gpg_wrap_result(fragile, "EngineInfo");
|
||||
Py_DECREF(fragile);
|
||||
if (o == NULL)
|
||||
{
|
||||
+ int j;
|
||||
+ for (j = 0; j < i; j++)
|
||||
+ Py_XDECREF(PyList_GetItem($result, j));
|
||||
Py_DECREF($result);
|
||||
- return NULL; /* raise */
|
||||
+ SWIG_fail; /* raise */
|
||||
}
|
||||
PyList_SetItem($result, i, o);
|
||||
}
|
||||
diff -Naur a/lang/qt/tests/t-various.cpp b/lang/qt/tests/t-various.cpp
|
||||
--- a/lang/qt/tests/t-various.cpp 2018-11-12 13:57:39.907527804 +0100
|
||||
+++ b/lang/qt/tests/t-various.cpp 2018-11-14 15:22:25.475304073 +0100
|
||||
@@ -34,6 +34,7 @@
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
+#include <QScopedPointer>
|
||||
#include <QDebug>
|
||||
#include <QTest>
|
||||
#include <QSignalSpy>
|
||||
@@ -103,27 +104,30 @@
|
||||
if (GpgME::engineInfo(GpgME::GpgEngine).engineVersion() < "2.1.13") {
|
||||
return;
|
||||
}
|
||||
- KeyListJob *job = openpgp()->keyListJob(false, true, true);
|
||||
std::vector<GpgME::Key> keys;
|
||||
- GpgME::KeyListResult result = job->exec(QStringList() << QStringLiteral("alfa@example.net"),
|
||||
- false, keys);
|
||||
- delete job;
|
||||
- QVERIFY (!result.error());
|
||||
- QVERIFY (keys.size() == 1);
|
||||
+ {
|
||||
+ QScopedPointer<KeyListJob> job(openpgp()->keyListJob(false, true, true));
|
||||
+ QVERIFY(!job.isNull());
|
||||
+ GpgME::KeyListResult result = job->exec(QStringList() << QStringLiteral("alfa@example.net"),
|
||||
+ false, keys);
|
||||
+ QVERIFY (!result.error());
|
||||
+ QVERIFY (keys.size() == 1);
|
||||
+ }
|
||||
Key key = keys.front();
|
||||
|
||||
QVERIFY (key.numUserIDs() == 3);
|
||||
const char uid[] = "Foo Bar (with comment) <foo@bar.baz>";
|
||||
|
||||
- auto ctx = Context::createForProtocol(key.protocol());
|
||||
- QVERIFY (ctx);
|
||||
- TestPassphraseProvider provider;
|
||||
- ctx->setPassphraseProvider(&provider);
|
||||
- ctx->setPinentryMode(Context::PinentryLoopback);
|
||||
-
|
||||
- QVERIFY(!ctx->addUid(key, uid));
|
||||
- delete ctx;
|
||||
- key.update();
|
||||
+ {
|
||||
+ QScopedPointer<Context> ctx(Context::createForProtocol(key.protocol()));
|
||||
+ QVERIFY (!ctx.isNull());
|
||||
+ TestPassphraseProvider provider;
|
||||
+ ctx->setPassphraseProvider(&provider);
|
||||
+ ctx->setPinentryMode(Context::PinentryLoopback);
|
||||
+
|
||||
+ QVERIFY(!ctx->addUid(key, uid));
|
||||
+ key.update();
|
||||
+ }
|
||||
|
||||
QVERIFY (key.numUserIDs() == 4);
|
||||
bool id_found = false;;
|
||||
@@ -136,10 +140,12 @@
|
||||
}
|
||||
QVERIFY (id_found);
|
||||
|
||||
- ctx = Context::createForProtocol(key.protocol());
|
||||
- QVERIFY (!ctx->revUid(key, uid));
|
||||
- delete ctx;
|
||||
- key.update();
|
||||
+ {
|
||||
+ QScopedPointer<Context> ctx(Context::createForProtocol(key.protocol()));
|
||||
+ QVERIFY (!ctx.isNull());
|
||||
+ QVERIFY (!ctx->revUid(key, uid));
|
||||
+ key.update();
|
||||
+ }
|
||||
|
||||
bool id_revoked = false;;
|
||||
for (const auto &u: key.userIDs()) {
|
||||
diff -Naur a/src/engine.c b/src/engine.c
|
||||
--- a/src/engine.c 2018-11-12 13:57:40.081523713 +0100
|
||||
+++ b/src/engine.c 2018-11-15 15:14:49.518729792 +0100
|
||||
@@ -459,7 +459,9 @@
|
||||
if (!new_version)
|
||||
{
|
||||
free (new_file_name);
|
||||
- free (new_home_dir);
|
||||
+ if (new_home_dir)
|
||||
+ free (new_home_dir);
|
||||
+ return gpg_error_from_syserror ();
|
||||
}
|
||||
}
|
||||
|
||||
diff -Naur a/src/engine-gpg.c b/src/engine-gpg.c
|
||||
--- a/src/engine-gpg.c 2018-11-12 13:57:40.083523666 +0100
|
||||
+++ b/src/engine-gpg.c 2018-11-15 14:55:35.374077739 +0100
|
||||
@@ -968,7 +968,7 @@
|
||||
== -1)
|
||||
{
|
||||
int saved_errno = errno;
|
||||
- free (fd_data_map);
|
||||
+ free_fd_data_map (fd_data_map);
|
||||
free_argv (argv);
|
||||
return gpg_error (saved_errno);
|
||||
}
|
||||
@@ -978,10 +978,10 @@
|
||||
close_notify_handler,
|
||||
gpg))
|
||||
{
|
||||
- /* We leak fd_data_map and the fds. This is not easy
|
||||
- to avoid and given that we reach this here only
|
||||
- after a malloc failure for a small object, it is
|
||||
- probably better not to do anything. */
|
||||
+ close (fds[0]);
|
||||
+ close (fds[1]);
|
||||
+ free_fd_data_map (fd_data_map);
|
||||
+ free_argv (argv);
|
||||
return gpg_error (GPG_ERR_GENERAL);
|
||||
}
|
||||
/* If the data_type is FD, we have to do a dup2 here. */
|
||||
@@ -1024,7 +1024,7 @@
|
||||
if (!argv[argc])
|
||||
{
|
||||
int saved_err = gpg_error_from_syserror ();
|
||||
- free (fd_data_map);
|
||||
+ free_fd_data_map (fd_data_map);
|
||||
free_argv (argv);
|
||||
return saved_err;
|
||||
}
|
||||
@@ -1049,7 +1049,7 @@
|
||||
if (!argv[argc])
|
||||
{
|
||||
int saved_err = gpg_error_from_syserror ();
|
||||
- free (fd_data_map);
|
||||
+ free_fd_data_map (fd_data_map);
|
||||
free_argv (argv);
|
||||
return saved_err;
|
||||
}
|
||||
@@ -1104,6 +1104,9 @@
|
||||
buffer = realloc (buffer, bufsize);
|
||||
if (!buffer)
|
||||
return gpg_error_from_syserror ();
|
||||
+ /* Update buffer and bufsize here to prevent memory leaks. */
|
||||
+ gpg->status.buffer = buffer;
|
||||
+ gpg->status.bufsize = bufsize;
|
||||
}
|
||||
|
||||
nread = _gpgme_io_read (gpg->status.fd[0],
|
||||
@@ -1254,8 +1257,6 @@
|
||||
}
|
||||
|
||||
/* Update the gpg object. */
|
||||
- gpg->status.bufsize = bufsize;
|
||||
- gpg->status.buffer = buffer;
|
||||
gpg->status.readpos = readpos;
|
||||
return 0;
|
||||
}
|
||||
@@ -1295,6 +1296,9 @@
|
||||
buffer = realloc (buffer, bufsize);
|
||||
if (!buffer)
|
||||
return gpg_error_from_syserror ();
|
||||
+ /* Prevent memory leaks. */
|
||||
+ gpg->colon.buffer = buffer;
|
||||
+ gpg->colon.bufsize = bufsize;
|
||||
}
|
||||
|
||||
nread = _gpgme_io_read (gpg->colon.fd[0], buffer+readpos, bufsize-readpos);
|
||||
@@ -1374,8 +1378,6 @@
|
||||
}
|
||||
|
||||
/* Update the gpg object. */
|
||||
- gpg->colon.bufsize = bufsize;
|
||||
- gpg->colon.buffer = buffer;
|
||||
gpg->colon.readpos = readpos;
|
||||
return 0;
|
||||
}
|
||||
diff -Naur a/src/engine-gpgsm.c b/src/engine-gpgsm.c
|
||||
--- a/src/engine-gpgsm.c 2018-11-12 13:57:40.083523666 +0100
|
||||
+++ b/src/engine-gpgsm.c 2018-11-15 15:03:09.798301245 +0100
|
||||
@@ -1366,8 +1366,10 @@
|
||||
gpgsm->output_cb.data = keydata;
|
||||
err = gpgsm_set_fd (gpgsm, OUTPUT_FD, use_armor ? "--armor"
|
||||
: map_data_enc (gpgsm->output_cb.data));
|
||||
- if (err)
|
||||
+ if (err) {
|
||||
+ free (cmd);
|
||||
return err;
|
||||
+ }
|
||||
gpgsm_clear_fd (gpgsm, INPUT_FD);
|
||||
gpgsm_clear_fd (gpgsm, MESSAGE_FD);
|
||||
gpgsm->inline_data = NULL;
|
||||
@@ -1467,8 +1469,10 @@
|
||||
gpgsm->output_cb.data = keydata;
|
||||
err = gpgsm_set_fd (gpgsm, OUTPUT_FD, use_armor ? "--armor"
|
||||
: map_data_enc (gpgsm->output_cb.data));
|
||||
- if (err)
|
||||
+ if (err) {
|
||||
+ free (line);
|
||||
return err;
|
||||
+ }
|
||||
gpgsm_clear_fd (gpgsm, INPUT_FD);
|
||||
gpgsm_clear_fd (gpgsm, MESSAGE_FD);
|
||||
gpgsm->inline_data = NULL;
|
||||
diff -Naur a/src/gpgme-tool.c b/src/gpgme-tool.c
|
||||
--- a/src/gpgme-tool.c 2018-11-12 13:57:40.084523642 +0100
|
||||
+++ b/src/gpgme-tool.c 2018-11-15 22:02:04.913188338 +0100
|
||||
@@ -2330,8 +2330,8 @@
|
||||
char *inp_fn;
|
||||
assuan_fd_t out_fd;
|
||||
char *out_fn;
|
||||
- gpgme_data_t inp_data;
|
||||
- gpgme_data_t out_data;
|
||||
+ gpgme_data_t inp_data = NULL;
|
||||
+ gpgme_data_t out_data = NULL;
|
||||
|
||||
(void)line;
|
||||
|
||||
@@ -2346,13 +2346,18 @@
|
||||
|
||||
err = server_data_obj (inp_fd, inp_fn, 0, server->input_enc, &inp_data,
|
||||
&server->input_stream);
|
||||
- if (err)
|
||||
+ if (err) {
|
||||
+ if (inp_data)
|
||||
+ gpgme_data_release (inp_data);
|
||||
return err;
|
||||
+ }
|
||||
err = server_data_obj (out_fd, out_fn, 1, server->output_enc, &out_data,
|
||||
&server->output_stream);
|
||||
if (err)
|
||||
{
|
||||
gpgme_data_release (inp_data);
|
||||
+ if (out_data)
|
||||
+ gpgme_data_release (out_data);
|
||||
return err;
|
||||
}
|
||||
|
||||
@@ -2425,8 +2430,11 @@
|
||||
{
|
||||
err = server_data_obj (inp_fd, inp_fn, 0, server->input_enc, &inp_data,
|
||||
&server->input_stream);
|
||||
- if (err)
|
||||
+ if (err) {
|
||||
+ if (inp_data)
|
||||
+ gpgme_data_release (inp_data);
|
||||
return err;
|
||||
+ }
|
||||
}
|
||||
if (out_fd != ASSUAN_INVALID_FD || out_fn)
|
||||
{
|
||||
@@ -2435,6 +2443,8 @@
|
||||
if (err)
|
||||
{
|
||||
gpgme_data_release (inp_data);
|
||||
+ if (out_data)
|
||||
+ gpgme_data_release (out_data);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
@@ -2499,8 +2509,8 @@
|
||||
char *inp_fn;
|
||||
assuan_fd_t out_fd;
|
||||
char *out_fn;
|
||||
- gpgme_data_t inp_data;
|
||||
- gpgme_data_t out_data;
|
||||
+ gpgme_data_t inp_data = NULL;
|
||||
+ gpgme_data_t out_data = NULL;
|
||||
gpgme_sig_mode_t mode = GPGME_SIG_MODE_NORMAL;
|
||||
|
||||
if (strstr (line, "--clear"))
|
||||
@@ -2519,13 +2529,18 @@
|
||||
|
||||
err = server_data_obj (inp_fd, inp_fn, 0, server->input_enc, &inp_data,
|
||||
&server->input_stream);
|
||||
- if (err)
|
||||
+ if (err) {
|
||||
+ if (inp_data)
|
||||
+ gpgme_data_release (inp_data);
|
||||
return err;
|
||||
+ }
|
||||
err = server_data_obj (out_fd, out_fn, 1, server->output_enc, &out_data,
|
||||
&server->output_stream);
|
||||
if (err)
|
||||
{
|
||||
gpgme_data_release (inp_data);
|
||||
+ if (out_data)
|
||||
+ gpgme_data_release (out_data);
|
||||
return err;
|
||||
}
|
||||
|
||||
@@ -2557,7 +2572,7 @@
|
||||
char *inp_fn;
|
||||
char *msg_fn;
|
||||
char *out_fn;
|
||||
- gpgme_data_t inp_data;
|
||||
+ gpgme_data_t inp_data = NULL;
|
||||
gpgme_data_t msg_data = NULL;
|
||||
gpgme_data_t out_data = NULL;
|
||||
|
||||
@@ -2574,8 +2589,11 @@
|
||||
|
||||
err = server_data_obj (inp_fd, inp_fn, 0, server->input_enc, &inp_data,
|
||||
&server->input_stream);
|
||||
- if (err)
|
||||
+ if (err) {
|
||||
+ if (inp_data)
|
||||
+ gpgme_data_release (inp_data);
|
||||
return err;
|
||||
+ }
|
||||
if (msg_fd != ASSUAN_INVALID_FD || msg_fn)
|
||||
{
|
||||
err = server_data_obj (msg_fd, msg_fn, 0, server->message_enc, &msg_data,
|
||||
@@ -2583,6 +2601,8 @@
|
||||
if (err)
|
||||
{
|
||||
gpgme_data_release (inp_data);
|
||||
+ if (msg_data)
|
||||
+ gpgme_data_release (msg_data);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
@@ -2594,6 +2614,8 @@
|
||||
{
|
||||
gpgme_data_release (inp_data);
|
||||
gpgme_data_release (msg_data);
|
||||
+ if (out_data)
|
||||
+ gpgme_data_release (out_data);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
@@ -2634,7 +2656,7 @@
|
||||
gpg_error_t err;
|
||||
assuan_fd_t inp_fd;
|
||||
char *inp_fn;
|
||||
- gpgme_data_t inp_data;
|
||||
+ gpgme_data_t inp_data = NULL;
|
||||
|
||||
inp_fd = server->input_fd;
|
||||
inp_fn = server->input_filename;
|
||||
@@ -2643,8 +2665,11 @@
|
||||
|
||||
err = server_data_obj (inp_fd, inp_fn, 0, server->input_enc, &inp_data,
|
||||
&server->input_stream);
|
||||
- if (err)
|
||||
+ if (err) {
|
||||
+ if (inp_data)
|
||||
+ gpgme_data_release (inp_data);
|
||||
return err;
|
||||
+ }
|
||||
|
||||
err = gt_import (server->gt, inp_data);
|
||||
|
||||
@@ -2668,7 +2693,7 @@
|
||||
gpg_error_t err;
|
||||
assuan_fd_t out_fd;
|
||||
char *out_fn;
|
||||
- gpgme_data_t out_data;
|
||||
+ gpgme_data_t out_data = NULL;
|
||||
gpgme_export_mode_t mode = 0;
|
||||
const char *pattern[2];
|
||||
|
||||
@@ -2678,8 +2703,11 @@
|
||||
return GPG_ERR_ASS_NO_OUTPUT;
|
||||
err = server_data_obj (out_fd, out_fn, 1, server->output_enc, &out_data,
|
||||
&server->output_stream);
|
||||
- if (err)
|
||||
+ if (err) {
|
||||
+ if (out_data)
|
||||
+ gpgme_data_release (out_data);
|
||||
return err;
|
||||
+ }
|
||||
|
||||
if (has_option (line, "--extern"))
|
||||
mode |= GPGME_EXPORT_MODE_EXTERN;
|
||||
@@ -2733,7 +2761,7 @@
|
||||
char *inp_fn;
|
||||
assuan_fd_t out_fd;
|
||||
char *out_fn;
|
||||
- gpgme_data_t inp_data;
|
||||
+ gpgme_data_t inp_data = NULL;
|
||||
gpgme_data_t out_data = NULL;
|
||||
gpgme_data_t parms_data = NULL;
|
||||
const char *parms;
|
||||
@@ -2749,8 +2777,11 @@
|
||||
|
||||
err = server_data_obj (inp_fd, inp_fn, 0, server->input_enc, &inp_data,
|
||||
&server->input_stream);
|
||||
- if (err)
|
||||
+ if (err) {
|
||||
+ if (inp_data)
|
||||
+ gpgme_data_release (inp_data);
|
||||
return err;
|
||||
+ }
|
||||
if (out_fd != ASSUAN_INVALID_FD || out_fn)
|
||||
{
|
||||
err = server_data_obj (out_fd, out_fn, 1, server->output_enc, &out_data,
|
||||
@@ -2758,6 +2789,8 @@
|
||||
if (err)
|
||||
{
|
||||
gpgme_data_release (inp_data);
|
||||
+ if (out_data)
|
||||
+ gpgme_data_release (out_data);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
@@ -2795,6 +2828,7 @@
|
||||
}
|
||||
|
||||
err = gt_genkey (server->gt, parms, out_data, NULL);
|
||||
+ free (parms);
|
||||
|
||||
server_reset_fds (server);
|
||||
|
||||
@@ -2968,7 +3002,7 @@
|
||||
gpg_error_t err;
|
||||
assuan_fd_t out_fd;
|
||||
char *out_fn;
|
||||
- gpgme_data_t out_data;
|
||||
+ gpgme_data_t out_data = NULL;
|
||||
unsigned int flags = 0;
|
||||
|
||||
out_fd = server->output_fd;
|
||||
@@ -2977,8 +3011,11 @@
|
||||
return GPG_ERR_ASS_NO_OUTPUT;
|
||||
err = server_data_obj (out_fd, out_fn, 1, server->output_enc, &out_data,
|
||||
&server->output_stream);
|
||||
- if (err)
|
||||
+ if (err) {
|
||||
+ if (out_data)
|
||||
+ gpgme_data_release (out_data);
|
||||
return err;
|
||||
+ }
|
||||
|
||||
if (strstr (line, "--html"))
|
||||
flags |= GPGME_AUDITLOG_HTML;
|
||||
@@ -3111,7 +3148,7 @@
|
||||
gpg_error_t err;
|
||||
assuan_fd_t inp_fd;
|
||||
char *inp_fn;
|
||||
- gpgme_data_t inp_data;
|
||||
+ gpgme_data_t inp_data = NULL;
|
||||
|
||||
(void)line;
|
||||
|
||||
@@ -3122,8 +3159,11 @@
|
||||
|
||||
err = server_data_obj (inp_fd, inp_fn, 0, server->input_enc, &inp_data,
|
||||
&server->input_stream);
|
||||
- if (err)
|
||||
+ if (err) {
|
||||
+ if (inp_data)
|
||||
+ gpgme_data_release (inp_data);
|
||||
return err;
|
||||
+ }
|
||||
|
||||
err = gt_identify (server->gt, inp_data);
|
||||
|
||||
@@ -3159,8 +3199,11 @@
|
||||
{
|
||||
err = server_data_obj (inp_fd, inp_fn, 0, server->input_enc, &inp_data,
|
||||
&server->input_stream);
|
||||
- if (err)
|
||||
+ if (err) {
|
||||
+ if (inp_data)
|
||||
+ gpgme_data_release (inp_data);
|
||||
return err;
|
||||
+ }
|
||||
}
|
||||
if (out_fd != ASSUAN_INVALID_FD || out_fn)
|
||||
{
|
||||
@@ -3169,6 +3212,8 @@
|
||||
if (err)
|
||||
{
|
||||
gpgme_data_release (inp_data);
|
||||
+ if (out_data)
|
||||
+ gpgme_data_release (out_data);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
diff -Naur a/tests/gpg/t-import.c b/tests/gpg/t-import.c
|
||||
--- a/tests/gpg/t-import.c 2018-11-12 13:57:39.808530132 +0100
|
||||
+++ b/tests/gpg/t-import.c 2018-11-16 12:52:09.829248570 +0100
|
||||
@@ -212,7 +212,7 @@
|
||||
{
|
||||
gpgme_ctx_t ctx;
|
||||
gpgme_error_t err;
|
||||
- gpgme_data_t in;
|
||||
+ gpgme_data_t in = NULL;
|
||||
gpgme_import_result_t result;
|
||||
char *pubkey_1_asc = make_filename ("pubkey-1.asc");
|
||||
char *seckey_1_asc = make_filename ("seckey-1.asc");
|
||||
@@ -235,6 +235,7 @@
|
||||
check_result (result, "ADAB7FCC1F4DE2616ECFA402AF82244F9CD9FD55", 0);
|
||||
gpgme_data_release (in);
|
||||
|
||||
+ in = NULL; /* Make Coverity happy. */
|
||||
err = gpgme_data_new_from_file (&in, seckey_1_asc, 1);
|
||||
free (seckey_1_asc);
|
||||
fail_if_err (err);
|
||||
diff -Naur a/tests/gpg/t-trustlist.c b/tests/gpg/t-trustlist.c
|
||||
--- a/tests/gpg/t-trustlist.c 2018-11-12 13:57:39.810530085 +0100
|
||||
+++ b/tests/gpg/t-trustlist.c 2018-11-16 12:52:09.837248378 +0100
|
||||
@@ -39,7 +39,7 @@
|
||||
{
|
||||
gpgme_ctx_t ctx;
|
||||
gpgme_error_t err;
|
||||
- gpgme_trust_item_t item;
|
||||
+ gpgme_trust_item_t item = NULL;
|
||||
|
||||
(void)argc;
|
||||
(void)argv;
|
||||
@@ -58,6 +58,7 @@
|
||||
item->level, item->keyid, item->type, item->owner_trust,
|
||||
item->validity, item->name);
|
||||
gpgme_trust_item_unref (item);
|
||||
+ item = NULL; /* Make Coverity happy. */
|
||||
}
|
||||
if (gpgme_err_code (err) != GPG_ERR_EOF)
|
||||
fail_if_err (err);
|
||||
diff -Naur a/tests/gpgsm/cms-keylist.c b/tests/gpgsm/cms-keylist.c
|
||||
--- a/tests/gpgsm/cms-keylist.c 2018-11-12 13:57:39.830529615 +0100
|
||||
+++ b/tests/gpgsm/cms-keylist.c 2018-11-16 12:52:09.842248259 +0100
|
||||
@@ -45,7 +45,7 @@
|
||||
{
|
||||
gpgme_error_t err;
|
||||
gpgme_ctx_t ctx;
|
||||
- gpgme_key_t key;
|
||||
+ gpgme_key_t key = NULL;
|
||||
gpgme_keylist_result_t result;
|
||||
|
||||
if (argc)
|
||||
@@ -107,6 +107,7 @@
|
||||
putchar ('\n');
|
||||
|
||||
gpgme_key_unref (key);
|
||||
+ key = NULL; /* Make Coverity happy. */
|
||||
}
|
||||
if (gpgme_err_code (err) != GPG_ERR_EOF)
|
||||
fail_if_err (err);
|
||||
diff -Naur a/tests/gpgsm/t-import.c b/tests/gpgsm/t-import.c
|
||||
--- a/tests/gpgsm/t-import.c 2018-11-12 13:57:39.829529639 +0100
|
||||
+++ b/tests/gpgsm/t-import.c 2018-11-16 12:52:07.932293971 +0100
|
||||
@@ -142,7 +142,7 @@
|
||||
{
|
||||
gpgme_ctx_t ctx;
|
||||
gpgme_error_t err;
|
||||
- gpgme_data_t in;
|
||||
+ gpgme_data_t in = NULL;
|
||||
gpgme_import_result_t result;
|
||||
char *cert_1 = make_filename ("cert_dfn_pca01.der");
|
||||
char *cert_2 = make_filename ("cert_dfn_pca15.der");
|
||||
@@ -164,6 +164,7 @@
|
||||
check_result (result, "DFA56FB5FC41E3A8921F77AD1622EEFD9152A5AD", 1, 1);
|
||||
gpgme_data_release (in);
|
||||
|
||||
+ in = NULL; /* Make Coverity happy. */
|
||||
err = gpgme_data_new_from_file (&in, cert_2, 1);
|
||||
free (cert_2);
|
||||
fail_if_err (err);
|
||||
diff -Naur a/tests/gpgsm/t-keylist.c b/tests/gpgsm/t-keylist.c
|
||||
--- a/tests/gpgsm/t-keylist.c 2018-11-12 13:57:39.829529639 +0100
|
||||
+++ b/tests/gpgsm/t-keylist.c 2018-11-16 13:20:51.685124686 +0100
|
||||
@@ -85,7 +85,7 @@
|
||||
{
|
||||
gpgme_error_t err;
|
||||
gpgme_ctx_t ctx;
|
||||
- gpgme_key_t key;
|
||||
+ gpgme_key_t key = NULL;
|
||||
gpgme_keylist_result_t result;
|
||||
int i = 0;
|
||||
|
||||
@@ -111,6 +111,7 @@
|
||||
fprintf (stderr, "Warning: Skipping unknown key %s\n",
|
||||
key->subkeys->fpr);
|
||||
gpgme_key_unref (key);
|
||||
+ key = NULL; /* Make Coverity happy. */
|
||||
continue;
|
||||
}
|
||||
else
|
||||
@@ -365,6 +366,7 @@
|
||||
|
||||
|
||||
gpgme_key_unref (key);
|
||||
+ key = NULL; /* Make Coverity happy. */
|
||||
i++;
|
||||
}
|
||||
if (gpgme_err_code (err) != GPG_ERR_EOF)
|
||||
diff -Naur a/tests/run-identify.c b/tests/run-identify.c
|
||||
--- a/tests/run-identify.c 2018-11-12 13:57:39.806530179 +0100
|
||||
+++ b/tests/run-identify.c 2018-11-16 12:59:06.391278677 +0100
|
||||
@@ -77,7 +77,7 @@
|
||||
int last_argc = -1;
|
||||
gpgme_error_t err;
|
||||
int anyerr = 0;
|
||||
- gpgme_data_t data;
|
||||
+ gpgme_data_t data = NULL;
|
||||
gpgme_data_type_t dt;
|
||||
|
||||
if (argc)
|
||||
@@ -122,6 +122,7 @@
|
||||
anyerr = 1;
|
||||
printf ("%s: %s\n", *argv, data_type_to_string (dt));
|
||||
gpgme_data_release (data);
|
||||
+ data = NULL; /* Make Coverity happy. */
|
||||
}
|
||||
}
|
||||
|
||||
diff -Naur a/tests/run-import.c b/tests/run-import.c
|
||||
--- a/tests/run-import.c 2018-11-12 13:57:39.833529545 +0100
|
||||
+++ b/tests/run-import.c 2018-11-16 13:00:30.184273195 +0100
|
||||
@@ -58,7 +58,7 @@
|
||||
int url_mode = 0;
|
||||
int nul_mode = 0;
|
||||
gpgme_import_result_t impres;
|
||||
- gpgme_data_t data;
|
||||
+ gpgme_data_t data = NULL;
|
||||
|
||||
if (argc)
|
||||
{ argc--; argv++; }
|
||||
@@ -122,6 +122,7 @@
|
||||
print_import_result (impres);
|
||||
|
||||
gpgme_data_release (data);
|
||||
+ data = NULL; /* Make Coverity happy. */
|
||||
}
|
||||
|
||||
gpgme_release (ctx);
|
24
SOURCES/gpgme-1.3.2-largefile.patch
Normal file
24
SOURCES/gpgme-1.3.2-largefile.patch
Normal file
@ -0,0 +1,24 @@
|
||||
diff -up gpgme-1.3.2/src/gpgme-config.in.largefile gpgme-1.3.2/src/gpgme-config.in
|
||||
--- gpgme-1.3.2/src/gpgme-config.in.largefile 2012-09-26 10:10:37.882744198 +0200
|
||||
+++ gpgme-1.3.2/src/gpgme-config.in 2012-09-26 10:16:02.558762827 +0200
|
||||
@@ -41,6 +41,10 @@ cflags_pthread=""
|
||||
cflags_glib="@GLIB_CFLAGS@"
|
||||
with_glib=
|
||||
|
||||
+if test "0@NEED__FILE_OFFSET_BITS@" -gt "0" ; then
|
||||
+ cflags_lfs="-D_FILE_OFFSET_BITS=@NEED__FILE_OFFSET_BITS@"
|
||||
+fi
|
||||
+
|
||||
output=""
|
||||
|
||||
usage()
|
||||
@@ -105,6 +109,9 @@ while test $# -gt 0; do
|
||||
exit 0
|
||||
;;
|
||||
--cflags)
|
||||
+ if test "x$cflags_lfs" != "x"; then
|
||||
+ output="$output $cflags_lfs"
|
||||
+ fi
|
||||
result=
|
||||
tmp_c=
|
||||
tmp_g=
|
20
SOURCES/gpgme-multilib.h
Normal file
20
SOURCES/gpgme-multilib.h
Normal file
@ -0,0 +1,20 @@
|
||||
/* gpgme-multilib.h */
|
||||
/* This file is here to prevent a file conflict on multiarch systems. A
|
||||
* conflict will occur because gpgme.h has arch-specific definitions.
|
||||
*
|
||||
* DO NOT INCLUDE THE NEW FILE DIRECTLY -- ALWAYS INCLUDE THIS ONE INSTEAD. */
|
||||
|
||||
#ifndef GPGME_MULTILIB_H
|
||||
#define GPGME_MULTILIB_H
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
#if __WORDSIZE == 32
|
||||
#include "gpgme-32.h"
|
||||
#elif __WORDSIZE == 64
|
||||
#include "gpgme-64.h"
|
||||
#else
|
||||
#error "unexpected value for __WORDSIZE macro"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
566
SPECS/gpgme.spec
Normal file
566
SPECS/gpgme.spec
Normal file
@ -0,0 +1,566 @@
|
||||
%bcond_without check
|
||||
|
||||
%if 0%{?rhel} > 7
|
||||
# Disable python2 build by default
|
||||
%bcond_with python2
|
||||
%else
|
||||
%bcond_without python2
|
||||
%endif
|
||||
|
||||
# trim changelog included in binary rpms
|
||||
%global _changelog_trimtime %(date +%s -d "1 year ago")
|
||||
|
||||
# STATUS_KEY_CONSIDERED has been added in 2.1.13
|
||||
%global gnupg2_min_ver 2.1.13
|
||||
# GPG_ERR_SUBKEYS_EXP_OR_REV has been added in 1.23
|
||||
%global libgpg_error_min_ver 1.23
|
||||
|
||||
Name: gpgme
|
||||
Summary: GnuPG Made Easy - high level crypto API
|
||||
Version: 1.10.0
|
||||
Release: 6%{?dist}
|
||||
|
||||
License: LGPLv2+
|
||||
URL: https://gnupg.org/related_software/gpgme/
|
||||
Source0: ftp://ftp.gnupg.org/gcrypt/gpgme/gpgme-%{version}.tar.bz2
|
||||
Source2: gpgme-multilib.h
|
||||
|
||||
## upstream patches
|
||||
# https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=commit;h=b99502274ae5efdf6df0d967900ec3d1e64373d7
|
||||
Patch1000: 0001-core-Tweak-STATUS_FAILURE-handling.patch
|
||||
|
||||
## downstream patches
|
||||
# Don't add extra libs/cflags in gpgme-config/cmake equivalent
|
||||
Patch1001: 0001-don-t-add-extra-libraries-for-linking.patch
|
||||
# add -D_FILE_OFFSET_BITS... to gpgme-config, upstreamable
|
||||
Patch1002: gpgme-1.3.2-largefile.patch
|
||||
# Let's fix stupid AX_PYTHON_DEVEL
|
||||
Patch1003: 0001-fix-stupid-ax_python_devel.patch
|
||||
# Fix resource leaks discovered by static code analyzer
|
||||
Patch1004: gpgme-1.10.0-fix-resource-leaks.patch
|
||||
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gawk
|
||||
BuildRequires: gnupg2 >= %{gnupg2_min_ver}
|
||||
BuildRequires: gnupg2-smime
|
||||
BuildRequires: libgpg-error-devel >= %{libgpg_error_min_ver}
|
||||
BuildRequires: libassuan-devel >= 2.0.2
|
||||
|
||||
# For python bindings
|
||||
BuildRequires: swig
|
||||
|
||||
# to remove RPATH
|
||||
BuildRequires: chrpath
|
||||
|
||||
# For AutoReq cmake-filesystem
|
||||
BuildRequires: cmake
|
||||
|
||||
Requires: gnupg2 >= %{gnupg2_min_ver}
|
||||
|
||||
# On the following architectures workaround multiarch conflict of -devel packages:
|
||||
%define multilib_arches %{ix86} x86_64 ia64 ppc ppc64 s390 s390x %{sparc}
|
||||
|
||||
%description
|
||||
GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG
|
||||
easier for applications. It provides a high-level crypto API for
|
||||
encryption, decryption, signing, signature verification and key
|
||||
management.
|
||||
|
||||
%package devel
|
||||
Summary: Development headers and libraries for %{name}
|
||||
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: libgpg-error-devel%{?_isa} >= %{libgpg_error_min_ver}
|
||||
Requires(post): /sbin/install-info
|
||||
Requires(postun): /sbin/install-info
|
||||
|
||||
%description devel
|
||||
%{summary}.
|
||||
|
||||
%package -n %{name}pp
|
||||
Summary: C++ bindings/wrapper for GPGME
|
||||
Obsoletes: gpgme-pp < 1.8.0-7
|
||||
Provides: gpgme-pp = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Provides: gpgme-pp%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description -n %{name}pp
|
||||
%{summary}.
|
||||
|
||||
%package -n %{name}pp-devel
|
||||
Summary: Development libraries and header files for %{name}-pp
|
||||
Obsoletes: gpgme-pp-devel < 1.8.0-7
|
||||
Provides: gpgme-pp-devel = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Provides: gpgme-pp-devel%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: %{name}pp%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: %{name}-devel%{?_isa}
|
||||
# For automatic provides
|
||||
BuildRequires: cmake
|
||||
|
||||
%description -n %{name}pp-devel
|
||||
%{summary}
|
||||
|
||||
%package -n q%{name}
|
||||
Summary: Qt API bindings/wrapper for GPGME
|
||||
Requires: %{name}pp%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
BuildRequires: pkgconfig(Qt5Core)
|
||||
BuildRequires: pkgconfig(Qt5Test)
|
||||
|
||||
%description -n q%{name}
|
||||
%{summary}.
|
||||
|
||||
%package -n q%{name}-devel
|
||||
Summary: Development libraries and header files for %{name}
|
||||
# before libqgpgme.so symlink was moved to avoid conflict
|
||||
Conflicts: kdepimlibs-devel < 4.14.10-17
|
||||
Requires: q%{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: %{name}pp-devel%{?_isa}
|
||||
# For automatic provides
|
||||
BuildRequires: cmake
|
||||
|
||||
%description -n q%{name}-devel
|
||||
%{summary}.
|
||||
|
||||
%if %{with python2}
|
||||
%package -n python2-gpg
|
||||
Summary: %{name} bindings for Python 2
|
||||
%{?python_provide:%python_provide python2-gpg}
|
||||
BuildRequires: python2-devel
|
||||
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description -n python2-gpg
|
||||
%{summary}.
|
||||
%endif # without python2
|
||||
|
||||
%package -n python3-gpg
|
||||
Summary: %{name} bindings for Python 3
|
||||
%{?python_provide:%python_provide python3-gpg}
|
||||
BuildRequires: python3-devel
|
||||
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description -n python3-gpg
|
||||
%{summary}.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
## HACK ALERT
|
||||
# The config script already suppresses the -L if it's /usr/lib, so cheat and
|
||||
# set it to a value which we know will be suppressed.
|
||||
sed -i -e 's|^libdir=@libdir@$|libdir=@exec_prefix@/lib|g' src/gpgme-config.in
|
||||
|
||||
find -type f -name Makefile\* -exec sed -i -e 's|GPG = gpg|GPG = gpg2|' {} ';'
|
||||
|
||||
%build
|
||||
./autogen.sh
|
||||
%configure --disable-static --disable-silent-rules \
|
||||
--enable-languages=cpp,qt,python3
|
||||
|
||||
%make_build
|
||||
|
||||
%install
|
||||
%make_install
|
||||
|
||||
# unpackaged files
|
||||
rm -fv %{buildroot}%{_infodir}/dir
|
||||
rm -fv %{buildroot}%{_libdir}/lib*.la
|
||||
|
||||
# Hack to resolve multiarch conflict (#341351)
|
||||
%ifarch %{multilib_arches}
|
||||
mv %{buildroot}%{_bindir}/gpgme-config{,.%{_target_cpu}}
|
||||
cat > gpgme-config-multilib.sh <<__END__
|
||||
#!/bin/sh
|
||||
exec %{_bindir}/gpgme-config.\$(arch) \$@
|
||||
__END__
|
||||
install -D -p gpgme-config-multilib.sh %{buildroot}%{_bindir}/gpgme-config
|
||||
mv %{buildroot}%{_includedir}/gpgme.h \
|
||||
%{buildroot}%{_includedir}/gpgme-%{__isa_bits}.h
|
||||
install -m644 -p -D %{SOURCE2} %{buildroot}%{_includedir}/gpgme.h
|
||||
%endif
|
||||
chrpath -d %{buildroot}%{_bindir}/%{name}-tool
|
||||
chrpath -d %{buildroot}%{_libdir}/lib%{name}pp.so*
|
||||
chrpath -d %{buildroot}%{_libdir}/libq%{name}.so*
|
||||
|
||||
# autofoo installs useless stuff for uninstall
|
||||
%if %{with python2}
|
||||
rm -vf %{buildroot}%{python2_sitelib}/gpg/install_files.txt
|
||||
%endif # with python2
|
||||
rm -vf %{buildroot}%{python3_sitelib}/gpg/install_files.txt
|
||||
|
||||
%if %{with check}
|
||||
%check
|
||||
make check
|
||||
%endif
|
||||
|
||||
%ldconfig_scriptlets
|
||||
|
||||
%files
|
||||
%license COPYING*
|
||||
%doc AUTHORS ChangeLog NEWS README* THANKS TODO VERSION
|
||||
%{_libdir}/lib%{name}.so.11*
|
||||
|
||||
%post devel
|
||||
/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir 2>/dev/null || :
|
||||
|
||||
%preun devel
|
||||
if [ $1 -eq 0 ] ; then
|
||||
/sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir 2>/dev/null || :
|
||||
fi
|
||||
|
||||
%files devel
|
||||
%{_bindir}/%{name}-config
|
||||
%{_bindir}/%{name}-tool
|
||||
%ifarch %{multilib_arches}
|
||||
%{_bindir}/%{name}-config.%{_target_cpu}
|
||||
%{_includedir}/%{name}-%{__isa_bits}.h
|
||||
%endif
|
||||
%{_includedir}/%{name}.h
|
||||
%{_libdir}/lib%{name}.so
|
||||
%{_datadir}/aclocal/%{name}.m4
|
||||
%{_infodir}/%{name}.info*
|
||||
|
||||
%files -n %{name}pp
|
||||
%doc lang/cpp/README
|
||||
%{_libdir}/lib%{name}pp.so.*
|
||||
|
||||
%files -n %{name}pp-devel
|
||||
%{_includedir}/%{name}++/
|
||||
%{_libdir}/lib%{name}pp.so
|
||||
%{_libdir}/cmake/Gpgmepp/
|
||||
|
||||
%files -n q%{name}
|
||||
%doc lang/qt/README
|
||||
%{_libdir}/libq%{name}.so.*
|
||||
|
||||
%files -n q%{name}-devel
|
||||
%{_includedir}/q%{name}/
|
||||
%{_includedir}/QGpgME/
|
||||
%{_libdir}/libq%{name}.so
|
||||
%{_libdir}/cmake/QGpgme/
|
||||
|
||||
%if %{with python2}
|
||||
%files -n python2-gpg
|
||||
%doc lang/python/README
|
||||
%{python2_sitearch}/gpg-*.egg-info
|
||||
%{python2_sitearch}/gpg/
|
||||
%endif # with python2
|
||||
|
||||
%files -n python3-gpg
|
||||
%doc lang/python/README
|
||||
%{python3_sitearch}/gpg-*.egg-info
|
||||
%{python3_sitearch}/gpg/
|
||||
|
||||
%changelog
|
||||
* Mon Nov 12 2018 Jiri Kucera <jkucera@redhat.com> - 1.10.0-6
|
||||
- Fix important static scanner issues
|
||||
Resolves: #1602526
|
||||
|
||||
* Mon May 28 2018 Charalampos Stratakis <cstratak@redhat.com> - 1.10.0-5
|
||||
- Conditionalize the python2 subpackage
|
||||
- Build only the python3 bindings
|
||||
|
||||
* Tue Apr 17 2018 Jonathan Lebon <jonathan@jlebon.com> - 1.10.0-4
|
||||
- Backport patch to tweak STATUS_FAILURE handling
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Tue Jan 30 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.10.0-2
|
||||
- Switch to %%ldconfig_scriptlets
|
||||
|
||||
* Wed Dec 13 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.10.0-1
|
||||
- Update to 1.10.0
|
||||
|
||||
* Tue Nov 07 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.9.0-8
|
||||
- Use better Obsoletes for platform-python
|
||||
|
||||
* Fri Nov 03 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.9.0-7
|
||||
- Remove platform-python subpackages
|
||||
|
||||
* Thu Aug 10 2017 Petr Viktorin <pviktori@redhat.com> - 1.9.0-6
|
||||
- Add subpackage for platform-python (https://fedoraproject.org/wiki/Changes/Platform_Python_Stack)
|
||||
|
||||
* Mon Aug 07 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.9.0-5
|
||||
- Remove BuildRequires: pth-devel, it is not needed for long time
|
||||
|
||||
* Mon Aug 07 2017 Björn Esser <besser82@fedoraproject.org> - 1.9.0-4
|
||||
- Rebuilt for AutoReq cmake-filesystem
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Wed Mar 29 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.9.0-1
|
||||
- Update to 1.9.0
|
||||
|
||||
* Sat Feb 11 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.8.0-12
|
||||
- Fix FTBFS
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.0-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Wed Jan 18 2017 Rex Dieter <rdieter@fedoraproject.org> - 1.8.0-10
|
||||
- patch out LIBASSUAN_LIBRARIES in cmake too
|
||||
|
||||
* Wed Jan 18 2017 Rex Dieter <rdieter@fedoraproject.org> - 1.8.0-9
|
||||
- gpgmepp-devel: Requires: libassuan-devel
|
||||
|
||||
* Mon Jan 16 2017 Rex Dieter <rdieter@fedoraproject.org> - 1.8.0-8
|
||||
- qgpgme-devel: Conflicts: kdepimlibs-devel < 4.14.10-17
|
||||
|
||||
* Sun Jan 01 2017 Rex Dieter <rdieter@math.unl.edu> - 1.8.0-7
|
||||
- rename gpgme-pp to gpgmepp, simplify -devel deps
|
||||
|
||||
* Sun Jan 01 2017 Rex Dieter <rdieter@math.unl.edu> - 1.8.0-6
|
||||
- backport upstream cmake-related fix
|
||||
|
||||
* Thu Dec 22 2016 Miro Hrončok <mhroncok@redhat.com> - 1.8.0-5
|
||||
- Rebuild for Python 3.6
|
||||
|
||||
* Sun Dec 11 2016 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 1.8.0-4
|
||||
- Rename pythonX-gpgme into pythonX-gpg
|
||||
|
||||
* Sun Dec 11 2016 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 1.8.0-3
|
||||
- Add Qt and C++ subpackages
|
||||
|
||||
* Sat Dec 10 2016 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 1.8.0-2
|
||||
- Enable tests
|
||||
|
||||
* Sat Dec 10 2016 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 1.8.0-1
|
||||
- Update to 1.8.0
|
||||
|
||||
* Wed Sep 21 2016 Igor Gnatenko <ignatenko@redhat.com> - 1.7.0-1
|
||||
- Update to 1.7.0
|
||||
|
||||
* Mon Jul 25 2016 Igor Gnatenko <ignatenko@redhat.com> - 1.6.0-3
|
||||
- Set min ver for libgpg-error
|
||||
|
||||
* Mon Jul 25 2016 Igor Gnatenko <ignatenko@redhat.com> - 1.6.0-2
|
||||
- Backport patch for STATUS_KEY_CONSIDERED (RHBZ #1359521)
|
||||
|
||||
* Wed Jul 13 2016 Igor Gnatenko <ignatenko@redhat.com> - 1.6.0-1
|
||||
- Update to 1.6.0 (RHBZ #1167656)
|
||||
|
||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.3-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.3-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Sat Dec 06 2014 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.4.3-5
|
||||
- CVE-2014-3564, rhbz#1125170, gpgme-1.3.2-bufferoverflow.patch
|
||||
|
||||
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.3-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sat Jul 12 2014 Tom Callaway <spot@fedoraproject.org> - 1.4.3-3
|
||||
- fix license handling
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Wed Oct 09 2013 Rex Dieter <rdieter@fedoraproject.org> - 1.4.3-1
|
||||
- gpgme-1.4.3
|
||||
- cleanup .spec, trim changelog
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.2-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Tue Jul 09 2013 Karsten Hopp <karsten@redhat.com> 1.3.2-3
|
||||
- rebuild to fix some f20 dependency issues on PPC
|
||||
|
||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Tue Nov 20 2012 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.3.2-2
|
||||
- minor spec cleanup
|
||||
|
||||
* Wed Sep 26 2012 Tomas Mraz <tmraz@redhat.com> - 1.3.2-1
|
||||
- new upstream version
|
||||
- re-enable gpg tests (original patch by John Morris <john@zultron.com>)
|
||||
- quiet configure warning 'could not find g13'
|
||||
- there is no libgpgme-pth anymore
|
||||
|
||||
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.0-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Sun Apr 22 2012 Rex Dieter <rdieter@fedoraproject.org> 1.3.0-8
|
||||
- -devel: make Requires: libgpg-error-devel arch'd
|
||||
- ensure gpgme-config wrapper is executable
|
||||
|
||||
* Sun Apr 22 2012 Rex Dieter <rdieter@fedoraproject.org> 1.3.0-7
|
||||
- gpgme.h: fatal error: gpgme-i386.h: No such file or directory compilation terminated (#815116)
|
||||
|
||||
* Wed Feb 15 2012 Simon Lukasik <slukasik@redhat.com> - 1.3.0-6
|
||||
- Resolve multilib conflict of gpgme-config (#341351)
|
||||
- Resolve multilib conflict of gpgme.h (#341351)
|
||||
|
||||
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.0-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Thu Mar 17 2011 Rex Dieter <rdieter@fedoraproject.org> - 1.3.0-4
|
||||
- gpgme-config: remove libassuan-related flags as threatened (#676954)
|
||||
\
|
||||
* Sun Feb 13 2011 Rex Dieter <rdieter@fedoraproject.org> - 1.3.0-3
|
||||
- -devel: fix typo (broken dep)
|
||||
|
||||
* Sat Feb 12 2011 Rex Dieter <rdieter@fedoraproject.org> - 1.3.0-2
|
||||
- BR: libassuan2-devel
|
||||
- gpgme-config outputs -lassuan (#676954)
|
||||
|
||||
* Fri Feb 11 2011 Tomas Mraz <tmraz@redhat.com> - 1.3.0-1
|
||||
- new upstream version
|
||||
|
||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Wed Aug 18 2010 Tomas Mraz <tmraz@redhat.com> - 1.2.0-3
|
||||
- fix the condition for adding the -D_FILE_OFFSET_BITS...
|
||||
|
||||
* Wed Aug 11 2010 Tomas Mraz <tmraz@redhat.com> - 1.2.0-2
|
||||
- add -D_FILE_OFFSET_BITS... to gpgme-config as appropriate (#621698)
|
||||
|
||||
* Fri Jul 02 2010 Rex Dieter <rdieter@fedoraproject.org> - 1.2.0-1
|
||||
- gpgme-1.2.0 (#610984)
|
||||
|
||||
* Sun Feb 14 2010 Rex Dieter <rdieter@fedoraproject.org> - 1.1.8-4
|
||||
- FTBFS gpgme-1.1.8-3.fc13: ImplicitDSOLinking (#564605)
|
||||
|
||||
* Thu Nov 19 2009 Tomas Mraz <tmraz@redhat.com> - 1.1.8-3
|
||||
- Add buildrequires gnupg2-smime for the gpgsm
|
||||
|
||||
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.8-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Sat Jun 20 2009 Rex Dieter <rdieter@fedoraproject.org> - 1.1.8-1
|
||||
- gpgme-1.1.8
|
||||
- -devel: s/postun/preun/ info scriptlet
|
||||
|
||||
* Wed Mar 11 2009 Rex Dieter <rdieter@fedoraproject.org> - 1.1.7-3
|
||||
- track shlib sonames closer, to highlight future abi/soname changes
|
||||
- _with_gpg macro, to potentially conditionalize gnupg vs gnupg2 defaults
|
||||
for various os/releases (ie, fedora vs rhel)
|
||||
|
||||
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.7-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
* Sat Oct 18 2008 Rex Dieter <rdieter@fedoraproject.org> 1.1.7-1
|
||||
- gpgme-1.1.7
|
||||
|
||||
* Sun Feb 17 2008 Rex Dieter <rdieter@fedoraproject.org> 1.1.6-3
|
||||
- --with-gpg=%%_bindir/gpg2 (#432445)
|
||||
- drop Requires: gnupg (#432445)
|
||||
|
||||
* Fri Feb 08 2008 Rex Dieter <rdieter@fedoraproject.org> 1.1.6-2
|
||||
- respin (gcc43)
|
||||
|
||||
* Fri Jan 04 2008 Rex Dieter <rdieter[AT]fedoraproject.org> 1.1.6-1
|
||||
- gpgme-1.1.6
|
||||
- multiarch conflicts in gpgme (#341351)
|
||||
|
||||
* Sat Aug 25 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 1.1.5-4
|
||||
- BR: gawk
|
||||
|
||||
* Sat Aug 25 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 1.1.5-3
|
||||
- respin (BuildID)
|
||||
|
||||
* Thu Aug 09 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 1.1.5-2
|
||||
- License: LGPLv2+
|
||||
|
||||
* Mon Jul 09 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 1.1.5-1
|
||||
- gpgme-1.1.5
|
||||
|
||||
* Mon Mar 05 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 1.1.4-1
|
||||
- gpgme-1.1.4
|
||||
|
||||
* Sat Feb 03 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 1.1.3-1
|
||||
- gpgme-1.1.3
|
||||
|
||||
* Tue Oct 03 2006 Rex Dieter <rexdieter[AT]users.sf.net>
|
||||
- respin
|
||||
|
||||
* Mon Sep 18 2006 Rex Dieter <rexdieter[AT]users.sf.net> 1.1.2-6
|
||||
- fix gpgme-config --thread=pthread --cflags
|
||||
|
||||
* Tue Aug 29 2006 Rex Dieter <rexdieter[AT]users.sf.net> 1.1.2-5
|
||||
- fc6 respin
|
||||
|
||||
* Mon Mar 6 2006 Rex Dieter <rexdieter[AT]users.sf.net> 1.1.2-4
|
||||
- add back support for gpgme-config --thread=pthread
|
||||
|
||||
* Mon Mar 6 2006 Rex Dieter <rexdieter[AT]users.sf.net> 1.1.2-2
|
||||
- drop extraneous libs from gpgme-config
|
||||
|
||||
* Fri Mar 3 2006 Rex Dieter <rexdieter[AT]users.sf.net> 1.1.2-1
|
||||
- 1.1.2
|
||||
- drop upstreamed gpgme-1.1.0-tests.patch
|
||||
|
||||
* Wed Mar 1 2006 Rex Dieter <rexdieter[AT]users.sf.net>
|
||||
- fc5: gcc/glibc respin
|
||||
|
||||
* Wed Nov 30 2005 Rex Dieter <rexdieter[AT]users.sf.net> - 1.1.0-3
|
||||
- (re)build against (newer) libksba/gnupg2
|
||||
|
||||
* Thu Oct 06 2005 Rex Dieter <rexdieter[AT]users.sf.net> - 1.1.0-2
|
||||
- 1.1.0
|
||||
|
||||
* Mon Aug 8 2005 Rex Dieter <rexdieter[AT]users.sf.net> - 1.0.3-1
|
||||
- 1.0.3
|
||||
- --disable-static
|
||||
|
||||
* Thu May 12 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.0.2-3
|
||||
- rebuilt
|
||||
|
||||
* Fri Mar 18 2005 Ville Skyttä <ville.skytta at iki.fi> - 1.0.2-2
|
||||
- Fix FC4 build.
|
||||
|
||||
* Tue Feb 1 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 0:1.0.2-1
|
||||
- LGPL used here, and made summary more explicit.
|
||||
- Remove dirmngr dependency (gpgsm interfaces with it).
|
||||
- Obsolete cryptplug as gpgme >= 0.4.5 provides what we used cryptplug for.
|
||||
|
||||
* Thu Jan 06 2005 Rex Dieter <rexdieter[AT]users.sf.net> 0:1.0.2-0.fdr.1
|
||||
- 1.0.2
|
||||
|
||||
* Thu Oct 21 2004 Rex Dieter <rexdieter at sf.net> 0:1.0.0-0.fdr.1
|
||||
- 1.0.0
|
||||
- Requires: dirmngr
|
||||
|
||||
* Tue Oct 19 2004 Rex Dieter <rexdieter at sf.net> 0:0.4.7-0.fdr.1
|
||||
- 0.4.7
|
||||
|
||||
* Sun May 2 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.4.3-0.fdr.3
|
||||
- Require %%{_bindir}/gpgsm instead of newpg.
|
||||
- Cosmetic spec file improvements.
|
||||
|
||||
* Thu Oct 23 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:0.4.3-0.fdr.2
|
||||
- Update description.
|
||||
|
||||
* Tue Oct 7 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:0.4.3-0.fdr.1
|
||||
- Update to 0.4.3.
|
||||
|
||||
* Fri Aug 15 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:0.4.2-0.fdr.1
|
||||
- Update to 0.4.2.
|
||||
- make check in the %%check section.
|
||||
|
||||
* Thu Jul 10 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:0.4.1-0.fdr.1
|
||||
- Update to 0.4.1.
|
||||
- Make -devel cooperate with --excludedocs.
|
||||
|
||||
* Sat Apr 19 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:0.4.0-0.fdr.2
|
||||
- BuildRequire pth-devel, fix missing epoch in -devel Requires (#169).
|
||||
- Save .spec in UTF-8.
|
||||
|
||||
* Sat Mar 22 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:0.4.0-0.fdr.1
|
||||
- Update to current Fedora guidelines.
|
||||
- Exclude %%{_libdir}/*.la.
|
||||
|
||||
* Tue Feb 12 2003 Warren Togami <warren@togami.com> 0.4.0-1.fedora.3
|
||||
- info/dir temporary workaround
|
||||
|
||||
* Sat Feb 8 2003 Ville Skyttä <ville.skytta at iki.fi> - 0.4.0-1.fedora.1
|
||||
- First Fedora release.
|
Loading…
Reference in New Issue
Block a user