lib/CPAN/FirstTime.pm Utility for creating CPAN config files
lib/CPAN/Nox.pm Runs CPAN while avoiding compiled extensions
lib/CPAN/PAUSE2003.pub CPAN public key
+lib/CPAN/PAUSE2005.pub CPAN public key
lib/CPAN/Version.pm Simple math with different flavors of version strings
lib/CPAN.pm Interface to Comprehensive Perl Archive Network
lib/CPAN/t/loadme.t See if CPAN the module works
# -*- Mode: cperl; coding: utf-8; cperl-indent-level: 4 -*-
package CPAN;
-$VERSION = '1.76_60';
+$VERSION = '1.76_61';
$VERSION = eval $VERSION;
use CPAN::Version;
use File::Copy ();
use File::Find;
use File::Path ();
+use File::Spec;
+use File::Temp ();
use FileHandle ();
use Safe ();
+use Sys::Hostname;
use Text::ParseWords ();
use Text::Wrap;
-use File::Spec;
-use File::Temp ();
-use Sys::Hostname;
no lib "."; # we need to run chdir all over and we would get at wrong
# libraries there
$CPAN::Frontend->myprint(qq{ + _check_binary($binary)\n})
if $CPAN::DEBUG;
- $pid = open $readme, "-|", "which", $binary
- or $CPAN::Frontend->mydie(qq{Could not fork $binary: $!});
+ $pid = open $readme, "which $binary|"
+ or $CPAN::Frontend->mydie(qq{Could not fork 'which $binary': $!});
while (<$readme>) {
$out .= $_;
}
- close $readme;
+ close $readme or die "Could not run 'which $binary': $!";
$CPAN::Frontend->myprint(qq{ + $out \n})
if $CPAN::DEBUG && $out;
$CPAN::Frontend->myprint(qq{ERROR: problems while getting $url, $!\n})
unless defined($saved_file);
- $pid = open $readme, "-|", $html_converter, $saved_file
+ $pid = open $readme, "$html_converter $saved_file |"
or $CPAN::Frontend->mydie(qq{
-Could not fork $html_converter $saved_file: $!});
+Could not fork '$html_converter $saved_file': $!});
my $fh = File::Temp->new(
template => 'cpan_htmlconvert_XXXX',
suffix => '.txt',
$fh->print($_);
}
close $readme
- or $CPAN::Frontend->mydie(qq{Could not close file handle: $!});
+ or $CPAN::Frontend->mydie(qq{Could not run '$html_converter $saved_file': $!});
my $tmpin = $fh->filename;
$CPAN::Frontend->myprint(sprintf(qq{
Run '%s %s' and
use File::Path ();
use File::Spec;
use vars qw($VERSION);
-our $VERSION = sprintf "%.3f", 2 + substr(q$Rev: 147 $,4)/1000;
+$VERSION = sprintf "%.2f", substr(q$Rev: 231 $,4)/100;
=head1 NAME
+# http://module-build.sourceforge.net/META-spec.html
#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
name: CPAN
-version: 1.76
+version: 1.76_61
version_from: lib/CPAN.pm
installdirs: perl
requires:
- Test::More: 0
File::Spec: 0
+ Test::More: 0
distribution_type: module
-generated_by: ExtUtils::MakeMaker version 6.12
+generated_by: ExtUtils::MakeMaker version 6.30
use base 'Exporter';
use CPAN;
-my $Id = q$Id: APC.pm 147 2005-08-09 04:25:25Z k $;
-our $VERSION = sprintf "%.3f", 2 + substr(q$Rev: 147 $,4)/1000;
+$VERSION = sprintf "%.2f", substr(q$Rev: 231 $,4)/100;
$CPAN::META->has_inst('Digest::MD5','no');
$CPAN::META->has_inst('LWP','no');
$CPAN::META->has_inst('Compress::Zlib','no');
--- /dev/null
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.1 (GNU/Linux)
+
+mQGiBD4+cJARBACxOByY0SJBBuJoFrH2hoqRFny423gY6V3jq1uTgGY/PPaxP+Sq
+r3RzxPct4vJcsoo48pwBsMHLrWfORq26zb6eKgmMq/CQo2gzaRbeRxCi3ke4KBmu
+aREi6RjaZSU94yABtDmspUBrpYV8zfZMv5ZIQlg9W1Tu66BFOUrrNeDpKwCgosCp
+9dtNAMhHkzxs8UJH5i3Uzb0D/0VLoAE8sOfUXqjc38rxiHuGBFSNC70Ih4mzGUCJ
+MGT4z1X3K6uUawnXMoc8XqPaYnEgOzztMymydtr+urjUwcGnuXDSpV6nulE5irxh
+zlikSTJy/42QzTMcrdRynffmJo9PRgymMI8GgWaYG5g3zzGAhi5BA6G8JKfC93IV
+xiRPBACXJpLBYQljqJY9UDNJuq8nHhKiWHBXdZzrC3LM0FSF3PKuP/ugc+KBIKXm
+clNPNFKla/SRbH6dMHsGIy8wnGPI5AtTS0roNQrttv3/ghRT7+OKXrGmBxZ/KHVr
+v3PVgiRA5MDr1mIsovfuc9WQnFu2TkgnN/F3pDcrVVSi5b+rZLQzUEFVU0UgQmF0
+Y2ggU2lnbmluZyBLZXkgMjAwMyA8cGF1c2VAcGF1c2UucGVybC5vcmc+iF8EExEC
+AB8ECwcDAgMVAgMDFgIBAh4BAheABQJB4aBfBQkHp4HPAAoJEDKNqGdFD4nsZVQA
+ni9ZYmebwXfO9NgBzoDHk7g+zkiLAJ9iTRgd9ts62eNkSd9zirqRS5Rbi7QzUEFV
+U0UgQmF0Y2ggU2lnbmluZyBLZXkgMjAwNSA8cGF1c2VAcGF1c2UucGVybC5vcmc+
+iGQEExECACQFAkHhoIQCGwMFCQengc8GCwkIBwMCAxUCAwMWAgECHgECF4AACgkQ
+Mo2oZ0UPiezRGwCeJ4J/wVG7Vs1Uf4zlkrHcGsA5O3kAnj+9Fz0WZJWpqCqY6r75
+Fe0NlDg3uQINBD4+cLIQCACMAoNy+miC8m9KuDeuSy0OHE/g74lm9/HOt0v1CTQU
+8GVvfUQLE8wF/bMo5uvAYrDGAPf6VJv/L1KA5icCy7DO2foGqNDwBUqIjQwUNNr6
+0uu1jnzrRftPEkP1vMzH8DiASxigVlhHiz9qUYDNyoVx1DYiIWcoTgo+01cQxDru
+UITDnN1hKgm1r0lQqwJfcoj8M6d7U2eM1kvZ1Bp2qOwRzyaO9Q5NdIbWwJrDNM/m
+02g8eDXcZ7InRcYdsdjfkFsXffKv2Q/vr7NAVqIzIsNSfJABT/Q/6ub8jpOzqrg5
+nAor+0LksPRI8N7Ty4DORviStGrGF6jqx4d1PseN0NsrAAMGB/9EalCGFlz4X2jv
+1L1otXhedjkIV6/gQm9SqrpMX1XSu9mDXjyZs79vwS059wFJ28B+jcfzDrBwLtfw
+q3/o+Xr1Rkq5A63fnjT3aBOuMnKDW5kEr0TL8tKHST4E0J8jDTj7pbyKMBGSl2gG
+tTcLAMpPKuhZiRIUOSTMu8lFOQylWmrIjTEgQTE9dlN/rsBu/V3Nx5MNyJuUsl9B
+yx8PJZi/wPXYQsTMthCcUzWzrIPpDnVeT9dDownn1sHe64U7xWmQIwS+ojFlewuO
+CrJCCjvfLWoWLOwqcUb5NO+igF0bfKpK306wtKhGsmRlsxfc8qltPRx5Yvx1QtzW
+/aiXh8kaiEwEGBECAAwFAj4+cLIFCQPCZwAACgkQMo2oZ0UPiexLjgCfXiwVfkTa
+MlzzscUl6o+Z5qyF1rIAoIKY6qOjQJbm56k3X2ld0/sG6NQ7uQINBEHhoKMQCADR
+OlH7Qrmle54v34l8wqpfjLFOoIpYdwQ/5y8dKBc6sEHxjSP80oww+PZMh/gj55yu
+UimS5IaNeu6tPQZjWkzNCxZmvr+BEiTPKekJpCVy5j2b1CTZC56mIjdrqDxj2SiO
+TlWP8JO7Ga0qt5AjOliLC6hy9K/20o0P8wb0yxgl0azLbwxaHPgiDyOGI9EL0p2m
+k4KZmj4otFcYfGyvEi1D2fQ20u9M+S9Z//cxL+lgJFJTAe5dQaq+fVBPo7ZGVtxh
+eikCVkTKsyYbpTAuW2rI12lSaKDT8QI6tIdQFYp2W49QjPFav9QdjrJOUb9QC16c
+snhOiz1172aZ8TmkIb9vAAMFCACdKhFlosy6l2GzXUmWdKqdY6G/5waMKylaNY1f
+lHK1D/zYJELYgOjPMmRjjUsao8dCQQ7jg/0SgBhUsc1eDOr/XuxiVwDJ0k5a/92y
+Nxop35ADLcmZiRl0J7LOcXvq0sAz/s0x4C90DZreosT6SQFghOm9wD6dlmPoopaI
+2TUJf6xhU9M+34uBfAa4d98gyvUKhLGHGnsapJwzZ40TLwt7HTnAcLlKv/e5x0dD
+XDHEf+GlhnPpDVsgz9sU5ihO0WDZyu+NG0xLh64/YP58EIinTNvPI2VzD5TyJywa
+mnQlXuQbXVdCe2DRSICkDXxC/CifwbtKW8YwLzQD4bNQp2oQiE8EGBECAA8FAkHh
+oKMCGwwFCQQEUgAACgkQMo2oZ0UPiezhPgCfWjFgFrRrtruhD2+gooDofopH4WsA
+n0LcYsCHZxfSskeJ5vvanfeJXv9M
+=TCMr
+-----END PGP PUBLIC KEY BLOCK-----
This file contains message digests of all files listed in MANIFEST,
-signed via the Module::Signature module, version 0.26.
+signed via the Module::Signature module, version 0.50.
To verify the content in this distribution, first make sure you have
Module::Signature installed, then type:
% cpansign -v
-It would check each file's integrity, as well as the signature's
+It will check each file's integrity, as well as the signature's
validity. If "==> Signature verified OK! <==" is not displayed,
the distribution may already have been compromised, and you should
not run its Makefile.PL or Build.PL.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-SHA1 efbe8e6882a2caa0d741b113959a706830ab5882 BUNDLE/Test/Builder.pm
-SHA1 ae1d68262bedc2475e2c6fd478d99b259b4fb109 BUNDLE/Test/More.pm
-SHA1 2b02ead396d701c16a93a54b0f15f7073addb407 ChangeLog
+SHA1 dffb8c2be808260012cfb2b880133a115ef4b363 ChangeLog
+SHA1 9b97524a7a91c815e46b19302a33829d3c26bbbf ChangeLog.old
SHA1 a029ffa2f2252bb8914eb658666244710994d256 Changes.old
-SHA1 ed0c9e6c6b83e39e3822cf71aeed81f829386dd9 MANIFEST
-SHA1 21e313600b36ee8adb724a43c247ee0f873b5b81 MANIFEST.SKIP
-SHA1 1b0753e38574181a9d0e041cb9082d09c32f0fbf META.yml
-SHA1 441f9a3ec80bfa266d889d5c56a9a75eeb119626 Makefile.PL
+SHA1 61a9837044c45b47246f41424c101ec5b739cabf MANIFEST
+SHA1 0a72807a1326b4be93a15f6ed0e5e03ee931859e MANIFEST.SKIP
+SHA1 4fb4a21dcc19b02a37f33f533a8e399fd2d973d9 META.yml
+SHA1 c2c1d8faff850ce133841076e7c815e6e36b1351 Makefile.PL
SHA1 37e858c51409a297ef5d3fb35dc57cd3b57f9a4d PAUSE2003.pub
-SHA1 0006bf6573858fbeb094d0becc5030c36d41a46d README
-SHA1 9e6e9cf9ae517d91ef3bda61f2c5d0c6409073d6 Todo
+SHA1 af016003ad503ed078c5f8254521d13a3e0c494f PAUSE2005.pub
+SHA1 9db44d9b3219c20bffbc0579a8fd6db3ee41269e README
+SHA1 5adbf645e60685d6552fbcfff6e577399fe1f958 Releasenotes
+SHA1 4fb30323ec1614bd17279e5f9a274352b044af25 Todo
+SHA1 64f8ddd58693d482b282475210b4812b10d94f46 cpan
+SHA1 efbe8e6882a2caa0d741b113959a706830ab5882 inc/Test/Builder.pm
+SHA1 ae1d68262bedc2475e2c6fd478d99b259b4fb109 inc/Test/More.pm
SHA1 859ee1f3ba026d269c44b29d715d9af1e35333bc lib/Bundle/CPAN.pm
-SHA1 3aaaaf913748abe1cfa3f89ccf70d8f6315e5fe8 lib/CPAN.pm
-SHA1 e00d87017076b26de7696ae8b75d397bee737bbb lib/CPAN/Admin.pm
-SHA1 536e9720a6161510b50a2948c768d1daabc87dcd lib/CPAN/FirstTime.pm
-SHA1 33dd610c4b5d679bbcf3e61df290e33b460feaab lib/CPAN/Nox.pm
+SHA1 ce3cb7368e12240dded13175e3e8b1f2e92019ed lib/CPAN.pm
+SHA1 263a3def2375e38c67808d6a00b6dde14e91ed40 lib/CPAN/Admin.pm
+SHA1 a09f2474f4be085c40790af007a7163558f52eef lib/CPAN/FirstTime.pm
+SHA1 4fa9695417b54fc8d4e29684ad61689bc108274b lib/CPAN/Nox.pm
+SHA1 f703cd15b95c5fd4ca6c0576b8b4566501882ccf lib/CPAN/Version.pm
SHA1 0a7b5d987e699afe63d9e314f1aa456214c8e1d0 scripts/cpan
-SHA1 1ef040435bd29f7d46db02c079fcb79cc279780c t/Nox.t
-SHA1 6a3fa699be244f587ef1d14e4c345bc57affd0c8 t/loadme.t
-SHA1 d765dc589a77265e305ef27ff386e31f562ad70b t/mirroredby.t
-SHA1 44ee216f4a129193a62fc1cd61088fd2de8e9538 t/signature.t
-SHA1 ada872f52e59a537c444e12ca9d79e4df4bd18c4 t/vcmp.t
+SHA1 67e80e1cfc3530932de7743dd0c833b2c387609d t/Nox.t
+SHA1 215dace24b507de20011d36cbe2d16ddea78bcf3 t/loadme.t
+SHA1 9e7950a79a153b532c5094c7091757d51040b218 t/mirroredby.t
+SHA1 952e77e7944637eed1b5d202afa98baef8a4c64c t/signature.t
+SHA1 d773586d80dbd79605a4b08c3ef310379c4d09c5 t/vcmp.t
+SHA1 5ff8e84beac28a6ea06995f1f1840e21ffb0dd7b t/version.t
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.2.2 (GNU/Linux)
+Version: GnuPG v1.4.2 (GNU/Linux)
-iD8DBQE/KTBH7IA58KMXwV0RAvwzAKDqt5FPLl5zA2RkWRoLz/ASslZqKACfV1pg
-VUyR6PLFLNoGHDZXCzmn1co=
-=8wMs
+iD8DBQFDbdxt7IA58KMXwV0RAsgsAKCouQ0mcWsUs0aiycaU2JjONmqXTACgrB19
+ugwiu8ljK7CeNm5x5+8n3Qw=
+=uum0
-----END PGP SIGNATURE-----
package CPAN::Version;
+use vars qw($VERSION);
+$VERSION = sprintf "%.2f", substr(q$Rev: 231 $,4)/100;
+
# CPAN::Version::vcmp courtesy Jost Krieger
sub vcmp {
my($self,$l,$r) = @_;
# And if they say v1.2, then the old perl takes it as "v12"
- $CPAN::Frontend->mywarn("Suspicious version string seen [$n]\n");
+ if (defined $CPAN::Frontend) {
+ $CPAN::Frontend->mywarn("Suspicious version string seen [$n]\n");
+ } else {
+ warn("Suspicious version string seen [$n]\n");
+ }
return $n;
}
my $better = sprintf "v%vd", $n;
use CPAN ();
use Getopt::Std;
-my $VERSION =
- sprintf "%d.%02d", q$Revision: 1.3 $ =~ m/ (\d+) \. (\d+) /xg;
+my $VERSION = sprintf "%.3f", 1.2 + substr(q$Rev: 228 $,4)/1000;
my $Default = 'default';
#!./perl
-use lib "BUNDLE";
-use Test::More tests => 8;
+if (! eval { require Test::More; 1 }) {
+ printf "1..1\nok 1 # Test::More not available: skipping %s\n", __FILE__;
+ exit;
+}
+require Test::More;
+Test::More->import(tests => 8);
# use this first to $CPAN::term can be undefined
use_ok( 'CPAN' );
is( $CPAN::Suppress_readline, 1, 'should set suppress readline flag' );
# all of these modules have XS components, should be marked unavailable
-for my $mod (qw( Digest::MD5 LWP Compress::Zlib )) {
+my $mod;
+for $mod (qw( Digest::MD5 LWP Compress::Zlib )) {
is( $CPAN::META->has_inst($mod), 0, "$mod should be marked unavailable" );
}
# and these will be set to those in CPAN
-is( @CPAN::Nox::EXPORT, @CPAN::EXPORT, 'should export just what CPAN does' );
+is( scalar @CPAN::Nox::EXPORT, scalar @CPAN::EXPORT, 'should export just what CPAN does' );
is( \&CPAN::Nox::AUTOLOAD, \&CPAN::AUTOLOAD, 'AUTOLOAD should be aliased' );
# Local Variables:
use vars qw($D $N);
while (<DATA>) {
- next if /^v/ && $]<5.006; # v-string tests are not for pre-5.6.0
+ next if tr/.// > 1 && $]<5.006; # multidot tests are not for pre-5.6.0
last if /^__END__$/;
chomp;
s/\s*#.*//;
print "# l[$l]r[$r]exp[$exp]res[$res]\n";
print "not ";
}
- print "ok ", $N-@$D, "\n";
+ printf "ok %2d # %12s %12s %3d\n", $N-@$D, $l, $r, $res;
}
__END__
# test if our own version numbers meet expectations
-my @m = qw(CPAN CPAN::FirstTime CPAN::Nox);
+BEGIN {
+ if (! eval { require warnings; 1 }) {
+ printf "1..1\nok 1 # warnings not available: skipping %s\n", __FILE__;
+ exit;
+ }
+}
+
+use strict;
+use warnings;
+my @m = qw(CPAN CPAN::Admin CPAN::FirstTime CPAN::Nox CPAN::Version);
use Test::More;
plan(tests => scalar @m);
for my $m (@m) {
+ local $^W = 0;
eval "require $m";
ok($m->VERSION >= 1.76, sprintf "%20s: %s", $m, $m->VERSION);
}