[arch-commits] Commit in gnupg/repos (12 files)

Gaëtan Bisson bisson at archlinux.org
Fri Jun 9 08:01:07 UTC 2017


    Date: Friday, June 9, 2017 @ 08:01:06
  Author: bisson
Revision: 298460

db-move: moved gnupg from [testing] to [core] (i686, x86_64)

Added:
  gnupg/repos/core-i686/PKGBUILD
    (from rev 298459, gnupg/repos/testing-i686/PKGBUILD)
  gnupg/repos/core-i686/gnupg.install
    (from rev 298459, gnupg/repos/testing-i686/gnupg.install)
  gnupg/repos/core-i686/scdaemon.patch
    (from rev 298459, gnupg/repos/testing-i686/scdaemon.patch)
  gnupg/repos/core-x86_64/PKGBUILD
    (from rev 298459, gnupg/repos/testing-x86_64/PKGBUILD)
  gnupg/repos/core-x86_64/gnupg.install
    (from rev 298459, gnupg/repos/testing-x86_64/gnupg.install)
  gnupg/repos/core-x86_64/scdaemon.patch
    (from rev 298459, gnupg/repos/testing-x86_64/scdaemon.patch)
Deleted:
  gnupg/repos/core-i686/PKGBUILD
  gnupg/repos/core-i686/install
  gnupg/repos/core-x86_64/PKGBUILD
  gnupg/repos/core-x86_64/install
  gnupg/repos/testing-i686/
  gnupg/repos/testing-x86_64/

----------------------------+
 /PKGBUILD                  |  140 +++++++++++++++++++++++++++++++++++++++++++
 core-i686/PKGBUILD         |   67 --------------------
 core-i686/gnupg.install    |   25 +++++++
 core-i686/install          |   10 ---
 core-i686/scdaemon.patch   |   87 ++++++++++++++++++++++++++
 core-x86_64/PKGBUILD       |   67 --------------------
 core-x86_64/gnupg.install  |   25 +++++++
 core-x86_64/install        |   10 ---
 core-x86_64/scdaemon.patch |   87 ++++++++++++++++++++++++++
 9 files changed, 364 insertions(+), 154 deletions(-)

Deleted: core-i686/PKGBUILD
===================================================================
--- core-i686/PKGBUILD	2017-06-09 08:01:04 UTC (rev 298459)
+++ core-i686/PKGBUILD	2017-06-09 08:01:06 UTC (rev 298460)
@@ -1,67 +0,0 @@
-# $Id$
-# Maintainer: Gaetan Bisson <bisson at archlinux.org>
-# Contributor: Tobias Powalowski <tpowa at archlinux.org>
-# Contributor: Andreas Radke <andyrtr at archlinux.org>
-# Contributor: Judd Vinet <jvinet at zeroflux.org>
-
-pkgname=gnupg
-pkgver=2.1.21
-pkgrel=1
-pkgdesc='Complete and free implementation of the OpenPGP standard'
-url='http://www.gnupg.org/'
-license=('GPL')
-arch=('i686' 'x86_64')
-optdepends=('libldap: gpg2keys_ldap'
-            'libusb-compat: scdaemon')
-makedepends=('libldap' 'libusb-compat')
-depends=('npth' 'libgpg-error' 'libgcrypt' 'libksba' 'libassuan'
-         'pinentry' 'bzip2' 'readline' 'gnutls' 'sqlite')
-validpgpkeys=('D8692123C4065DEA5E0F3AB5249B39D24F25E3B6'
-              '46CC730865BB5C78EBABADCF04376F3EE0856959'
-              '031EC2536E580D8EA286A9F22071B08A33BD3F06'
-              'D238EA65D64C67ED4C3073F28A861B1C7EFD60D9')
-source=("https://gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig})
-sha256sums=('7aead8a8ba75b69866f583b6c747d91414d523bfdfbe9a8e0fe026b16ba427dd'
-            'SKIP')
-
-install=install
-
-conflicts=('dirmngr' 'gnupg2')
-provides=('dirmngr' "gnupg2=${pkgver}")
-replaces=('dirmngr' 'gnupg2')
-
-prepare() {
-	cd "${srcdir}/${pkgname}-${pkgver}"
-	sed '/noinst_SCRIPTS = gpg-zip/c sbin_SCRIPTS += gpg-zip' -i tools/Makefile.in
-}
-
-build() {
-	cd "${srcdir}/${pkgname}-${pkgver}"
-	./configure \
-		--prefix=/usr \
-		--sysconfdir=/etc \
-		--sbindir=/usr/bin \
-		--libexecdir=/usr/lib/gnupg \
-		--enable-maintainer-mode \
-		--enable-symcryptrun \
-
-	make
-}
-
-check() {
-	cd "${srcdir}/${pkgname}-${pkgver}"
-	make check
-}
-
-package() {
-	cd "${srcdir}/${pkgname}-${pkgver}"
-	make DESTDIR="${pkgdir}" install
-	ln -s gpg2 "${pkgdir}"/usr/bin/gpg
-	ln -s gpgv2 "${pkgdir}"/usr/bin/gpgv
-	ln -s gpg2.1.gz "${pkgdir}"/usr/share/man/man1/gpg.1.gz
-
-	cd doc/examples/systemd-user
-	for i in *.*; do
-		install -Dm644 "$i" "${pkgdir}/usr/lib/systemd/user/$i"
-	done
-}

Copied: gnupg/repos/core-i686/PKGBUILD (from rev 298459, gnupg/repos/testing-i686/PKGBUILD)
===================================================================
--- core-i686/PKGBUILD	                        (rev 0)
+++ core-i686/PKGBUILD	2017-06-09 08:01:06 UTC (rev 298460)
@@ -0,0 +1,70 @@
+# $Id$
+# Maintainer: Gaetan Bisson <bisson at archlinux.org>
+# Contributor: Tobias Powalowski <tpowa at archlinux.org>
+# Contributor: Andreas Radke <andyrtr at archlinux.org>
+# Contributor: Judd Vinet <jvinet at zeroflux.org>
+
+pkgname=gnupg
+pkgver=2.1.21
+pkgrel=2
+pkgdesc='Complete and free implementation of the OpenPGP standard'
+url='http://www.gnupg.org/'
+license=('GPL')
+arch=('i686' 'x86_64')
+optdepends=('libldap: gpg2keys_ldap'
+            'libusb-compat: scdaemon')
+makedepends=('libldap' 'libusb-compat')
+depends=('npth' 'libgpg-error' 'libgcrypt' 'libksba' 'libassuan'
+         'pinentry' 'bzip2' 'readline' 'gnutls' 'sqlite')
+validpgpkeys=('D8692123C4065DEA5E0F3AB5249B39D24F25E3B6'
+              '46CC730865BB5C78EBABADCF04376F3EE0856959'
+              '031EC2536E580D8EA286A9F22071B08A33BD3F06'
+              'D238EA65D64C67ED4C3073F28A861B1C7EFD60D9')
+source=("https://gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig}
+        'scdaemon.patch')
+sha256sums=('7aead8a8ba75b69866f583b6c747d91414d523bfdfbe9a8e0fe026b16ba427dd'
+            'SKIP'
+            'b4972dc221c7b76ed15b4cc9d15e2d80b399d76307cf046d1ac617b2b5750278')
+
+install=gnupg.install
+
+conflicts=('dirmngr' 'gnupg2')
+provides=('dirmngr' "gnupg2=${pkgver}")
+replaces=('dirmngr' 'gnupg2')
+
+prepare() {
+	cd "${srcdir}/${pkgname}-${pkgver}"
+	sed '/noinst_SCRIPTS = gpg-zip/c sbin_SCRIPTS += gpg-zip' -i tools/Makefile.in
+	patch -p1 -i ../scdaemon.patch # FS#54271
+}
+
+build() {
+	cd "${srcdir}/${pkgname}-${pkgver}"
+	./configure \
+		--prefix=/usr \
+		--sysconfdir=/etc \
+		--sbindir=/usr/bin \
+		--libexecdir=/usr/lib/gnupg \
+		--enable-maintainer-mode \
+		--enable-symcryptrun \
+
+	make
+}
+
+check() {
+	cd "${srcdir}/${pkgname}-${pkgver}"
+	make check
+}
+
+package() {
+	cd "${srcdir}/${pkgname}-${pkgver}"
+	make DESTDIR="${pkgdir}" install
+	ln -s gpg2 "${pkgdir}"/usr/bin/gpg
+	ln -s gpgv2 "${pkgdir}"/usr/bin/gpgv
+	ln -s gpg2.1.gz "${pkgdir}"/usr/share/man/man1/gpg.1.gz
+
+	cd doc/examples/systemd-user
+	for i in *.*; do
+		install -Dm644 "$i" "${pkgdir}/usr/lib/systemd/user/$i"
+	done
+}

Copied: gnupg/repos/core-i686/gnupg.install (from rev 298459, gnupg/repos/testing-i686/gnupg.install)
===================================================================
--- core-i686/gnupg.install	                        (rev 0)
+++ core-i686/gnupg.install	2017-06-09 08:01:06 UTC (rev 298460)
@@ -0,0 +1,25 @@
+_global_units() {
+	systemctl --global $1 dirmngr.socket gpg-agent.socket gpg-agent-{browser,extra,ssh}.socket
+}
+
+post_install() {
+	# See FS#42798 and FS#47371
+	dirmngr </dev/null &>/dev/null
+
+	# Let systemd supervise daemons by default
+	_global_units enable
+}
+
+post_upgrade() {
+	if (( $(vercmp $2 2.1.13-1) < 0 )); then
+		echo "==> Please kill running gpg-agent and dirmngr processes before using this release."
+	fi
+
+	if (( $(vercmp $2 2.1.21-2) < 0 )); then
+		_global_units enable
+	fi
+}
+
+pre_remove() {
+	_global_units disable
+}

Deleted: core-i686/install
===================================================================
--- core-i686/install	2017-06-09 08:01:04 UTC (rev 298459)
+++ core-i686/install	2017-06-09 08:01:06 UTC (rev 298460)
@@ -1,10 +0,0 @@
-post_install() {
-	# See FS#42798 and FS#47371
-	dirmngr </dev/null &>/dev/null || true
-}
-
-post_upgrade() {
-	if [[ $(vercmp $2 2.1.13-1) = -1 ]]; then
-		echo "==> Please kill running gpg-agent and dirmngr processes before using this release."
-	fi
-}

Copied: gnupg/repos/core-i686/scdaemon.patch (from rev 298459, gnupg/repos/testing-i686/scdaemon.patch)
===================================================================
--- core-i686/scdaemon.patch	                        (rev 0)
+++ core-i686/scdaemon.patch	2017-06-09 08:01:06 UTC (rev 298460)
@@ -0,0 +1,87 @@
+From a8dd96826f8484c0ae93c954035b95c2a75c80f2 Mon Sep 17 00:00:00 2001
+From: NIIBE Yutaka <gniibe at fsij.org>
+Date: Wed, 17 May 2017 09:46:06 +0900
+Subject: [PATCH] g10: Suppress error for card availability check.
+
+* g10/call-agent.c (start_agent): Add semantics for card; Suppress
+error for card check.
+(warn_version_mismatch): Ignore an error for scdaemon.
+(agent_scd_serialno): Call start_agent with
+FLAG_FOR_CARD_SUPPRESS_ERRORS.
+
+--
+
+GnuPG-bug-id: 3165
+Fixes-commit: 97a2394ecafaa6f58e4a1f70ecfd04408dc15606
+Signed-off-by: NIIBE Yutaka <gniibe at fsij.org>
+---
+ g10/call-agent.c | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/g10/call-agent.c b/g10/call-agent.c
+index be8c33d..4698a25 100644
+--- a/g10/call-agent.c
++++ b/g10/call-agent.c
+@@ -184,7 +184,8 @@ default_inq_cb (void *opaque, const char *line)
+ 
+ 
+ /* Print a warning if the server's version number is less than our
+-   version number.  Returns an error code on a connection problem.  */
++   version number.  Returns an error code on a connection problem.
++   Ignore an error for scdaemon (MODE==2).  */
+ static gpg_error_t
+ warn_version_mismatch (assuan_context_t ctx, const char *servername, int mode)
+ {
+@@ -193,7 +194,7 @@ warn_version_mismatch (assuan_context_t ctx, const char *servername, int mode)
+   const char *myversion = strusage (13);
+ 
+   err = get_assuan_server_version (ctx, mode, &serverversion);
+-  if (err)
++  if (err && mode != 2)
+     log_error (_("error getting version from '%s': %s\n"),
+                servername, gpg_strerror (err));
+   else if (compare_version_strings (serverversion, myversion) < 0)
+@@ -217,10 +218,12 @@ warn_version_mismatch (assuan_context_t ctx, const char *servername, int mode)
+ }
+ 
+ 
++#define FLAG_FOR_CARD_SUPPRESS_ERRORS 2
++
+ /* Try to connect to the agent via socket or fork it off and work by
+    pipes.  Handle the server's initial greeting */
+ static int
+-start_agent (ctrl_t ctrl, int for_card)
++start_agent (ctrl_t ctrl, int flag_for_card)
+ {
+   int rc;
+ 
+@@ -280,7 +283,7 @@ start_agent (ctrl_t ctrl, int for_card)
+         }
+     }
+ 
+-  if (!rc && for_card && !did_early_card_test)
++  if (!rc && flag_for_card && !did_early_card_test)
+     {
+       /* Request the serial number of the card for an early test.  */
+       struct agent_card_info_s info;
+@@ -292,7 +295,7 @@ start_agent (ctrl_t ctrl, int for_card)
+         rc = assuan_transact (agent_ctx, "SCD SERIALNO openpgp",
+                               NULL, NULL, NULL, NULL,
+                               learn_status_cb, &info);
+-      if (rc)
++      if (rc && !(flag_for_card & FLAG_FOR_CARD_SUPPRESS_ERRORS))
+         {
+           switch (gpg_err_code (rc))
+             {
+@@ -1023,7 +1026,7 @@ agent_scd_serialno (char **r_serialno, const char *demand)
+   char *serialno = NULL;
+   char line[ASSUAN_LINELENGTH];
+ 
+-  err = start_agent (NULL, 1);
++  err = start_agent (NULL, 1 | FLAG_FOR_CARD_SUPPRESS_ERRORS);
+   if (err)
+     return err;
+ 
+-- 
+2.8.0.rc3
+

Deleted: core-x86_64/PKGBUILD
===================================================================
--- core-x86_64/PKGBUILD	2017-06-09 08:01:04 UTC (rev 298459)
+++ core-x86_64/PKGBUILD	2017-06-09 08:01:06 UTC (rev 298460)
@@ -1,67 +0,0 @@
-# $Id$
-# Maintainer: Gaetan Bisson <bisson at archlinux.org>
-# Contributor: Tobias Powalowski <tpowa at archlinux.org>
-# Contributor: Andreas Radke <andyrtr at archlinux.org>
-# Contributor: Judd Vinet <jvinet at zeroflux.org>
-
-pkgname=gnupg
-pkgver=2.1.21
-pkgrel=1
-pkgdesc='Complete and free implementation of the OpenPGP standard'
-url='http://www.gnupg.org/'
-license=('GPL')
-arch=('i686' 'x86_64')
-optdepends=('libldap: gpg2keys_ldap'
-            'libusb-compat: scdaemon')
-makedepends=('libldap' 'libusb-compat')
-depends=('npth' 'libgpg-error' 'libgcrypt' 'libksba' 'libassuan'
-         'pinentry' 'bzip2' 'readline' 'gnutls' 'sqlite')
-validpgpkeys=('D8692123C4065DEA5E0F3AB5249B39D24F25E3B6'
-              '46CC730865BB5C78EBABADCF04376F3EE0856959'
-              '031EC2536E580D8EA286A9F22071B08A33BD3F06'
-              'D238EA65D64C67ED4C3073F28A861B1C7EFD60D9')
-source=("https://gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig})
-sha256sums=('7aead8a8ba75b69866f583b6c747d91414d523bfdfbe9a8e0fe026b16ba427dd'
-            'SKIP')
-
-install=install
-
-conflicts=('dirmngr' 'gnupg2')
-provides=('dirmngr' "gnupg2=${pkgver}")
-replaces=('dirmngr' 'gnupg2')
-
-prepare() {
-	cd "${srcdir}/${pkgname}-${pkgver}"
-	sed '/noinst_SCRIPTS = gpg-zip/c sbin_SCRIPTS += gpg-zip' -i tools/Makefile.in
-}
-
-build() {
-	cd "${srcdir}/${pkgname}-${pkgver}"
-	./configure \
-		--prefix=/usr \
-		--sysconfdir=/etc \
-		--sbindir=/usr/bin \
-		--libexecdir=/usr/lib/gnupg \
-		--enable-maintainer-mode \
-		--enable-symcryptrun \
-
-	make
-}
-
-check() {
-	cd "${srcdir}/${pkgname}-${pkgver}"
-	make check
-}
-
-package() {
-	cd "${srcdir}/${pkgname}-${pkgver}"
-	make DESTDIR="${pkgdir}" install
-	ln -s gpg2 "${pkgdir}"/usr/bin/gpg
-	ln -s gpgv2 "${pkgdir}"/usr/bin/gpgv
-	ln -s gpg2.1.gz "${pkgdir}"/usr/share/man/man1/gpg.1.gz
-
-	cd doc/examples/systemd-user
-	for i in *.*; do
-		install -Dm644 "$i" "${pkgdir}/usr/lib/systemd/user/$i"
-	done
-}

Copied: gnupg/repos/core-x86_64/PKGBUILD (from rev 298459, gnupg/repos/testing-x86_64/PKGBUILD)
===================================================================
--- core-x86_64/PKGBUILD	                        (rev 0)
+++ core-x86_64/PKGBUILD	2017-06-09 08:01:06 UTC (rev 298460)
@@ -0,0 +1,70 @@
+# $Id$
+# Maintainer: Gaetan Bisson <bisson at archlinux.org>
+# Contributor: Tobias Powalowski <tpowa at archlinux.org>
+# Contributor: Andreas Radke <andyrtr at archlinux.org>
+# Contributor: Judd Vinet <jvinet at zeroflux.org>
+
+pkgname=gnupg
+pkgver=2.1.21
+pkgrel=2
+pkgdesc='Complete and free implementation of the OpenPGP standard'
+url='http://www.gnupg.org/'
+license=('GPL')
+arch=('i686' 'x86_64')
+optdepends=('libldap: gpg2keys_ldap'
+            'libusb-compat: scdaemon')
+makedepends=('libldap' 'libusb-compat')
+depends=('npth' 'libgpg-error' 'libgcrypt' 'libksba' 'libassuan'
+         'pinentry' 'bzip2' 'readline' 'gnutls' 'sqlite')
+validpgpkeys=('D8692123C4065DEA5E0F3AB5249B39D24F25E3B6'
+              '46CC730865BB5C78EBABADCF04376F3EE0856959'
+              '031EC2536E580D8EA286A9F22071B08A33BD3F06'
+              'D238EA65D64C67ED4C3073F28A861B1C7EFD60D9')
+source=("https://gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig}
+        'scdaemon.patch')
+sha256sums=('7aead8a8ba75b69866f583b6c747d91414d523bfdfbe9a8e0fe026b16ba427dd'
+            'SKIP'
+            'b4972dc221c7b76ed15b4cc9d15e2d80b399d76307cf046d1ac617b2b5750278')
+
+install=gnupg.install
+
+conflicts=('dirmngr' 'gnupg2')
+provides=('dirmngr' "gnupg2=${pkgver}")
+replaces=('dirmngr' 'gnupg2')
+
+prepare() {
+	cd "${srcdir}/${pkgname}-${pkgver}"
+	sed '/noinst_SCRIPTS = gpg-zip/c sbin_SCRIPTS += gpg-zip' -i tools/Makefile.in
+	patch -p1 -i ../scdaemon.patch # FS#54271
+}
+
+build() {
+	cd "${srcdir}/${pkgname}-${pkgver}"
+	./configure \
+		--prefix=/usr \
+		--sysconfdir=/etc \
+		--sbindir=/usr/bin \
+		--libexecdir=/usr/lib/gnupg \
+		--enable-maintainer-mode \
+		--enable-symcryptrun \
+
+	make
+}
+
+check() {
+	cd "${srcdir}/${pkgname}-${pkgver}"
+	make check
+}
+
+package() {
+	cd "${srcdir}/${pkgname}-${pkgver}"
+	make DESTDIR="${pkgdir}" install
+	ln -s gpg2 "${pkgdir}"/usr/bin/gpg
+	ln -s gpgv2 "${pkgdir}"/usr/bin/gpgv
+	ln -s gpg2.1.gz "${pkgdir}"/usr/share/man/man1/gpg.1.gz
+
+	cd doc/examples/systemd-user
+	for i in *.*; do
+		install -Dm644 "$i" "${pkgdir}/usr/lib/systemd/user/$i"
+	done
+}

Copied: gnupg/repos/core-x86_64/gnupg.install (from rev 298459, gnupg/repos/testing-x86_64/gnupg.install)
===================================================================
--- core-x86_64/gnupg.install	                        (rev 0)
+++ core-x86_64/gnupg.install	2017-06-09 08:01:06 UTC (rev 298460)
@@ -0,0 +1,25 @@
+_global_units() {
+	systemctl --global $1 dirmngr.socket gpg-agent.socket gpg-agent-{browser,extra,ssh}.socket
+}
+
+post_install() {
+	# See FS#42798 and FS#47371
+	dirmngr </dev/null &>/dev/null
+
+	# Let systemd supervise daemons by default
+	_global_units enable
+}
+
+post_upgrade() {
+	if (( $(vercmp $2 2.1.13-1) < 0 )); then
+		echo "==> Please kill running gpg-agent and dirmngr processes before using this release."
+	fi
+
+	if (( $(vercmp $2 2.1.21-2) < 0 )); then
+		_global_units enable
+	fi
+}
+
+pre_remove() {
+	_global_units disable
+}

Deleted: core-x86_64/install
===================================================================
--- core-x86_64/install	2017-06-09 08:01:04 UTC (rev 298459)
+++ core-x86_64/install	2017-06-09 08:01:06 UTC (rev 298460)
@@ -1,10 +0,0 @@
-post_install() {
-	# See FS#42798 and FS#47371
-	dirmngr </dev/null &>/dev/null || true
-}
-
-post_upgrade() {
-	if [[ $(vercmp $2 2.1.13-1) = -1 ]]; then
-		echo "==> Please kill running gpg-agent and dirmngr processes before using this release."
-	fi
-}

Copied: gnupg/repos/core-x86_64/scdaemon.patch (from rev 298459, gnupg/repos/testing-x86_64/scdaemon.patch)
===================================================================
--- core-x86_64/scdaemon.patch	                        (rev 0)
+++ core-x86_64/scdaemon.patch	2017-06-09 08:01:06 UTC (rev 298460)
@@ -0,0 +1,87 @@
+From a8dd96826f8484c0ae93c954035b95c2a75c80f2 Mon Sep 17 00:00:00 2001
+From: NIIBE Yutaka <gniibe at fsij.org>
+Date: Wed, 17 May 2017 09:46:06 +0900
+Subject: [PATCH] g10: Suppress error for card availability check.
+
+* g10/call-agent.c (start_agent): Add semantics for card; Suppress
+error for card check.
+(warn_version_mismatch): Ignore an error for scdaemon.
+(agent_scd_serialno): Call start_agent with
+FLAG_FOR_CARD_SUPPRESS_ERRORS.
+
+--
+
+GnuPG-bug-id: 3165
+Fixes-commit: 97a2394ecafaa6f58e4a1f70ecfd04408dc15606
+Signed-off-by: NIIBE Yutaka <gniibe at fsij.org>
+---
+ g10/call-agent.c | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/g10/call-agent.c b/g10/call-agent.c
+index be8c33d..4698a25 100644
+--- a/g10/call-agent.c
++++ b/g10/call-agent.c
+@@ -184,7 +184,8 @@ default_inq_cb (void *opaque, const char *line)
+ 
+ 
+ /* Print a warning if the server's version number is less than our
+-   version number.  Returns an error code on a connection problem.  */
++   version number.  Returns an error code on a connection problem.
++   Ignore an error for scdaemon (MODE==2).  */
+ static gpg_error_t
+ warn_version_mismatch (assuan_context_t ctx, const char *servername, int mode)
+ {
+@@ -193,7 +194,7 @@ warn_version_mismatch (assuan_context_t ctx, const char *servername, int mode)
+   const char *myversion = strusage (13);
+ 
+   err = get_assuan_server_version (ctx, mode, &serverversion);
+-  if (err)
++  if (err && mode != 2)
+     log_error (_("error getting version from '%s': %s\n"),
+                servername, gpg_strerror (err));
+   else if (compare_version_strings (serverversion, myversion) < 0)
+@@ -217,10 +218,12 @@ warn_version_mismatch (assuan_context_t ctx, const char *servername, int mode)
+ }
+ 
+ 
++#define FLAG_FOR_CARD_SUPPRESS_ERRORS 2
++
+ /* Try to connect to the agent via socket or fork it off and work by
+    pipes.  Handle the server's initial greeting */
+ static int
+-start_agent (ctrl_t ctrl, int for_card)
++start_agent (ctrl_t ctrl, int flag_for_card)
+ {
+   int rc;
+ 
+@@ -280,7 +283,7 @@ start_agent (ctrl_t ctrl, int for_card)
+         }
+     }
+ 
+-  if (!rc && for_card && !did_early_card_test)
++  if (!rc && flag_for_card && !did_early_card_test)
+     {
+       /* Request the serial number of the card for an early test.  */
+       struct agent_card_info_s info;
+@@ -292,7 +295,7 @@ start_agent (ctrl_t ctrl, int for_card)
+         rc = assuan_transact (agent_ctx, "SCD SERIALNO openpgp",
+                               NULL, NULL, NULL, NULL,
+                               learn_status_cb, &info);
+-      if (rc)
++      if (rc && !(flag_for_card & FLAG_FOR_CARD_SUPPRESS_ERRORS))
+         {
+           switch (gpg_err_code (rc))
+             {
+@@ -1023,7 +1026,7 @@ agent_scd_serialno (char **r_serialno, const char *demand)
+   char *serialno = NULL;
+   char line[ASSUAN_LINELENGTH];
+ 
+-  err = start_agent (NULL, 1);
++  err = start_agent (NULL, 1 | FLAG_FOR_CARD_SUPPRESS_ERRORS);
+   if (err)
+     return err;
+ 
+-- 
+2.8.0.rc3
+



More information about the arch-commits mailing list