pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/security/gnupg-devel Re: pkg/34856: upgrade to GnuPG 1...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/73a64a98acc8
branches:  trunk
changeset: 520375:73a64a98acc8
user:      shannonjr <shannonjr%pkgsrc.org@localhost>
date:      Fri Oct 20 15:23:57 2006 +0000

description:
Re: pkg/34856: upgrade to GnuPG 1.9.93
This release is mainly to fix bugs found in 1.9.92.

diffstat:

 security/gnupg-devel/Makefile         |  26 +++++++++++---
 security/gnupg-devel/PLIST            |   7 ++-
 security/gnupg-devel/distinfo         |  21 ++++++++++--
 security/gnupg-devel/patches/patch-aa |  54 ++++++++++++++++++++++++++++++++
 security/gnupg-devel/patches/patch-ab |   8 ++++
 security/gnupg-devel/patches/patch-ac |  21 ++++++++++++
 security/gnupg-devel/patches/patch-ad |  29 +++++++++++++++++
 security/gnupg-devel/patches/patch-ae |  59 +++++++++++++++++++++++++++++++++++
 security/gnupg-devel/patches/patch-af |  12 +++++++
 security/gnupg-devel/patches/patch-ag |  13 +++++++
 security/gnupg-devel/patches/patch-ah |  13 +++++++
 security/gnupg-devel/patches/patch-ai |  12 +++++++
 security/gnupg-devel/patches/patch-aj |  45 ++++++++++++++++++++++++++
 13 files changed, 308 insertions(+), 12 deletions(-)

diffs (truncated from 429 to 300 lines):

diff -r 2da92c8b205e -r 73a64a98acc8 security/gnupg-devel/Makefile
--- a/security/gnupg-devel/Makefile     Fri Oct 20 15:12:20 2006 +0000
+++ b/security/gnupg-devel/Makefile     Fri Oct 20 15:23:57 2006 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.19 2006/10/11 11:59:21 shannonjr Exp $
+# $NetBSD: Makefile,v 1.20 2006/10/20 15:23:57 shannonjr Exp $
 #
 
-DISTNAME=              gnupg-1.9.22
+DISTNAME=              gnupg-1.9.93
 PKGNAME=               ${DISTNAME:S/gnupg/gnupg-devel/}
 CATEGORIES=            security
 MASTER_SITES=          ftp://ftp.gnupg.org/gcrypt/alpha/gnupg/
@@ -9,6 +9,8 @@
 DISTFILES=             ${DISTNAME}${EXTRACT_SUFX}
 DISTFILES+=            pth-2.0.7.tar.gz
 SITES.pth-2.0.7.tar.gz=        ${MASTER_SITE_GNU:=pth/}
+DISTFILES+=            libassuan-0.9.3.tar.bz2
+SITES.libassuan-0.9.3.tar.bz2= ftp://ftp.gnupg.org/gcrypt/alpha/libassuan/
 
 MAINTAINER=            shannonjr%NetBSD.org@localhost
 HOMEPAGE=              ftp://ftp.gnupg.org/gcrypt/alpha/gnupg/
@@ -18,12 +20,16 @@
 
 GNU_CONFIGURE=         yes
 USE_TOOLS+=            gmake
+USE_TOOLS+=            autoconf
+USE_TOOLS+=            automake
 USE_LIBTOOL=           yes
 USE_PKGLOCALEDIR=      yes
 
 CONFIGURE_ARGS+=       --with-static-rnd=auto
 CONFIGURE_ARGS+=       --without-included-gettext
 CONFIGURE_ARGS+=       --with-pth-prefix=${WRKDIR}/pth
+CONFIGURE_ARGS+=       --with-libassuan-prefix=${WRKDIR}/libassuan
+CONFIGURE_ARGS+=       --enable-maintainer-mode
 CONFIGURE_ENV+=                gnupg_cv_pth_is_sane=yes
 
 TEST_TARGET=           check
@@ -49,18 +55,26 @@
 
 # We are building a static pth library and linking against it
 # While this is not very satisfying, gpgme hangs in it's gpgsm tests if we depend on the shared (pkgsrc) pth library
+# We are also building libassuan here to get libassuan-pth.
 pre-configure:
-       cd  ${WRKDIR}/pth-2.0.7 && ./configure --prefix=${WRKDIR}/pth --enable-pthread --enable-static --disable-shared && ${MAKE} install
+       cd  ${WRKDIR}/pth-2.0.7 && \
+       ./configure --prefix=${WRKDIR}/pth --enable-pthread --enable-static --disable-shared && \
+       ${MAKE} install
+       cd  ${WRKDIR}/libassuan-0.9.3 && \
+       ${SETENV} ${CONFIGURE_ENV} ./autogen.sh && \
+       ${SETENV} ${CONFIGURE_ENV} ./configure --enable-maintainer-mode --prefix=${WRKDIR}/libassuan --with-pth-prefix=${WRKDIR}/pth && \
+       ${SETENV} ${PKGSRC_MAKE_ENV} ${MAKE} install
+       cd  ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./autogen.sh
 
-BUILDLINK_API_DEPENDS.libgpg-error+=   libgpg-error>=1.0.0
+BUILDLINK_API_DEPENDS.libgpg-error+=   libgpg-error>=1.4
+BUILDLINK_API_DEPENDS.libksba+=                libksba>=1.0.0
 
 .include "../../databases/openldap-client/buildlink3.mk"
 .include "../../converters/libiconv/buildlink3.mk"
 .include "../../devel/gettext-lib/buildlink3.mk"
 .include "../../devel/zlib/buildlink3.mk"
-.include "../../security/libassuan/buildlink3.mk"
 .include "../../security/libgcrypt/buildlink3.mk"
 .include "../../security/libgpg-error/buildlink3.mk"
 .include "../../security/libksba/buildlink3.mk"
-.include "../../security/pinentry/buildlink3.mk"
+.include "../../www/curl/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
diff -r 2da92c8b205e -r 73a64a98acc8 security/gnupg-devel/PLIST
--- a/security/gnupg-devel/PLIST        Fri Oct 20 15:12:20 2006 +0000
+++ b/security/gnupg-devel/PLIST        Fri Oct 20 15:23:57 2006 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.4 2006/04/17 07:07:33 jlam Exp $
+@comment $NetBSD: PLIST,v 1.5 2006/10/20 15:23:57 shannonjr Exp $
 bin/gpg-agent
 bin/gpg-connect-agent
 bin/gpgconf
@@ -6,10 +6,13 @@
 bin/gpgparsemail
 bin/gpgsm-gencert.sh
 bin/watchgnupg
-info/gnupg.info
 libexec/gpg-preset-passphrase
 libexec/gpg-protect-tool
 sbin/addgnupghome
 share/gnupg/qualified.txt
 share/locale/de/LC_MESSAGES/gnupg2.mo
+share/gnupg/FAQ
+share/gnupg/com-certs.pem
+share/gnupg/faq.html
+share/gnupg/gpg-conf.skel
 @dirrm share/gnupg
diff -r 2da92c8b205e -r 73a64a98acc8 security/gnupg-devel/distinfo
--- a/security/gnupg-devel/distinfo     Fri Oct 20 15:12:20 2006 +0000
+++ b/security/gnupg-devel/distinfo     Fri Oct 20 15:23:57 2006 +0000
@@ -1,8 +1,21 @@
-$NetBSD: distinfo,v 1.14 2006/10/11 11:59:21 shannonjr Exp $
+$NetBSD: distinfo,v 1.15 2006/10/20 15:23:57 shannonjr Exp $
 
-SHA1 (gnupg-1.9.22.tar.bz2) = 10b2a5c256598d9ed25c84d55ea111710b3f8906
-RMD160 (gnupg-1.9.22.tar.bz2) = 43b3e8a17d5e116f5fa0c34bc3beaf68250ec3c3
-Size (gnupg-1.9.22.tar.bz2) = 1908546 bytes
+SHA1 (gnupg-1.9.93.tar.bz2) = 41d8ede14312ea491ddcd207508b5ffb192eb3d1
+RMD160 (gnupg-1.9.93.tar.bz2) = 418c7a3d6f2dc391c939ca7407985e63116f6d7c
+Size (gnupg-1.9.93.tar.bz2) = 3862475 bytes
+SHA1 (libassuan-0.9.3.tar.bz2) = e1a74bd344fe9135759c00b454a65b2e166521df
+RMD160 (libassuan-0.9.3.tar.bz2) = aaf93786454880c3cb1aaa1192e3035359493f6d
+Size (libassuan-0.9.3.tar.bz2) = 255193 bytes
 SHA1 (pth-2.0.7.tar.gz) = 9a71915c89ff2414de69fe104ae1016d513afeee
 RMD160 (pth-2.0.7.tar.gz) = 80bc66777ba20d9648b7aaf3f58d593be6416910
 Size (pth-2.0.7.tar.gz) = 652640 bytes
+SHA1 (patch-aa) = 916346ad387ae4efd638b2c19bbedfe6f309eb2e
+SHA1 (patch-ab) = 501bce9a8474ac37a8e01eceae9b52f0e87868d5
+SHA1 (patch-ac) = ca9e1044a0eb8d3e25cd9c20174047a96038c236
+SHA1 (patch-ad) = 01e9c4449f3cb957facd4642c6298936d7747998
+SHA1 (patch-ae) = b94ff40cdf6ffd2b96d28d541dcd77a8226125c8
+SHA1 (patch-af) = dc81cd9cdd223dc4cff4fe800e63b596b67b649b
+SHA1 (patch-ag) = c65e7499463eb1518c1e38d2deee59afd0726667
+SHA1 (patch-ah) = f4661d5352f0e13aa72b1de5aecf6fc87c193a3c
+SHA1 (patch-ai) = 41223e03b55a8ec7496171fb9fbc96d6c1c9bb1d
+SHA1 (patch-aj) = cb244f9d364db13ed783ab017f2b7caeff279477
diff -r 2da92c8b205e -r 73a64a98acc8 security/gnupg-devel/patches/patch-aa
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/security/gnupg-devel/patches/patch-aa     Fri Oct 20 15:23:57 2006 +0000
@@ -0,0 +1,54 @@
+$NetBSD: patch-aa,v 1.4 2006/10/20 15:23:58 shannonjr Exp $
+
+--- common/memrchr.c.orig      2006-10-19 04:13:12.000000000 -0600
++++ common/memrchr.c
+@@ -0,0 +1,49 @@
++/* memrchr.c - libc replacement function
++ * Copyright (C) 2005 Free Software Foundation, Inc.
++ *
++ * This file is part of GnuPG.
++ *
++ * GnuPG is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * GnuPG is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
++ * USA.
++ */
++
++/*
++  memrchr() is a GNU function that might not be available everywhere.
++  It's basically the inverse of memchr() - search backwards in a
++  memory block for a particular character.
++*/
++
++#include <config.h>
++#include <string.h>
++
++/* There are many ways to optimize this, but this is a simple
++   unoptimized implementation. */
++void *
++memrchr(const void *s, int c, size_t n)
++{
++  const unsigned char *start=s,*end=s;
++
++  end+=n-1;
++
++  while(end>=start)
++    {
++      if(*end==c)
++      return (void *)end;
++      else
++      end--;
++    }
++
++  return NULL;
++}
diff -r 2da92c8b205e -r 73a64a98acc8 security/gnupg-devel/patches/patch-ab
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/security/gnupg-devel/patches/patch-ab     Fri Oct 20 15:23:57 2006 +0000
@@ -0,0 +1,8 @@
+$NetBSD: patch-ab,v 1.7 2006/10/20 15:23:58 shannonjr Exp $
+
+--- common/memrchr.h.orig      2006-10-19 04:13:17.000000000 -0600
++++ common/memrchr.h
+@@ -0,0 +1,3 @@
++#include <string.h>
++void *
++memrchr(const void *s, int c, size_t n);
diff -r 2da92c8b205e -r 73a64a98acc8 security/gnupg-devel/patches/patch-ac
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/security/gnupg-devel/patches/patch-ac     Fri Oct 20 15:23:57 2006 +0000
@@ -0,0 +1,21 @@
+$NetBSD: patch-ac,v 1.3 2006/10/20 15:23:58 shannonjr Exp $
+
+--- common/Makefile.am.orig    2006-10-17 05:49:02.000000000 -0600
++++ common/Makefile.am
+@@ -26,7 +26,7 @@ TESTS = $(module_tests)
+ 
+ AM_CPPFLAGS = -I$(top_srcdir)/gl
+ 
+-AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(KSBA_CFLAGS)
++AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(KSBA_CFLAGS) $(LIBASSUAN_CFLAGS)
+ 
+ common_sources = \
+       common-defs.h \
+@@ -46,6 +46,7 @@ common_sources = \
+       xasprintf.c \
+       xreadline.c \
+       membuf.c membuf.h \
++      memrchr.c memrchr.h \
+       iobuf.c iobuf.h \
+       ttyio.c ttyio.h \
+       asshelp.c asshelp.h \
diff -r 2da92c8b205e -r 73a64a98acc8 security/gnupg-devel/patches/patch-ad
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/security/gnupg-devel/patches/patch-ad     Fri Oct 20 15:23:57 2006 +0000
@@ -0,0 +1,29 @@
+$NetBSD: patch-ad,v 1.3 2006/10/20 15:23:58 shannonjr Exp $
+
+--- ../libassuan-0.9.3/src/libassuan.m4.orig   2006-10-19 04:50:01.000000000 -0600
++++ ../libassuan-0.9.3/src/libassuan.m4
+@@ -125,8 +125,8 @@ dnl
+ AC_DEFUN([AM_PATH_LIBASSUAN_PTH],
+ [ _AM_PATH_LIBASSUAN_COMMON($1,pth)
+   if test $ok = yes; then
+-    LIBASSUAN_PTH_CFLAGS=`$LIBASSUAN_CONFIG $libassuan_config_args --cflags`
+-    LIBASSUAN_PTH_LIBS=`$LIBASSUAN_CONFIG $libassuan_config_args --libs`
++    LIBASSUAN_PTH_CFLAGS=`$LIBASSUAN_CONFIG $libassuan_config_args --thread=pth --cflags`
++    LIBASSUAN_PTH_LIBS=`$LIBASSUAN_CONFIG $libassuan_config_args --thread=pth --libs`
+     ifelse([$2], , :, [$2])
+   else
+     LIBASSUAN_PTH_CFLAGS=""
+@@ -144,10 +144,10 @@ dnl Test for libassuan and define LIBASS
+ dnl                           and LIBASSUAN_PTHREAD_LIBS
+ dnl
+ AC_DEFUN([AM_PATH_LIBASSUAN_PTHREAD],
+-[ _AM_PATH_LIBASSUAN_COMMON($1,pth)
++[ _AM_PATH_LIBASSUAN_COMMON($1,pthread)
+   if test $ok = yes; then
+-    LIBASSUAN_PTHREAD_CFLAGS=`$LIBASSUAN_CONFIG $libassuan_config_args --cflags`
+-    LIBASSUAN_PTHREAD_LIBS=`$LIBASSUAN_CONFIG $libassuan_config_args --libs`
++    LIBASSUAN_PTHREAD_CFLAGS=`$LIBASSUAN_CONFIG $libassuan_config_args --thread=pthread --cflags`
++    LIBASSUAN_PTHREAD_LIBS=`$LIBASSUAN_CONFIG $libassuan_config_args --thread=pthread --libs`
+     ifelse([$2], , :, [$2])
+   else
+     LIBASSUAN_PTHREAD_CFLAGS=""
diff -r 2da92c8b205e -r 73a64a98acc8 security/gnupg-devel/patches/patch-ae
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/security/gnupg-devel/patches/patch-ae     Fri Oct 20 15:23:57 2006 +0000
@@ -0,0 +1,59 @@
+$NetBSD: patch-ae,v 1.1 2006/10/20 15:23:58 shannonjr Exp $
+
+--- agent/findkey.c.orig       2006-10-20 05:29:57.000000000 -0600
++++ agent/findkey.c
+@@ -30,6 +30,7 @@
+ #include <unistd.h>
+ #include <sys/stat.h>
+ #include <assert.h>
++#include <pth.h> /* (we use pth_sleep) */
+ 
+ #include "agent.h"
+ 
+@@ -41,7 +42,7 @@ struct try_unprotect_arg_s {
+ 
+ 
+ /* Write an S-expression formatted key to our key storage.  With FORCE
+-   pased as true an existsing key with the given GRIP will get
++   pased as true an existing key with the given GRIP will get
+    overwritten.  */
+ int
+ agent_write_private_key (const unsigned char *grip,
+@@ -253,6 +254,7 @@ unprotect (ctrl_t ctrl, const char *desc
+       void *cache_marker;
+       const char *pw;
+       
++    retry:
+       pw = agent_get_cache (hexgrip, cache_mode, &cache_marker);
+       if (pw)
+         {
+@@ -266,6 +268,29 @@ unprotect (ctrl_t ctrl, const char *desc
+             }
+           rc  = 0;
+         }
++
++      /* If the pinentry is currently in use, we wait up to 60 seconds
++         for it close and check the cache again.  This solves a common
++         situation where several requests for unprotecting a key have
++         been made but the user is still entering the passphrase for
++         the first request.  Because all requests to agent_askpin are
++         serialized they would then pop up one after the other to
++         request the passphrase - despite that the user has already
++         entered it and is then available in the cache.  This
++         implementation is not race free but in the worst case the
++         user has to enter the passphrase only once more. */
++      if (pinentry_active_p (ctrl, 0))



Home | Main Index | Thread Index | Old Index