# # spec file for package gpgme # # Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: gpgme Version: 1.6.0 Release: 2.1 Summary: A Library Designed to Give Applications Easy Access to GnuPG License: LGPL-2.1+ and GPL-3.0+ Group: Productivity/Security Url: http://www.gnupg.org/related_software/gpgme/ Source: ftp://ftp.gnupg.org/gcrypt/gpgme/%{name}-%{version}.tar.bz2 Source1: ftp://ftp.gnupg.org/gcrypt/gpgme/%{name}-%{version}.tar.bz2.sig Source2: baselibs.conf Source3: gpgme.keyring # used to have a fixed timestamp Source99: %{name}.changes BuildRequires: gpg2 >= 2.0.10 BuildRequires: libassuan-devel >= 2.0.2 BuildRequires: libgpg-error-devel >= 1.11 Requires(post): %{install_info_prereq} Requires(preun): %{install_info_prereq} BuildRoot: %{_tmppath}/%{name}-%{version}-build %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. Currently it uses GnuPG as its back-end, but the API is not 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 Summary: A Library Designed to give Applications easy Access to GnuPG Group: Development/Libraries/C and C++ Requires: gpg2 %description -n libgpgme11 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. Currently it uses GnuPG as its back-end, but the API is not 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 Summary: A Library Designed to give Applications easy Access to GnuPG Group: Development/Libraries/C and C++ Requires: glibc-devel Requires: libgpg-error-devel Requires: libgpgme11 = %{version} Provides: gpgme-devel = %{version} Obsoletes: gpgme-devel < %{version} %requires_ge libassuan-devel %description -n libgpgme-devel 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. Currently it uses GnuPG as its back-end, but the API is not 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. %prep %setup -q %build build_timestamp=$(date -u +%{Y}-%{m}-%{dT}%{H}:%{M}+0000 -r %{SOURCE99}) %configure \ --enable-static \ --disable-fd-passing \ --enable-build-timestamp="${build_timestamp}" make %{?_smp_mflags} %install %make_install # Do this now to make /usr/lib/rpm/brp-chuck-la happy: find %{buildroot} -type f -name "*.la" -delete -print %check %if ! 0%{?qemu_user_space_build} #make check %endif %post -n libgpgme11 -p /sbin/ldconfig %postun -n libgpgme11 -p /sbin/ldconfig %post %install_info --info-dir=%{_infodir} %{_infodir}/gpgme.info.gz %preun %install_info_delete --info-dir=%{_infodir} %{_infodir}/gpgme.info.gz %files %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog ChangeLog-2011 README NEWS THANKS TODO %{_bindir}/gpgme-tool %{_datadir}/common-lisp %{_datadir}/common-lisp/source %{_infodir}/gpgme* %files -n libgpgme11 %defattr(-,root,root) %{_libdir}/libgpgme.so.* %{_libdir}/libgpgme-pthread.so.* %files -n libgpgme-devel %defattr(-,root,root) %{_libdir}/libgpgme.so %{_libdir}/libgpgme-pthread.so %{_libdir}/lib*.a %{_bindir}/gpgme-config %{_datadir}/aclocal/gpgme.m4 %{_includedir}/gpgme.h %changelog * Fri Sep 11 2015 astieger@suse.com - restore taking build timestamp from changelog date * Wed Aug 26 2015 astieger@suse.com - gpgme 1.6.0: * Added gpgme_set_offline to do a key listinging w/o requiring CRL. * Added gpgme_set_status_cb to allow a user to see some status messages. * Added an export mode for secret keys. * More precise error codes are returned if GnuPG >= 2.1.8 is used. * The passphrase handler for the loopback mode has been improved and may also be used with genkey. * Interface changes relative to the 1.5.1 release: gpgme_set_offline NEW. gpgme_get_offline NEW. gpgme_set_status_cb NEW. gpgme_get_status_cb NEW. GPGME_EXPORT_MODE_SECRET NEW GPGME_EXPORT_MODE_RAW NEW. GPGME_EXPORT_MODE_PKCS12 NEW. * Fri Jun 19 2015 astieger@suse.com - fix install-info for clean uninstall [boo#935339] * Mon Jun 8 2015 astieger@suse.com - gpgme 1.5.5: * Fixed crash in key listings for user ids with a backslash. * Fixed regression for GPGSM use with GnuPG < 2.1. * Properly set signature summary for revoked OpenPGP keys. * Tue Apr 14 2015 astieger@suse.com - gpgme 1.5.4: * Fixed a possible crash in the debug code. * Tue Feb 3 2015 coolo@suse.com - making the build reproducible - see http://lists.gnupg.org/pipermail/gnupg-commits/2014-September/010683.html for a very similiar problem * Fri Dec 26 2014 andreas.stieger@gmx.de - gpgme 1.5.3: * The export key functions do now return an error if used with the latest GnuPG version. * Sat Nov 22 2014 andreas.stieger@gmx.de - gpgme 1.5.2: + gpgme-tool is now installed. + Fix external listing for modern keyservers. + Minor other fixes. - disable failing unit tests * Sun Aug 3 2014 andreas.stieger@gmx.de - gpgme 1.5.1 - Fixed possible overflow in gpgsm and uiserver engines. [bnc#890123] [CVE-2014-3564] - Added support for GnuPG 2.1's --with-secret option. - Interface changes relative to the 1.5.0 release: GPGME_KEYLIST_MODE_WITH_SECRET NEW. * Wed May 21 2014 andreas.stieger@gmx.de - gpgme 1.5.0 - On Unices the engine file names are not not anymore hardwired but located via the envvar PATH. All options to set the name of the engines for the configure run are removed. - If GPGME finds the gpgconf binary it defaults to using gpg2 or whatever gpgconf tells as name for the OpenPGP engine. If gpgconf is not found, GPGME looks for an engine named "gpg". - New feature to use the gpgme I/O subsystem to run arbitrary commands. - New flag to use encryption without the default compression step. - New function to access "gpg-conf --list-dirs" - New configure option --enable-fixed-path for use by Android. - Support ECC algorithms. - Interface changes relative to the 1.4.3 release: gpgme_get_dirinfo NEW. gpgme_op_spawn_start NEW. gpgme_op_spawn NEW. GPGME_PROTOCOL_SPAWN NEW. GPGME_SPAWN_DETACHED NEW. GPGME_SPAWN_ALLOW_SET_FG NEW. GPGME_ENCRYPT_NO_COMPRESS NEW. GPGME_PK_ECC NEW. GPGME_MD_SHA224 NEW. gpgme_subkey_t EXTENDED: New field curve. GPGME_STATUS_PLAINTEXT_LENGTH NEW. GPGME_STATUS_MOUNTPOINT NEW. GPGME_STATUS_PINENTRY_LAUNCHED NEW. GPGME_STATUS_ATTRIBUTE NEW. GPGME_STATUS_BEGIN_SIGNING NEW. GPGME_STATUS_KEY_NOT_CREATED NEW. * Tue Aug 13 2013 andreas.stieger@gmx.de - update to 1.4.3: * The default engine names are now taken from the output of gpgconf. If gpgconf is not found the use of gpg 1 is assumed. * New function gpgme_data_identify to detect the type of a message. * Interface changes relative to the 1.4.2 release: gpgme_signers_count NEW. gpgme_data_type_t NEW. gpgme_data_identify NEW. - includes changes from 1.4.2: * Allow symmetric encryption with gpgme_op_encrypt_sign. * Interface changes relative to the 1.4.1 release: gpgme_off_t NEW. gpgme_size_t NEW. GPGME_PROTOCOL_OPENPGP NEW alias. - includes changes from 1.4.1: * Fixed reading of gpg.conf files with excessive use of the group option * Thu May 23 2013 cfarrell@suse.com - license update: LGPL-2.1+ and GPL-3.0+ See the HACKING file in the doc directory * Tue Mar 12 2013 andreas.stieger@gmx.de - gpgme-config --libs lists -lassuan, but libgpgme-devel did not require libassuan-devel [bnc#808882] * Sun Mar 3 2013 andreas.stieger@gmx.de - update to 1.4.0 * New function gpgme_io_writen as a convenience wrapper around gpgme_io_write. * New functions to support the pinentry mode feature of GnuPG 2.1. * New macro GPGME_VERSION_NUMBER to allow supporting different API versions without the need for a configure test. * Several improvements for gpgme-tool. * Better logging of the common "invalid engine" error code. * Support for FD passing is now enabled by default. The configure option --disable-fd-passing may be used to disable this. * Interface changes relative to the 1.3.1 release: GPGME_VERSION_NUMBER NEW. gpgme_io_writen NEW. gpgme_set_global_flag NEW. gpgme_set_pinentry_mode NEW. gpgme_get_pinentry_mode NEW. gpgme_pinentry_mode_t NEW. GPGME_PINENTRY_MODE_DEFAULT NEW. GPGME_PINENTRY_MODE_ASK NEW. GPGME_PINENTRY_MODE_CANCEL NEW. GPGME_PINENTRY_MODE_ERROR NEW. GPGME_PINENTRY_MODE_LOOPBACK NEW. - pass --disable-fd-passing, regression tests crash otherwise - add verification of source tarball signatures during build - remove conflict marker in past changelog entries - drop gpgme-1.3.2-gpgme-config-remove-extraneous-libs.patch other packages in openSUSE:Factory which depend on gpgme also depend on libassuan - autogen call no longer required - call make in %%build section * Fri Nov 16 2012 andreas.stieger@gmx.de - update to 1.3.2 * Remove support for libgpgme-pth. As far as we know, this was never used, and GnuPG is going to use our own npth in the future. * Fix signature summary information for a missing X.509 key. * Fix parsing of dates >= year 2038. - refresh gpgme-1.3.0-gpgme-config-remove-extraneous-libs.patch to gpgme-1.3.2-gpgme-config-remove-extraneous-libs.patch - actual minimum requirement for libgpg-error is >= 1.8 * Thu Dec 1 2011 coolo@suse.com - add automake as buildrequire to avoid implicit dependency * Sun Oct 2 2011 crrodriguez@opensuse.org - Workaround qemu-arm bugs - remove support for the "pth" library, which has not seen mainteniance for around 5 years, native pthread support should be just fine in linux too. * Mon Sep 5 2011 vuntz@opensuse.org - Move gpg2 Requires from gpgme to libgpgme11 since it's the library that will call the binary when it needs it. Fix bnc#715963. - Add libgpgme11 Requires to gpgme as this package makes no sense without the library. * Fri Jul 29 2011 puzel@novell.com - update to gpgme-1.3.1 - Detect GPG versions not supporting ---passwd. - Interface changes relative to the 1.3.0 release: GPGME_EXPORT_MODE_MINIMAL NEW GPGME_STATUS_SUCCESS NEW gpgme_err_code_from_syserror NEW gpgme_err_set_errno NEW gpgme_error_from_errno CHANGED: Return gpgme_error_t gpgme_error_from_syserror NEW - drop gnupg-2.0.17-test-failure.patch (fixed upstream) * Thu Apr 28 2011 idoenmez@novell.com - Add gnupg-2.0.17-test-failure.patch: fix test failure with gnupg 2.0.17 * Fri Feb 4 2011 sbrabec@suse.cz - Removed unneeded dependency of libgpgme11. * Mon Jan 31 2011 gber@opensuse.org - added gpgme-1.3.0-gpgme-config-remove-extraneous-libs.patch in order to remove the extraneuos libassuan from gpgme-config * Tue Dec 14 2010 cristian.rodriguez@opensuse.org - run spec cleaner - fix -devel package dependencies * Wed Apr 14 2010 chris@computersalat.de - fix deps o pth / libpth-devel >= 2.0.7 * Mon Apr 5 2010 aj@suse.de - Add requires of libassuan-devel on devel package. * Wed Mar 31 2010 puzel@novell.com - update to gpgme-1.3 * GPGME does not come with an internal libassuan version anymore. The external libassuan 1.1.0 release or later is required. For application programmers on systems that can resolve inter-library dependencies at runtime, this is a transparent change. * New engine GPGME_PROTOCOL_G13 to support the new g13 tool. * New engine GPGME_PROTOCOL_UISERVER to support UI Servers. * New API to change the passpgrase of a key. * Interface changes relative to the 1.2.0 release: - GPGME_STATUS_INV_SGNR NEW. - GPGME_STATUS_NO_SGNR NEW. - GPGME_PROTOCOL_G13 NEW. - gpgme_op_g13_mount NEW. - gpgme_g13_result_t NEW. - GPGME_PK_ECDSA NEW. - GPGME_PK_ECDH NEW. - gpgme_op_passwd_start NEW. - gpgme_op_passwd NEW. - drop gpgme-1.1.8-makecheck.patch (not needed) * Sun Jan 31 2010 jengelh@medozas.de - package baselibs.conf * Tue Jun 23 2009 puzel@novell.com - update to gpgme-1.2.0 * New encryption flag GPGME_ENCRYPT_NO_ENCRYPT_TO to disable default recipients. * gpgme_new will fail if gpgme_check_version was not called, or a selftest failed (for example, if -mms-bitfields was not used on MingW32 targets). * New functions gpgme_io_read and gpgme_io_write for use with gpgme_passphrase_cb_t and gpgme_edit_cb_t functions. * New functions gpgme_result_ref and gpgme_result_unref to detach result structures from a context. * New functions gpgme_op_export_keys_start and gpgme_op_export_keys that allow to specify exported keys through gpgme_key_t objects instead of patterns. * New mode of operation gpgme_export_mode_t that allows exporting external keys. - drop unneeded BRs: libgcrypt-devel, libksba-devel * Thu Jun 11 2009 puzel@suse.cz - change BuildRequires: (pth-devel -> libpth-devel) * Tue Jun 2 2009 dmueller@suse.de - fix requires of devel package * Mon Jun 1 2009 puzel@suse.cz - BuildRequires: pth-devel * Wed Feb 18 2009 puzel@suse.cz - update to 1.1.8 * SIGPIPE is now again ignored as described in the manual. Fixes regresion introduced with 1.1.6. * Mon Dec 8 2008 puzel@suse.cz - update to 1.1.7 - using GPGME_KEYLIST_MODE_LOCAL combined with GPGME_KEYLIST_MODE_EXTERN is now supported - the encoding of gpgme_data_t objects can affect the output encoding of export, sign and encrypt operations now - the reference manual now includes the specification of "The GnuPG UI Server protocol" - a new function gpgme_cancel_async can be used to asynchronously cancel any pending operation at any time, from any thread - remove gpgme-1.1.6-from-upstream.patch (fixed upstream) - remove gpgme-1.1.4-warning.patch (fixed upstream) - fix obsolete usage of run_ldconfig * Thu Apr 10 2008 ro@suse.de - added baselibs.conf file to build xxbit packages for multilib support * Wed Feb 6 2008 bk@suse.de - update to version 1.1.6: API extensions, eg for gpgconf thru gpgme - add upstream patches to run the testsuite non-interactively * Thu Dec 27 2007 crrodriguez@suse.de - fix library-without-ldconfig-post* errors - remove "la" files * Tue Aug 7 2007 ro@suse.de - remove devel requires from library package * Mon Aug 6 2007 mrueckert@suse.de - add defattr to the lib package * Mon Aug 6 2007 zpetrova@suse.cz - split gpgme to libgpgme11 and gpgme. * Fri Jul 27 2007 zpetrova@suse.cz - update to version 1.1.5 - small bug and portability fixes. * Wed May 16 2007 zpetrova@suse.cz - removed gpg from Requires list. (#273491) * Mon Mar 12 2007 zpetrova@suse.cz - updated filelist * Fri Mar 9 2007 ltinkl@suse.cz - update to latest version (1.1.4), needed for gpa * Detect and bail out on double plaintext messages. This is required so that applications can properly detect the signed parts of a message. Actual there is now a double protection as GnuPG 1.4.7 will detect this case too. * Fixed a memory leak in gpgme_data_release_and_get_mem. * Fixed a bug in Windows command line quoting. * Sun Feb 4 2007 ro@suse.de - updated filelist * Wed Sep 20 2006 anosek@suse.cz - fixed compiler warning: variable "key" is used before its value is set [#159104] (warning.patch) * Mon Jul 17 2006 nadvornik@suse.cz - fixed pthread support in gpgme-config * Wed Jun 28 2006 zpetrova@suse.cz - update to version 1.1.2 * Thu Jan 26 2006 sbrabec@suse.cz - Added %%install_info_prereq. * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Sat Jan 14 2006 kukuk@suse.de - Create devel subpackage [#140727] * Sat Dec 3 2005 meissner@suse.de - require libgpg-error-devel (since we include headers that include headers from there). * Mon Nov 28 2005 zpetrova@suse.cz - Update to version 1.0.3 (#135395). * Thu Feb 17 2005 didge@suse.de - update to stable version 1.0.2 - update of url * Mon Jul 12 2004 adrian@suse.de - update to version 0.9.0 * support for gpg2 * Thu Mar 18 2004 didge@suse.de - fixed bug #36194 * Fri Feb 27 2004 ro@suse.de - added libgpg-error to neededforbuild * Mon Feb 9 2004 didge@suse.de - version 0.3.16 * Sat Jan 10 2004 adrian@suse.de - add %%run_ldconfig * Tue Sep 2 2003 mc@suse.de - add newpg, libgcrypt and libksba to neededforbuild again it is needed to support kmail with cryptplug fixed #29620, #29641 and #29642 * Mon Aug 11 2003 adrian@suse.de - cleanup #neededforbuild and requires * Tue Aug 5 2003 adrian@suse.de - fix libtool handling to get shared libraries * Thu May 22 2003 coolo@suse.de - fixing info pages * Wed Apr 16 2003 coolo@suse.de - use BuildRoot * Fri Feb 21 2003 mc@suse.de - fixed -fPIC and lib64 Problems * Thu Feb 20 2003 mc@suse.de - update to version 0.3.15 * Thu Jan 30 2003 didge@suse.de - Version 0.3.14 * Mon Oct 21 2002 didge@suse.de - Version 0.3.12 * Wed Sep 25 2002 ro@suse.de - removed bogus self-provides again * Wed Sep 25 2002 didge@suse.de - Version 0.3.11 * Tue Sep 10 2002 didge@suse.de - Version 0.3.10 * Wed Jul 31 2002 didge@suse.de - Version 0.3.8 * Fri Jun 21 2002 didge@suse.de - New Version 0.3.7 * Fri May 10 2002 didge@suse.de - New Version 0.3.6 * Tue May 7 2002 ro@suse.de - fixed specfile: no macro allowed in Version: line * Fri Mar 8 2002 didge@suse.de - New Version 0.3.4 * Thu Feb 14 2002 didge@suse.de - New Version 0.3.3 * Fri Jan 4 2002 didge@suse.de - New Version 0.3.0 * Wed Oct 31 2001 didge@suse.de - Fixed patch * Mon Oct 29 2001 didge@suse.de - Needs a patch to build on other platforms than i386 * Tue Oct 9 2001 didge@suse.de - Version 0.2.3 - needs a patch to build because something is broken?! * Thu Sep 13 2001 didge@suse.de - Fix a bug to build under AXP * Wed Aug 22 2001 didge@suse.de - First build, Verison 0.2.2