Hello community,
here is the log from the commit of package gpgmepp5 for openSUSE:Factory checked in at 2016-08-29 14:33:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gpgmepp5 (Old)
and /work/SRC/openSUSE:Factory/.gpgmepp5.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gpgmepp5"
Changes:
--------
--- /work/SRC/openSUSE:Factory/gpgmepp5/gpgmepp5.changes 2016-07-21 07:42:35.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gpgmepp5.new/gpgmepp5.changes 2016-08-29 14:33:08.000000000 +0200
@@ -1,0 +2,16 @@
+Fri Aug 12 10:03:12 UTC 2016 - tittiatcoke@gmail.com
+
+- Update to KDE Applications 16.08.0
+ * KDE Applications 16.08.0
+ * https://www.kde.org/announcements/announce-applications-16.08.0.php
+
+
+-------------------------------------------------------------------
+Mon Aug 8 14:35:13 UTC 2016 - tittiatcoke@gmail.com
+
+- Update to KDE Applications 16.07.90
+ * KDE Applications 16.07.90 (16.08-RC)
+ * https://www.kde.org/announcements/announce-applications-16.07.90.php
+
+
+-------------------------------------------------------------------
Old:
----
gpgmepp-16.04.3.tar.xz
New:
----
gpgmepp-16.08.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gpgmepp5.spec ++++++
--- /var/tmp/diff_new_pack.NsBeiD/_old 2016-08-29 14:33:10.000000000 +0200
+++ /var/tmp/diff_new_pack.NsBeiD/_new 2016-08-29 14:33:10.000000000 +0200
@@ -18,7 +18,7 @@
%define kf5_version 5.5.0
Name: gpgmepp5
-Version: 16.04.3
+Version: 16.08.0
Release: 0
Summary: C++ bindings/wrapper for gpgme
License: LGPL-2.1+
++++++ gpgmepp-16.04.3.tar.xz -> gpgmepp-16.08.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-16.04.3/CMakeLists.txt new/gpgmepp-16.08.0/CMakeLists.txt
--- old/gpgmepp-16.04.3/CMakeLists.txt 2016-06-15 06:35:44.000000000 +0200
+++ new/gpgmepp-16.08.0/CMakeLists.txt 2016-08-09 16:54:18.000000000 +0200
@@ -3,7 +3,8 @@
project(Gpgmepp)
# ECM setup
-find_package(ECM 5.19.0 CONFIG REQUIRED)
+set(KF5_VERSION "5.23.0")
+find_package(ECM ${KF5_VERSION} CONFIG REQUIRED)
set(CMAKE_MODULE_PATH ${Gpgmepp_SOURCE_DIR}/cmake ${ECM_MODULE_PATH})
include(GenerateExportHeader)
@@ -16,9 +17,9 @@
include(KDECMakeSettings)
include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE)
+set(PIM_VERSION "5.3.0")
-set(KF5_VERSION "5.19.0")
-set(GPGMEPP_LIB_VERSION "5.2.3")
+set(GPGMEPP_LIB_VERSION ${PIM_VERSION})
set(QT_MIN_VERSION "5.2.0")
ecm_setup_version(${GPGMEPP_LIB_VERSION} VARIABLE_PREFIX GPGMEPP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-16.04.3/src/ConfigureChecks.cmake new/gpgmepp-16.08.0/src/ConfigureChecks.cmake
--- old/gpgmepp-16.04.3/src/ConfigureChecks.cmake 2016-06-15 06:35:44.000000000 +0200
+++ new/gpgmepp-16.08.0/src/ConfigureChecks.cmake 2016-08-09 16:54:18.000000000 +0200
@@ -438,6 +438,30 @@
}
" HAVE_GPGME_CTX_OFFLINE )
+# check if gpgme has identify support (new in 1.4.3)
+check_cxx_source_compiles ("
+ #include
+ int main() {
+ gpgme_data_t data;
+ gpgme_data_identify( data, 0 );
+ return 0;
+ }
+" HAVE_GPGME_DATA_IDENTIFY )
+
+# check if gpgme has decent identify support (new in 1.7.0)
+# decent means that it supports binary data and has more fine
+# grained distinctions
+check_cxx_source_compiles ("
+ #include
+ int main() {
+ gpgme_data_t data;
+ gpgme_data_type_t ret = gpgme_data_identify( data, 0 );
+ if (ret == GPGME_DATA_TYPE_PGP_SIGNATURE)
+ return 0;
+ return 0;
+ }
+" HAVE_GPGME_DATA_IDENTIFY_GOOD )
+
# check if gpgme has pubkey_algo name mode support (new in 1.6.1)
check_function_exists ("gpgme_pubkey_algo_string" HAVE_GPGME_PUBKEY_ALGO_STRING )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-16.04.3/src/config-gpgme++.h.cmake new/gpgmepp-16.08.0/src/config-gpgme++.h.cmake
--- old/gpgmepp-16.04.3/src/config-gpgme++.h.cmake 2016-06-15 06:35:44.000000000 +0200
+++ new/gpgmepp-16.08.0/src/config-gpgme++.h.cmake 2016-08-09 16:54:18.000000000 +0200
@@ -130,6 +130,12 @@
/* Define to 1 if gpgme supports the context offline mode* */
#cmakedefine HAVE_GPGME_CTX_OFFLINE 1
+/* Define to 1 if gpgme supports identify* */
+#cmakedefine HAVE_GPGME_DATA_IDENTIFY 1
+
+/* Define to 1 if gpgme supports a good version of identify* */
+#cmakedefine HAVE_GPGME_DATA_IDENTIFY_GOOD 1
+
#ifndef GPGMEPP_ERR_SOURCE_DEFAULT
#define GPGMEPP_ERR_SOURCE_DEFAULT 22
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-16.04.3/src/context.cpp new/gpgmepp-16.08.0/src/context.cpp
--- old/gpgmepp-16.04.3/src/context.cpp 2016-06-15 06:35:44.000000000 +0200
+++ new/gpgmepp-16.08.0/src/context.cpp 2016-08-09 16:54:18.000000000 +0200
@@ -1232,7 +1232,8 @@
}
}
*keys_it++ = 0;
- d->lasterr = gpgme_op_encrypt(d->ctx, keys, encryptflags2encryptflags(flags),
+ d->lasterr = gpgme_op_encrypt(d->ctx, recipients.empty() ? Q_NULLPTR : keys,
+ encryptflags2encryptflags(flags),
pdp ? pdp->data : 0, cdp ? cdp->data : 0);
delete[] keys;
return EncryptionResult(d->ctx, Error(d->lasterr));
@@ -1684,6 +1685,9 @@
;
static const unsigned long supported_features2 = 0
+#ifdef HAVE_GPGME_DATA_IDENTIFY_GOOD
+ | GpgME::BinaryAndFineGrainedIdentify
+#endif
;
bool GpgME::hasFeature(unsigned long features)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-16.04.3/src/data.cpp new/gpgmepp-16.08.0/src/data.cpp
--- old/gpgmepp-16.04.3/src/data.cpp 2016-06-15 06:35:44.000000000 +0200
+++ new/gpgmepp-16.08.0/src/data.cpp 2016-08-09 16:54:18.000000000 +0200
@@ -164,6 +164,32 @@
return Error(gpgme_data_set_encoding(d->data, ge));
}
+GpgME::Data::Type GpgME::Data::type() const
+{
+ if (isNull()) {
+ return Invalid;
+ }
+#ifdef HAVE_GPGME_DATA_IDENTIFY
+ switch (gpgme_data_identify(d->data, 0)) {
+ case GPGME_DATA_TYPE_INVALID: return Invalid;
+ case GPGME_DATA_TYPE_UNKNOWN: return Unknown;
+ case GPGME_DATA_TYPE_PGP_SIGNED: return PGPSigned;
+ case GPGME_DATA_TYPE_PGP_OTHER: return PGPOther;
+ case GPGME_DATA_TYPE_PGP_KEY: return PGPKey;
+ case GPGME_DATA_TYPE_CMS_SIGNED: return CMSSigned;
+ case GPGME_DATA_TYPE_CMS_ENCRYPTED: return CMSEncrypted;
+ case GPGME_DATA_TYPE_CMS_OTHER: return CMSOther;
+ case GPGME_DATA_TYPE_X509_CERT: return X509Cert;
+ case GPGME_DATA_TYPE_PKCS12: return PKCS12;
+# ifdef HAVE_GPGME_DATA_IDENTIFY_GOOD
+ case GPGME_DATA_TYPE_PGP_ENCRYPTED: return PGPEncrypted;
+ case GPGME_DATA_TYPE_PGP_SIGNATURE: return PGPSignature;
+# endif
+ }
+#endif
+ return Unknown;
+}
+
char *GpgME::Data::fileName() const
{
#ifdef HAVE_GPGME_DATA_SET_FILE_NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-16.04.3/src/data.h new/gpgmepp-16.08.0/src/data.h
--- old/gpgmepp-16.04.3/src/data.h 2016-06-15 06:35:44.000000000 +0200
+++ new/gpgmepp-16.08.0/src/data.h 2016-08-09 16:54:18.000000000 +0200
@@ -83,6 +83,22 @@
Encoding encoding() const;
Error setEncoding(Encoding encoding);
+ enum Type {
+ Invalid,
+ Unknown,
+ PGPSigned,
+ PGPOther,
+ PGPKey,
+ CMSSigned,
+ CMSEncrypted,
+ CMSOther,
+ X509Cert,
+ PKCS12,
+ PGPEncrypted,
+ PGPSignature
+ };
+ Type type() const;
+
char *fileName() const;
Error setFileName(const char *name);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-16.04.3/src/editinteractor.cpp new/gpgmepp-16.08.0/src/editinteractor.cpp
--- old/gpgmepp-16.04.3/src/editinteractor.cpp 2016-06-15 06:35:44.000000000 +0200
+++ new/gpgmepp-16.08.0/src/editinteractor.cpp 2016-08-09 16:54:18.000000000 +0200
@@ -221,27 +221,19 @@
return d->error;
}
-#ifndef GPGME_STATUS_PINENTRY_LAUNCHED
-// New in gpgme 1.5.0
-#define GPGME_STATUS_PINENTRY_LAUNCHED 88
-#endif
-
bool EditInteractor::needsNoResponse(unsigned int status) const
{
switch (status) {
- case GPGME_STATUS_EOF:
- case GPGME_STATUS_GOT_IT:
- case GPGME_STATUS_NEED_PASSPHRASE:
+ case GPGME_STATUS_ALREADY_SIGNED:
+ case GPGME_STATUS_ERROR:
+ case GPGME_STATUS_GET_BOOL:
+ case GPGME_STATUS_GET_LINE:
+ case GPGME_STATUS_KEY_CREATED:
case GPGME_STATUS_NEED_PASSPHRASE_SYM:
- case GPGME_STATUS_GOOD_PASSPHRASE:
- case GPGME_STATUS_BAD_PASSPHRASE:
- case GPGME_STATUS_USERID_HINT:
- case GPGME_STATUS_SIGEXPIRED:
- case GPGME_STATUS_KEYEXPIRED:
- case GPGME_STATUS_PINENTRY_LAUNCHED:
- return true;
- default:
+ case GPGME_STATUS_SC_OP_FAILURE:
return false;
+ default:
+ return true;
}
}
@@ -253,8 +245,6 @@
return Error::fromCode(GPG_ERR_NO_PASSPHRASE);
case GPGME_STATUS_ALREADY_SIGNED:
return Error::fromCode(GPG_ERR_ALREADY_SIGNED);
- case GPGME_STATUS_KEYEXPIRED:
- return Error::fromCode(GPG_ERR_CERT_EXPIRED);
case GPGME_STATUS_SIGEXPIRED:
return Error::fromCode(GPG_ERR_SIG_EXPIRED);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-16.04.3/src/global.h new/gpgmepp-16.08.0/src/global.h
--- old/gpgmepp-16.04.3/src/global.h 2016-06-15 06:35:44.000000000 +0200
+++ new/gpgmepp-16.08.0/src/global.h 2016-08-09 16:54:18.000000000 +0200
@@ -132,8 +132,10 @@
FeatureMaxValue = 0x80000000
};
enum Feature2 {
+ BinaryAndFineGrainedIdentify = 0x00000001, // gpgme >= 1.7.0
Feature2MaxValue = 0x80000000
};
+
// use hasFeature( unsigned long, unsigned long ) instead
GPGMEPP_DEPRECATED_EXPORT bool hasFeature(unsigned long feature);
GPGMEPP_EXPORT bool hasFeature(unsigned long feature, unsigned long feature2);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-16.04.3/src/key.cpp new/gpgmepp-16.08.0/src/key.cpp
--- old/gpgmepp-16.04.3/src/key.cpp 2016-06-15 06:35:44.000000000 +0200
+++ new/gpgmepp-16.08.0/src/key.cpp 2016-08-09 16:54:18.000000000 +0200
@@ -383,9 +383,9 @@
return subkey ? subkey->fpr : 0 ;
}
-unsigned int Subkey::publicKeyAlgorithm() const
+Subkey::PubkeyAlgo Subkey::publicKeyAlgorithm() const
{
- return subkey ? subkey->pubkey_algo : 0 ;
+ return subkey ? static_cast<PubkeyAlgo>(subkey->pubkey_algo) : AlgoUnknown;
}
const char *Subkey::publicKeyAlgorithmAsString() const
@@ -393,6 +393,15 @@
return gpgme_pubkey_algo_name(subkey ? subkey->pubkey_algo : (gpgme_pubkey_algo_t)0);
}
+/* static */
+const char *Subkey::publicKeyAlgorithmAsString(PubkeyAlgo algo)
+{
+ if (algo == AlgoUnknown) {
+ return NULL;
+ }
+ return gpgme_pubkey_algo_name(static_cast(algo));
+}
+
std::string Subkey::algoName() const
{
#ifndef HAVE_GPGME_PUBKEY_ALGO_STRING
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-16.04.3/src/key.h new/gpgmepp-16.08.0/src/key.h
--- old/gpgmepp-16.04.3/src/key.h 2016-06-15 06:35:44.000000000 +0200
+++ new/gpgmepp-16.08.0/src/key.h 2016-08-09 16:54:18.000000000 +0200
@@ -207,7 +207,23 @@
bool isSecret() const;
- unsigned int publicKeyAlgorithm() const;
+ /** Same as gpgme_pubkey_algo_t */
+ enum PubkeyAlgo {
+ AlgoUnknown = 0,
+ AlgoRSA = 1,
+ AlgoRSA_E = 2,
+ AlgoRSA_S = 3,
+ AlgoELG_E = 16,
+ AlgoDSA = 17,
+ AlgoECC = 18,
+ AlgoELG = 20,
+ AlgoECDSA = 301,
+ AlgoECDH = 302,
+ AlgoEDDSA = 303,
+ AlgoMax = 1 << 31
+ };
+
+ PubkeyAlgo publicKeyAlgorithm() const;
/**
@brief Get the public key algorithm name.
@@ -219,11 +235,16 @@
*/
const char *publicKeyAlgorithmAsString() const;
+ /** @brief Same as publicKeyAlgorithmAsString but static. */
+ static const char *publicKeyAlgorithmAsString(PubkeyAlgo algo);
+
/**
@brief Get the key algo string like GnuPG 2.1 prints it.
This returns combinations of size and algorithm. Like
- bp512 or rsa2048
+ bp512 or rsa2048. Misnamed because publicKeyAlgorithmAsString
+ already used the older pubkey_algo_name.
+ Actually uses gpgme_pubkey_algo_string.
@returns the key algorithm as string. Empty string on error.
*/