Bug#583072: libgnupg-perl: Hangs on test

Salvatore Bonaccorso salvatore.bonaccorso at gmail.com
Tue May 25 09:12:04 UTC 2010


Hi Niko!

Thanks for helping out. I will test, apply and forward it upstream!

Bests
Salvatore

On Tue, May 25, 2010 at 12:06:14PM +0300, Niko Tyni wrote:
> On Tue, May 25, 2010 at 09:39:49AM +0200, Salvatore Bonaccorso wrote:
> > Package: libgnupg-perl
> > Version: 0.16-1
> > Severity: serious
> > Justification: FTBFS
> > 
> > Hi
> > 
> > This is a 'blocker' serious bug, to prevent that 0.16 will migrate to
> > testing. libgnupg-perl has on some cirumstances a still unresolved
> > issue, that test hangs:
> > 
> > http://rt.cpan.org/Public/Bug/Display.html?id=56723
> 
> One clear problem is that cpr_send() signals a wrong process
> because of an intervening shell. Patch attached, this fixes
> the hangups for me.
> -- 
> Niko Tyni   ntyni at debian.org

> From fe5e211c07b8c009a952ef46ccfdceed6fcc9bd2 Mon Sep 17 00:00:00 2001
> From: Niko Tyni <ntyni at debian.org>
> Date: Tue, 25 May 2010 11:55:48 +0300
> Subject: [PATCH] Remove an intervening shell, fixing process ID tracking
> 
> cpr_send() needs to know the PID of the child gpg process,
> but it was masked by the intervening shell. Call exec() with
> the list form instead, fixing the few places where whitespace
> was used instead of separate list elements.
> ---
>  GnuPG.pm |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/GnuPG.pm b/GnuPG.pm
> index 3e49c31..7d89b8d 100644
> --- a/GnuPG.pm
> +++ b/GnuPG.pm
> @@ -259,7 +259,7 @@ sub run_gnupg($) {
>            or die "can't open $self->{output} for output: $!\n";
>      } elsif ( $self->{output} ) {
>        my $gpg = shift(@{$cmdline});
> -      unshift(@{$cmdline}, '--output ' . $self->{output});
> +      unshift(@{$cmdline}, '--output' , $self->{output});
>        unshift(@{$cmdline}, $gpg);
>      } # Defaults to stdout
>  
> @@ -278,7 +278,7 @@ sub run_gnupg($) {
>  
>      print STDERR "GnuPG: executing `" . join(' ', @$cmdline) . "`" if $self->{trace};
>  
> -    exec ( join(' ', @$cmdline) )
> +    exec @$cmdline
>        or CORE::die "can't exec gnupg: $!\n";
>      }
>  }
> @@ -532,7 +532,7 @@ sub encrypt($%) {
>      my $options = [];
>      croak ( "no recipient specified\n" )
>        unless $args{recipient} or $args{symmetric};
> -    push @$options, "--recipient" => "'" . $args{recipient} . "'";
> +    push @$options, "--recipient" => $args{recipient};
>  
>      push @$options, "--sign"        if $args{sign};
>      croak ( "can't sign an symmetric encrypted message\n" )
> -- 
> 1.7.1
> 


-- 
  .-.
  oo|  Debian GNU/Linux -- The power of freedom ---------------------- 
 /`'\  GPG key ID: 0x7FD863FE        http://arda.homelinux.org/~salvi/
(\_;/) Fingerprint: 04A4 407C B914 2C23 030C  17AE 789D 6F05 7FD8 63FE
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-perl-maintainers/attachments/20100525/322a474c/attachment.pgp>


More information about the pkg-perl-maintainers mailing list