On Tue, Nov 22, 2011 at 2:18 PM, David Coppa <[email protected]> wrote:
So, what shall we do?
Nobody cares enough, it seems...
cheers,
David
> On Sun, 13 Nov 2011, Antoine Jacoutot wrote:
>
>> Log message:
>> Sync dependencies after move from libusb to libusb-compat and fix a
>> couple of fallouts. Note that these ports are only the ones that used to
>> have a direct dependency on devel/libusb so there may be some other
>> hidden ports that may break because of the switch. If that's the case,
>> no need to start ranting all over but instead tell me which one(s)
>> break. Thanks.
>
> I'm sorry to bring bad news, but this broke security/gnupg2 in a
> bad way:
>
> (gdb) run --pinentry-program /usr/local/bin/pinentry-curses
> --enable-ssh-support --daemon --log-file ~/.gnupg/gpg-agent.log
> --write-env-file
> Starting program: /usr/local/bin/gpg-agent --pinentry-program
> /usr/local/bin/pinentry-curses --enable-ssh-support --daemon --log-file
> ~/.gnupg/gpg-agent.log --write-env-file
> Ohhhh jeeee: ... this is a bug (global.c:121:global_init)
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to process 2746, thread 0x2037b1800]
> __pth_ring_append (r=0x150, rn=0x20113a9c0) at pth_ring.c:159
> 159 if (r->r_hook == NULL) {
> (gdb) bt
> #0 __pth_ring_append (r=0x150, rn=0x20113a9c0) at pth_ring.c:159
> #1 0x000000021052985e in pth_mutex_acquire (mutex=0x20113a9c0,
> tryonly=Variable "tryonly" is not available.
> ) at pth_sync.c:101
> #2 0x0000000000406ee0 in gcry_pth_mutex_lock (lock=Variable "lock" is not
> available.
> ) at gpg-agent.c:280
> #3 0x000000020630938d in lock_fsm () from /usr/local/lib/libgcrypt.so.15.0
> #4 0x000000020630943b in fips_new_state () from
> /usr/local/lib/libgcrypt.so.15.0
> #5 0x000000020630965c in _gcry_fips_signal_error () from
> /usr/local/lib/libgcrypt.so.15.0
> #6 0x0000000206303844 in _gcry_logv () from /usr/local/lib/libgcrypt.so.15.0
> #7 0x0000000206303eb8 in _gcry_log () from /usr/local/lib/libgcrypt.so.15.0
> #8 0x0000000206303f0f in _gcry_bug () from /usr/local/lib/libgcrypt.so.15.0
> #9 0x000000020630484a in global_init () from /usr/local/lib/libgcrypt.so.15.0
> #10 0x0000000206304c0f in _gcry_vcontrol () from
> /usr/local/lib/libgcrypt.so.15.0
> #11 0x0000000206302cdd in gcry_control () from
> /usr/local/lib/libgcrypt.so.15.0
> #12 0x0000000000408037 in main (argc=8, argv=0x7f7ffffea178) at
> gpg-agent.c:598
>
> This is because the new libusb brings "-pthread" in and you cannot
> mix GNU pth with libpthread, at least until (I think) we'll be able
> to have a working devel/pth built using the "--enable-syscall-hard"
> option that provides replacement syscalls wrapping libpthread ones.
>
> So, for now, we are forced to lose smartcard support unless someone
> can jump in with a fix for this giant mess...
>
> Ciao,
> David
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/security/gnupg2/Makefile,v
> retrieving revision 1.13
> diff -u -p -r1.13 Makefile
> --- Makefile 13 Nov 2011 13:54:05 -0000 1.13
> +++ Makefile 22 Nov 2011 13:17:09 -0000
> @@ -4,7 +4,7 @@ COMMENT = gnu privacy guard - a free PG
>
> DISTNAME = gnupg-2.0.18
> CATEGORIES = security
> -REVISION = 0
> +REVISION = 1
>
> MASTER_SITES = ftp://ftp.gnupg.org/gcrypt/gnupg/ \
> ftp://gd.tuwien.ac.at/privacy/gnupg/gnupg/ \
> @@ -25,8 +25,8 @@ PERMIT_PACKAGE_FTP = Yes
> PERMIT_DISTFILES_CDROM =Yes
> PERMIT_DISTFILES_FTP = Yes
>
> -WANTLIB += assuan bz2 c gcrypt gpg-error pthread
> -WANTLIB += ksba pth readline termcap usb z
> +WANTLIB += assuan bz2 c gcrypt gpg-error
> +WANTLIB += ksba pth readline termcap z
>
> EXTRACT_SUFX = .tar.bz2
>
> @@ -35,8 +35,7 @@ MODULES = devel/gettext
> FLAVORS = ldap
> FLAVOR ?=
>
> -LIB_DEPENDS = devel/libusb-compat \
> - archivers/bzip2 \
> +LIB_DEPENDS = archivers/bzip2 \
> security/libassuan \
> security/libgcrypt \
> security/libksba \
> @@ -61,9 +60,12 @@ USE_GROFF = Yes
>
> CONFIGURE_STYLE = gnu
> CONFIGURE_ENV = CPPFLAGS="-I${LOCALBASE}/include" \
> - LDFLAGS="-L${LOCALBASE}/lib -pthread"
> + LDFLAGS="-L${LOCALBASE}/lib"
> CONFIGURE_ARGS = docdir=${LOCALBASE}/share/doc/gnupg2 \
> --enable-gpgtar
> +
> +# XXX pth/pthread segfault woes
> +CONFIGURE_ARGS += --disable-ccid-driver
>
> # Avoid conflict with gnupg-1.x
> post-install:
>