[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-unattended/var/se3/unattended/install/linuxaux/opt/perl/lib/5.10.0/CPANPLUS/Module/ -> Signature.pm (source)

   1  package CPANPLUS::Module::Signature;
   2  
   3  use strict;
   4  
   5  
   6  use Cwd;
   7  use CPANPLUS::Error;
   8  use Params::Check               qw[check];
   9  use Module::Load::Conditional   qw[can_load];
  10  
  11  
  12  ### detached sig, not actually used afaik --kane ###
  13  #sub get_signature {
  14  #    my $self = shift;
  15  #
  16  #    my $clone = $self->clone;
  17  #    $clone->package( $self->package . '.sig' );
  18  #
  19  #    return $clone->fetch;
  20  #}
  21  
  22  sub check_signature {
  23      my $self = shift;
  24      my $cb = $self->parent;
  25      my $conf = $cb->configure_object;
  26      my %hash = @_;
  27  
  28      my $verbose;
  29      my $tmpl = {
  30          verbose => {default => $conf->get_conf('verbose'), store => \$verbose},
  31      };
  32  
  33      check( $tmpl, \%hash ) or return;
  34  
  35      my $dir = $self->status->extract or (
  36                  error( loc( "Do not know what dir '%1' was extracted to; ".
  37                              "Cannot check signature", $self->module ) ),
  38                  return );
  39  
  40      my $cwd = cwd();
  41      unless( $cb->_chdir( dir => $dir ) ) {
  42          error(loc(  "Could not chdir to '%1', cannot verify distribution '%2'",
  43                      $dir, $self->module ));
  44          return;
  45      }
  46  
  47  
  48      ### check prerequisites
  49      my $flag;
  50      my $use_list = { 'Module::Signature' => '0.06' };
  51      if( can_load( modules => $use_list, verbose => 1 ) ) {
  52          my $rv = Module::Signature::verify();
  53  
  54          unless ($rv eq Module::Signature::SIGNATURE_OK() or
  55              $rv eq Module::Signature::SIGNATURE_MISSING()
  56          ) {
  57              $flag++;    # whoops, bad sig
  58          }
  59      }
  60  
  61      $cb->_chdir( dir => $cwd );
  62      return $flag ? 0 : 1;
  63  }
  64  
  65  1;


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1