Hello community, here is the log from the commit of package gpgmepp5 for openSUSE:Factory checked in at 2016-05-31 12:16:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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-03-26 15:13:10.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.gpgmepp5.new/gpgmepp5.changes 2016-05-31 12:16:43.000000000 +0200 @@ -1,0 +2,24 @@ +Sat May 7 10:11:50 UTC 2016 - tittiatc...@gmail.com + +- Update to KDE Applications 16.04.1 + * KDE Applications 16.04.1 + * https://www.kde.org/announcements/announce-applications-16.04.1.php + + +------------------------------------------------------------------- +Sun Apr 17 05:51:26 UTC 2016 - tittiatc...@gmail.com + +- Update to KDE Applications 16.04.0 + * KDE Applications 16.04.0 + * https://www.kde.org/announcements/announce-applications-16.04.0.php + + +------------------------------------------------------------------- +Mon Apr 11 06:31:51 UTC 2016 - tittiatc...@gmail.com + +- Update to KDE Applications 16.03.90 + * KDE Applications 16.04.0 RC + * https://www.kde.org/announcements/announce-applications-16.04-rc.php + + +------------------------------------------------------------------- Old: ---- gpgmepp-15.12.3.tar.xz New: ---- gpgmepp-16.04.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gpgmepp5.spec ++++++ --- /var/tmp/diff_new_pack.ImOjXJ/_old 2016-05-31 12:16:44.000000000 +0200 +++ /var/tmp/diff_new_pack.ImOjXJ/_new 2016-05-31 12:16:44.000000000 +0200 @@ -18,7 +18,7 @@ %define kf5_version 5.5.0 Name: gpgmepp5 -Version: 15.12.3 +Version: 16.04.1 Release: 0 Summary: C++ bindings/wrapper for gpgme License: LGPL-2.1+ ++++++ gpgmepp-15.12.3.tar.xz -> gpgmepp-16.04.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-15.12.3/CMakeLists.txt new/gpgmepp-16.04.1/CMakeLists.txt --- old/gpgmepp-15.12.3/CMakeLists.txt 2015-10-21 07:52:38.000000000 +0200 +++ new/gpgmepp-16.04.1/CMakeLists.txt 2016-04-29 18:08:00.000000000 +0200 @@ -3,7 +3,7 @@ project(Gpgmepp) # ECM setup -find_package(ECM 5.14.0 CONFIG REQUIRED) +find_package(ECM 5.19.0 CONFIG REQUIRED) set(CMAKE_MODULE_PATH ${Gpgmepp_SOURCE_DIR}/cmake ${ECM_MODULE_PATH}) include(GenerateExportHeader) @@ -14,12 +14,12 @@ include(FeatureSummary) include(KDEInstallDirs) include(KDECMakeSettings) -include(KDEFrameworkCompilerSettings) +include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) -set(KF5_VERSION "5.14.0") -set(GPGMEPP_LIB_VERSION "4.80.0") -set(QT_MIN_VERSION "5.4.0") +set(KF5_VERSION "5.19.0") +set(GPGMEPP_LIB_VERSION "5.2.1") +set(QT_MIN_VERSION "5.2.0") ecm_setup_version(${GPGMEPP_LIB_VERSION} VARIABLE_PREFIX GPGMEPP VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/gpgmepp_version.h" @@ -37,11 +37,6 @@ ) find_package(Boost REQUIRED) -if(WIN32) - find_package(KDEWin REQUIRED) - INCLUDE_DIRECTORIES(${KDEWIN_INCLUDES}) - LINK_LIBRARIES(${KDEWIN_LIBRARIES}) -endif() ########### CMake Config Files ########### set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Gpgmepp") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-15.12.3/autotests/installtest.cpp new/gpgmepp-16.04.1/autotests/installtest.cpp --- old/gpgmepp-15.12.3/autotests/installtest.cpp 2015-10-21 07:52:38.000000000 +0200 +++ new/gpgmepp-16.04.1/autotests/installtest.cpp 2016-04-29 18:08:00.000000000 +0200 @@ -36,6 +36,7 @@ #include <assert.h> #include <errno.h> #include <stdlib.h> +#include "../src/util.h" using namespace GpgME; @@ -67,9 +68,9 @@ { printf("GPGME_PROTOCOL_CMS: %s\n", - gpgme_strerror(gpgme_engine_check_version(GPGME_PROTOCOL_CMS))); + gpgmepp_strerror_r(gpgme_engine_check_version(GPGME_PROTOCOL_CMS))); printf("GPGME_PROTOCOL_OpenPGP: %s\n", - gpgme_strerror(gpgme_engine_check_version(GPGME_PROTOCOL_OpenPGP))); + gpgmepp_strerror_r(gpgme_engine_check_version(GPGME_PROTOCOL_OpenPGP))); gpgme_engine_info_t ei = 0; if (gpgme_get_engine_info(&ei)) { printf("error not engine info found \n"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-15.12.3/cmake/FindGpgme.cmake new/gpgmepp-16.04.1/cmake/FindGpgme.cmake --- old/gpgmepp-15.12.3/cmake/FindGpgme.cmake 2015-10-21 07:52:38.000000000 +0200 +++ new/gpgmepp-16.04.1/cmake/FindGpgme.cmake 2016-04-29 18:08:00.000000000 +0200 @@ -87,12 +87,6 @@ else() - # is this needed, of just unreflected cut'n'paste? - # this isn't a KDE library, after all! - if( NOT KDEWIN_FOUND ) - find_package( KDEWIN REQUIRED ) - endif() - set( GPGME_FOUND false ) set( GPGME_VANILLA_FOUND false ) set( GPGME_GLIB_FOUND false ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-15.12.3/src/ConfigureChecks.cmake new/gpgmepp-16.04.1/src/ConfigureChecks.cmake --- old/gpgmepp-15.12.3/src/ConfigureChecks.cmake 2015-10-21 07:52:38.000000000 +0200 +++ new/gpgmepp-16.04.1/src/ConfigureChecks.cmake 2016-04-29 18:08:00.000000000 +0200 @@ -429,7 +429,7 @@ } " HAVE_GPGME_CONF_ARG_NEW_WITH_CONST_VALUE ) -# check if gpgme has offline mode support (new in 1.5.6) +# check if gpgme has offline mode support (new in 1.6.0) check_cxx_source_compiles (" #include <gpgme.h> int main() { @@ -438,6 +438,9 @@ } " HAVE_GPGME_CTX_OFFLINE ) +# 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 ) + set(CMAKE_EXTRA_INCLUDE_FILES gpgme.h) # defined in gpgme versions >= 1.4.2 check_type_size(gpgme_ssize_t GPGME_SSIZE_T) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-15.12.3/src/config-gpgme++.h.cmake new/gpgmepp-16.04.1/src/config-gpgme++.h.cmake --- old/gpgmepp-15.12.3/src/config-gpgme++.h.cmake 2015-10-21 07:52:38.000000000 +0200 +++ new/gpgmepp-16.04.1/src/config-gpgme++.h.cmake 2016-04-29 18:08:00.000000000 +0200 @@ -114,6 +114,9 @@ /* Define to 1 if your gpgme defines gpgme_off_t */ #cmakedefine HAVE_GPGME_OFF_T 1 +/* Define to 1 if your gpgme has gpgme_pubkey_algo_string */ +#cmakedefine HAVE_GPGME_PUBKEY_ALGO_STRING 1 + #ifndef HAVE_GPGME_GPG_ERROR_WRAPPERS # ifndef HAVE_GPG_ERR_SET_ERRNO # include <errno.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-15.12.3/src/context.cpp new/gpgmepp-16.04.1/src/context.cpp --- old/gpgmepp-15.12.3/src/context.cpp 2015-10-21 07:52:38.000000000 +0200 +++ new/gpgmepp-16.04.1/src/context.cpp 2016-04-29 18:08:00.000000000 +0200 @@ -110,14 +110,6 @@ } } -static void format_error(gpgme_error_t err, std::string &str) -{ - char buffer[ 1024 ]; - gpgme_strerror_r(err, buffer, sizeof buffer); - buffer[ sizeof buffer - 1 ] = '\0'; - str = buffer; -} - const char *Error::source() const { return gpgme_strsource((gpgme_error_t)mErr); @@ -126,7 +118,7 @@ const char *Error::asString() const { if (mMessage.empty()) { - format_error(static_cast<gpgme_error_t>(mErr), mMessage); + mMessage = gpgmepp_strerror_r(static_cast<gpgme_error_t>(mErr)); } return mMessage.c_str(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-15.12.3/src/editinteractor.cpp new/gpgmepp-16.04.1/src/editinteractor.cpp --- old/gpgmepp-15.12.3/src/editinteractor.cpp 2015-10-21 07:52:38.000000000 +0200 +++ new/gpgmepp-16.04.1/src/editinteractor.cpp 2016-04-29 18:08:00.000000000 +0200 @@ -25,6 +25,7 @@ #include "editinteractor.h" #include "callbacks.h" #include "error.h" +#include "util.h" #ifdef HAVE_GPGME_GPG_ERROR_WRAPPERS #include <gpgme.h> @@ -172,8 +173,9 @@ } if (ei->debug) { + std::string errMsg = gpgmepp_strerror_r(ei->error.encodedError()); std::fprintf(ei->debug, "EditInteractor: error now %u (%s)\n", - ei->error.encodedError(), gpgme_strerror(ei->error.encodedError())); + ei->error.encodedError(), errMsg.c_str()); } return ei->error.encodedError(); @@ -219,6 +221,11 @@ 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) { @@ -231,6 +238,7 @@ case GPGME_STATUS_USERID_HINT: case GPGME_STATUS_SIGEXPIRED: case GPGME_STATUS_KEYEXPIRED: + case GPGME_STATUS_PINENTRY_LAUNCHED: return true; default: return false; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-15.12.3/src/exception.cpp new/gpgmepp-16.04.1/src/exception.cpp --- old/gpgmepp-15.12.3/src/exception.cpp 2015-10-21 07:52:38.000000000 +0200 +++ new/gpgmepp-16.04.1/src/exception.cpp 2016-04-29 18:08:00.000000000 +0200 @@ -22,6 +22,7 @@ // -*- c++ -*- #include "exception.h" +#include "util.h" #include <gpgme.h> @@ -44,15 +45,11 @@ if (opt & MessageOnly) { return msg; } - char error_string[128]; - error_string[0] = '\0'; - gpgme_strerror_r(err.encodedError(), error_string, sizeof error_string); - error_string[sizeof error_string - 1] = '\0'; stringstream ss; ss << gpgme_strsource(err.encodedError()) << ": "; if (!msg.empty()) { ss << msg << ": "; } - ss << error_string << " (" << static_cast<unsigned long>(err.encodedError()) << ')'; + ss << gpgmepp_strerror_r(err.encodedError()) << " (" << static_cast<unsigned long>(err.encodedError()) << ')'; return ss.str(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-15.12.3/src/key.cpp new/gpgmepp-16.04.1/src/key.cpp --- old/gpgmepp-15.12.3/src/key.cpp 2015-10-21 07:52:38.000000000 +0200 +++ new/gpgmepp-16.04.1/src/key.cpp 2016-04-29 18:08:00.000000000 +0200 @@ -393,6 +393,21 @@ return gpgme_pubkey_algo_name(subkey ? subkey->pubkey_algo : (gpgme_pubkey_algo_t)0); } +std::string Subkey::algoName() const +{ +#ifndef HAVE_GPGME_PUBKEY_ALGO_STRING + return std::string(); +#else + char *gpgmeStr; + if (subkey && (gpgmeStr = gpgme_pubkey_algo_string(subkey))) { + std::string ret = std::string(gpgmeStr); + gpgme_free(gpgmeStr); + return ret; + } + return std::string(); +#endif +} + bool Subkey::canEncrypt() const { return subkey && subkey->can_encrypt; @@ -773,10 +788,7 @@ if (!sig) { return std::string(); } - char buf[ 1024 ]; - gpgme_strerror_r(sig->status, buf, sizeof buf); - buf[ sizeof buf - 1 ] = '\0'; - return std::string(buf); + return gpgmepp_strerror_r(sig->status); } GpgME::Notation UserID::Signature::notation(unsigned int idx) const diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-15.12.3/src/key.h new/gpgmepp-16.04.1/src/key.h --- old/gpgmepp-15.12.3/src/key.h 2015-10-21 07:52:38.000000000 +0200 +++ new/gpgmepp-16.04.1/src/key.h 2016-04-29 18:08:00.000000000 +0200 @@ -208,8 +208,27 @@ bool isSecret() const; unsigned int publicKeyAlgorithm() const; + + /** + @brief Get the public key algorithm name. + + This only works for the pre 2.1 algorithms for ECC NULL is returned. + + @returns a statically allocated string with the name of the public + key algorithm, or NULL if that name is not known. + */ const char *publicKeyAlgorithmAsString() const; + /** + @brief Get the key algo string like GnuPG 2.1 prints it. + + This returns combinations of size and algorithm. Like + bp512 or rsa2048 + + @returns the key algorithm as string. Empty string on error. + */ + std::string algoName() const; + unsigned int length() const; const char *cardSerialNumber() const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gpgmepp-15.12.3/src/util.h new/gpgmepp-16.04.1/src/util.h --- old/gpgmepp-15.12.3/src/util.h 2015-10-21 07:52:38.000000000 +0200 +++ new/gpgmepp-16.04.1/src/util.h 2016-04-29 18:08:00.000000000 +0200 @@ -176,4 +176,15 @@ } #endif +/** @short C++ wrapper around gpgme_strerror_r */ +static inline std::string gpgmepp_strerror_r(const gpg_error_t err) +{ + char buf[1024]; + gpgme_strerror_r(err, buf, sizeof(buf)); + // the documentation for gpgme_strerror_r doesn't say anything about + // the trailing null, so better play it safe + buf[sizeof(buf) - 1] = '\0'; + return std::string(buf); +} + #endif // __GPGMEPP_UTIL_H__