From 50bbe904794bc2708f13f50011a5b3963acf52bd Mon Sep 17 00:00:00 2001 From: gregor herrmann Date: Mon, 26 Jun 2023 20:20:27 +0200 Subject: New upstream version 0.37 --- Build.PL | 3 +- Changes | 7 ++ MANIFEST | 0 META.json | 14 ++-- META.yml | 12 ++-- README | 0 bin/mcpani | 2 +- inc/MyBuilder.pm | 0 lib/CPAN/Mini/Inject.pm | 11 +-- lib/CPAN/Mini/Inject/Config.pm | 4 +- t/.mcpani/config | 0 t/.mcpani/config_bad | 0 t/.mcpani/config_badremote | 0 t/.mcpani/config_mcpi | 0 t/.mcpani/config_noread | 0 t/.mcpani/config_norepo | 0 t/.mcpani/config_nowrite | 0 t/.mcpani/config_with_whitespaces | 0 t/00.load.t | 0 t/add-multiple.t | 0 t/add.t | 2 +- t/html/01mailrc.txt.gz | Bin t/html/02packages.details.txt.gz | Bin t/html/03modlist.data.gz | Bin t/html/CHECKSUMS | 0 t/html/CPAN-Mini-2.1828.tar.gz | 0 t/html/CPAN-Mini-Inject-1.01.tar.gz | 0 t/html/index.html | 0 t/inject.t | 77 ++++++++++++--------- t/lib/CPANServer.pm | 0 t/lib/filenames.pl | 0 t/loadcfg.t | 0 t/local/01mailrc.txt.gz.original | Bin .../modules/02packages.details.txt.gz.original | Bin t/local/mymodules/CPAN-Mini-0.17.tar.gz | 0 t/local/mymodules/CPAN-Mini-Inject-0.01.tar.gz | 0 .../Dist-Metadata-Test-MetaFile-2.2.tar.gz | Bin .../Dist-Metadata-Test-MetaFile-Only.tar.gz | Bin t/local/mymodules/not-discoverable.tar.gz | 0 t/new.t | 0 t/parsecfg.t | 0 t/pod-coverage.t | 0 t/pod.t | 0 t/private.t | 0 t/read/MYCPAN/modulelist | 0 t/read/MYCPAN/test-0.01.tar.gz | 0 t/read/authors/01mailrc.txt.gz | 0 t/readlist.t | 0 t/testremote.t | 0 t/update_mirror.t | 0 t/writelist.t | 0 t/zz.exceptions.t | 0 52 files changed, 77 insertions(+), 55 deletions(-) mode change 100644 => 100755 Build.PL mode change 100644 => 100755 Changes mode change 100644 => 100755 MANIFEST mode change 100644 => 100755 META.json mode change 100644 => 100755 META.yml mode change 100644 => 100755 README mode change 100644 => 100755 bin/mcpani mode change 100644 => 100755 inc/MyBuilder.pm mode change 100644 => 100755 lib/CPAN/Mini/Inject.pm mode change 100644 => 100755 lib/CPAN/Mini/Inject/Config.pm mode change 100644 => 100755 t/.mcpani/config mode change 100644 => 100755 t/.mcpani/config_bad mode change 100644 => 100755 t/.mcpani/config_badremote mode change 100644 => 100755 t/.mcpani/config_mcpi mode change 100644 => 100755 t/.mcpani/config_noread mode change 100644 => 100755 t/.mcpani/config_norepo mode change 100644 => 100755 t/.mcpani/config_nowrite mode change 100644 => 100755 t/.mcpani/config_with_whitespaces mode change 100644 => 100755 t/00.load.t mode change 100644 => 100755 t/add-multiple.t mode change 100644 => 100755 t/add.t mode change 100644 => 100755 t/html/01mailrc.txt.gz mode change 100644 => 100755 t/html/02packages.details.txt.gz mode change 100644 => 100755 t/html/03modlist.data.gz mode change 100644 => 100755 t/html/CHECKSUMS mode change 100644 => 100755 t/html/CPAN-Mini-2.1828.tar.gz mode change 100644 => 100755 t/html/CPAN-Mini-Inject-1.01.tar.gz mode change 100644 => 100755 t/html/index.html mode change 100644 => 100755 t/inject.t mode change 100644 => 100755 t/lib/CPANServer.pm mode change 100644 => 100755 t/lib/filenames.pl mode change 100644 => 100755 t/loadcfg.t mode change 100644 => 100755 t/local/01mailrc.txt.gz.original mode change 100644 => 100755 t/local/CPAN/modules/02packages.details.txt.gz.original mode change 100644 => 100755 t/local/mymodules/CPAN-Mini-0.17.tar.gz mode change 100644 => 100755 t/local/mymodules/CPAN-Mini-Inject-0.01.tar.gz mode change 100644 => 100755 t/local/mymodules/Dist-Metadata-Test-MetaFile-2.2.tar.gz mode change 100644 => 100755 t/local/mymodules/Dist-Metadata-Test-MetaFile-Only.tar.gz mode change 100644 => 100755 t/local/mymodules/not-discoverable.tar.gz mode change 100644 => 100755 t/new.t mode change 100644 => 100755 t/parsecfg.t mode change 100644 => 100755 t/pod-coverage.t mode change 100644 => 100755 t/pod.t mode change 100644 => 100755 t/private.t mode change 100644 => 100755 t/read/MYCPAN/modulelist mode change 100644 => 100755 t/read/MYCPAN/test-0.01.tar.gz mode change 100644 => 100755 t/read/authors/01mailrc.txt.gz mode change 100644 => 100755 t/readlist.t mode change 100644 => 100755 t/testremote.t mode change 100644 => 100755 t/update_mirror.t mode change 100644 => 100755 t/writelist.t mode change 100644 => 100755 t/zz.exceptions.t diff --git a/Build.PL b/Build.PL old mode 100644 new mode 100755 index b676f21..5d0e052 --- a/Build.PL +++ b/Build.PL @@ -23,7 +23,7 @@ my $builder = MyBuilder->new( dist_version_from => 'lib/CPAN/Mini/Inject.pm', configure_requires => { 'Module::Build' => 0.4 }, requires => { - 'CPAN::Checksums' => 0, + 'CPAN::Checksums' => '2.13', 'CPAN::Mini' => '0.32', 'Carp' => 0, 'Compress::Zlib' => 0, @@ -44,6 +44,7 @@ my $builder = MyBuilder->new( 'YAML' => 0, 'File::Slurp' => 0, 'File::Temp' => 0, + 'Test::InDistDir' => 0, }, add_to_cleanup => [ 'CPAN-Mini-Inject-*', 't/local/WRITEREPO', 't/local/MYCPAN' ], diff --git a/Changes b/Changes old mode 100644 new mode 100755 index 8bbdf6f..e881931 --- a/Changes +++ b/Changes @@ -1,5 +1,12 @@ Revision history for CPAN-Mini-Inject +0.37 2023/06/06 + - add a test dependency + +0.36 2023/06/06 + - implement compatibility with new toolchain cpan_path regime + - skip permission tests on cygwin + 0.35 2017/07/19 - use Net::EmptyPort to find an empty port to use instead of a hard-coded one diff --git a/MANIFEST b/MANIFEST old mode 100644 new mode 100755 diff --git a/META.json b/META.json old mode 100644 new mode 100755 index a0251bd..6c16309 --- a/META.json +++ b/META.json @@ -11,13 +11,13 @@ "Konstantin Yakunin " ], "dynamic_config" : 1, - "generated_by" : "Module::Build version 0.421", + "generated_by" : "Module::Build version 0.4231", "license" : [ "perl_5" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", - "version" : "2" + "version" : 2 }, "name" : "CPAN-Mini-Inject", "prereqs" : { @@ -28,7 +28,7 @@ }, "runtime" : { "requires" : { - "CPAN::Checksums" : "0", + "CPAN::Checksums" : "2.13", "CPAN::Mini" : "0.32", "Carp" : "0", "Compress::Zlib" : "0", @@ -47,6 +47,7 @@ "LWP::Simple" : "0", "Net::EmptyPort" : "0", "Pod::Usage" : "0", + "Test::InDistDir" : "0", "Test::More" : "0", "YAML" : "0" } @@ -55,11 +56,11 @@ "provides" : { "CPAN::Mini::Inject" : { "file" : "lib/CPAN/Mini/Inject.pm", - "version" : "0.35" + "version" : "0.37" }, "CPAN::Mini::Inject::Config" : { "file" : "lib/CPAN/Mini/Inject/Config.pm", - "version" : "0.35" + "version" : "0.37" } }, "release_status" : "stable", @@ -74,5 +75,6 @@ "url" : "git://github.com/AndyA/CPAN--Mini--Inject.git" } }, - "version" : "0.35" + "version" : "0.37", + "x_serialization_backend" : "JSON::PP version 4.06" } diff --git a/META.yml b/META.yml old mode 100644 new mode 100755 index d128d2c..f5bfbb0 --- a/META.yml +++ b/META.yml @@ -13,7 +13,7 @@ build_requires: {} configure_requires: Module::Build: '0.4' dynamic_config: 1 -generated_by: 'Module::Build version 0.421, CPAN::Meta::Converter version 2.143240' +generated_by: 'Module::Build version 0.4231, CPAN::Meta::Converter version 2.150010' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -22,12 +22,12 @@ name: CPAN-Mini-Inject provides: CPAN::Mini::Inject: file: lib/CPAN/Mini/Inject.pm - version: '0.35' + version: '0.37' CPAN::Mini::Inject::Config: file: lib/CPAN/Mini/Inject/Config.pm - version: '0.35' + version: '0.37' requires: - CPAN::Checksums: '0' + CPAN::Checksums: '2.13' CPAN::Mini: '0.32' Carp: '0' Compress::Zlib: '0' @@ -46,10 +46,12 @@ requires: LWP::Simple: '0' Net::EmptyPort: '0' Pod::Usage: '0' + Test::InDistDir: '0' Test::More: '0' YAML: '0' resources: bugtracker: http://rt.cpan.org/NoAuth/Bugs.html?Dist=CPAN-Mini-Inject license: http://dev.perl.org/licenses/ repository: git://github.com/AndyA/CPAN--Mini--Inject.git -version: '0.35' +version: '0.37' +x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff --git a/README b/README old mode 100644 new mode 100755 diff --git a/bin/mcpani b/bin/mcpani old mode 100644 new mode 100755 index 10e6fd2..124d768 --- a/bin/mcpani +++ b/bin/mcpani @@ -9,7 +9,7 @@ use Env; use File::Slurp 'write_file'; use File::Temp; -our $VERSION = '0.35'; +our $VERSION = '0.37'; our %options = (); sub print_version { diff --git a/inc/MyBuilder.pm b/inc/MyBuilder.pm old mode 100644 new mode 100755 diff --git a/lib/CPAN/Mini/Inject.pm b/lib/CPAN/Mini/Inject.pm old mode 100644 new mode 100755 index 854e90e..2fad7b7 --- a/lib/CPAN/Mini/Inject.pm +++ b/lib/CPAN/Mini/Inject.pm @@ -3,7 +3,7 @@ package CPAN::Mini::Inject; use strict; use warnings; -use CPAN::Checksums qw( updatedir ); +use CPAN::Checksums 2.13 qw( updatedir ); use CPAN::Mini; use CPAN::Mini::Inject::Config; use Carp; @@ -22,11 +22,11 @@ CPAN::Mini::Inject - Inject modules into a CPAN::Mini mirror. =head1 VERSION -Version 0.35 +Version 0.37 =cut -our $VERSION = '0.35'; +our $VERSION = '0.37'; our @ISA = qw( CPAN::Mini ); =head1 Synopsis @@ -424,9 +424,10 @@ sub inject { } for my $dir ( keys( %updatedir ) ) { - my $authdir = $self->config->get( 'local' ) . "/authors/id/$dir"; + my $root = $self->config->get( 'local' ) . "/authors/id"; + my $authdir = "$root/$dir"; - updatedir( $authdir ); + updatedir( $authdir, $root ); $self->_updperms( "$authdir/CHECKSUMS" ); } diff --git a/lib/CPAN/Mini/Inject/Config.pm b/lib/CPAN/Mini/Inject/Config.pm old mode 100644 new mode 100755 index e23fb4b..5c5dd38 --- a/lib/CPAN/Mini/Inject/Config.pm +++ b/lib/CPAN/Mini/Inject/Config.pm @@ -12,11 +12,11 @@ CPAN::Mini::Inject::Config - Config for CPAN::Mini::Inject =head1 VERSION -Version 0.35 +Version 0.37 =cut -our $VERSION = '0.35'; +our $VERSION = '0.37'; =head2 C diff --git a/t/.mcpani/config b/t/.mcpani/config old mode 100644 new mode 100755 diff --git a/t/.mcpani/config_bad b/t/.mcpani/config_bad old mode 100644 new mode 100755 diff --git a/t/.mcpani/config_badremote b/t/.mcpani/config_badremote old mode 100644 new mode 100755 diff --git a/t/.mcpani/config_mcpi b/t/.mcpani/config_mcpi old mode 100644 new mode 100755 diff --git a/t/.mcpani/config_noread b/t/.mcpani/config_noread old mode 100644 new mode 100755 diff --git a/t/.mcpani/config_norepo b/t/.mcpani/config_norepo old mode 100644 new mode 100755 diff --git a/t/.mcpani/config_nowrite b/t/.mcpani/config_nowrite old mode 100644 new mode 100755 diff --git a/t/.mcpani/config_with_whitespaces b/t/.mcpani/config_with_whitespaces old mode 100644 new mode 100755 diff --git a/t/00.load.t b/t/00.load.t old mode 100644 new mode 100755 diff --git a/t/add-multiple.t b/t/add-multiple.t old mode 100644 new mode 100755 diff --git a/t/add.t b/t/add.t old mode 100644 new mode 100755 index 1e52bfb..5ddb659 --- a/t/add.t +++ b/t/add.t @@ -35,7 +35,7 @@ is( grep( /^CPAN::Mini::Inject\s+/, @{ $mcpi->{modulelist} } ), 1, 'Module added to list just once' ); SKIP: { - skip "Not a UNIX system", 2 if ( $^O =~ /^MSWin/ ); + skip "Not a UNIX system", 2 if ( $^O =~ /^MSWin|^cygwin/ ); is( ( stat( 't/local/MYCPAN/authors/id/S/SS/SSORICHE' ) )[2] & 07777, 0775, 'Added author directory mode is 0775' ); is( diff --git a/t/html/01mailrc.txt.gz b/t/html/01mailrc.txt.gz old mode 100644 new mode 100755 diff --git a/t/html/02packages.details.txt.gz b/t/html/02packages.details.txt.gz old mode 100644 new mode 100755 diff --git a/t/html/03modlist.data.gz b/t/html/03modlist.data.gz old mode 100644 new mode 100755 diff --git a/t/html/CHECKSUMS b/t/html/CHECKSUMS old mode 100644 new mode 100755 diff --git a/t/html/CPAN-Mini-2.1828.tar.gz b/t/html/CPAN-Mini-2.1828.tar.gz old mode 100644 new mode 100755 diff --git a/t/html/CPAN-Mini-Inject-1.01.tar.gz b/t/html/CPAN-Mini-Inject-1.01.tar.gz old mode 100644 new mode 100755 diff --git a/t/html/index.html b/t/html/index.html old mode 100644 new mode 100755 diff --git a/t/inject.t b/t/inject.t old mode 100644 new mode 100755 index 1e022ed..e8fb5ec --- a/t/inject.t +++ b/t/inject.t @@ -1,26 +1,33 @@ -use Test::More tests => 11; +use Test::More tests => 12; +use Test::InDistDir; use CPAN::Mini::Inject; use File::Path; use File::Copy; use File::Basename; use Compress::Zlib; -rmtree( ['t/local/MYCPAN/modulelist'], 0, 1 ); +my $root = "t/local"; +my $modules = "$root/CPAN/modules"; +my $authors = "$root/CPAN/authors"; +my $mycpan = "$root/MYCPAN"; +my $mymodules = "$root/mymodules"; + +rmtree( ["$mycpan/modulelist"], 0, 1 ); copy( - 't/local/CPAN/modules/02packages.details.txt.gz.original', - 't/local/CPAN/modules/02packages.details.txt.gz' + "$modules/02packages.details.txt.gz.original", + "$modules/02packages.details.txt.gz" ); -chmod oct(666), 't/local/CPAN/modules/02packages.details.txt.gz'; -chmod oct(666), "t/local/CPAN/authors/01mailrc.txt.gz" if -f "t/local/CPAN/authors/01mailrc.txt.gz"; -rmtree( ['t/local/CPAN/authors'], 0, 1 ); -mkdir( 't/local/CPAN/authors' ); +chmod oct(666), "$modules/02packages.details.txt.gz"; +chmod oct(666), "$authors/01mailrc.txt.gz" if -f "$authors/01mailrc.txt.gz"; +rmtree( [$authors], 0, 1 ); +mkdir( $authors ); copy( - 't/local/01mailrc.txt.gz.original', - 't/local/CPAN/authors/01mailrc.txt.gz' + "$root/01mailrc.txt.gz.original", + "$authors/01mailrc.txt.gz" ); -chmod oct(666), 't/local/CPAN/authors/01mailrc.txt.gz'; -mkdir( 't/local/MYCPAN' ); +chmod oct(666), "$authors/01mailrc.txt.gz"; +mkdir( $mycpan ); my $mcpi; my $module = "S/SS/SSORICHE/CPAN-Mini-Inject-0.01.tar.gz"; @@ -33,44 +40,46 @@ $mcpi->loadcfg( 't/.mcpani/config' )->parsecfg->readlist->add( module => 'CPAN::Mini::Inject', authorid => 'SSORICHE', version => '0.01', - file => 't/local/mymodules/CPAN-Mini-Inject-0.01.tar.gz' + file => "$mymodules/CPAN-Mini-Inject-0.01.tar.gz" )->add( module => 'CPAN::Mini::Inject', authorid => 'SSORICHE', version => '0.02', - file => 't/local/mymodules/CPAN-Mini-Inject-0.01.tar.gz' + file => "$mymodules/CPAN-Mini-Inject-0.01.tar.gz" )->add( module => 'CPAN::Mini', authorid => 'RJBS', version => '0.17', - file => 't/local/mymodules/CPAN-Mini-0.17.tar.gz', + file => "$mymodules/CPAN-Mini-0.17.tar.gz", )->writelist; ok( $mcpi->inject, 'Copy modules' ); -ok( -e "t/local/CPAN/authors/id/$module", 'Module file exists' ); -ok( -e 't/local/CPAN/authors/id/S/SS/SSORICHE/CHECKSUMS', - 'Checksum created' ); +ok( -e "$authors/id/$module", 'Module file exists' ); +my $checksum_file = "$authors/id/S/SS/SSORICHE/CHECKSUMS"; +ok( -e "$checksum_file", 'Checksum created' ); + +open my $chk, '<', $checksum_file; +my $checksum_text = join "", <$chk>; +close $chk; +unlike $checksum_text, qr{$authors/id}, "root path isn't leaked to checksums"; SKIP: { - skip "Not a UNIX system", 3 if ( $^O =~ /^MSWin/ ); - is( ( stat( "t/local/CPAN/authors/id/$module" ) )[2] & 07777, + skip "Not a UNIX system", 3 if ( $^O =~ /^MSWin|^cygwin/ ); + is( ( stat( "$authors/id/$module" ) )[2] & 07777, 0664, 'Module file mode set' ); is( - ( stat( dirname( "t/local/CPAN/authors/id/$module" ) ) )[2] & 07777, - 0775, - 'Author directory mode set' + ( stat( dirname( "$authors/id/$module" ) ) )[2] & 07777, + 0775, 'Author directory mode set' ); is( - ( stat( 't/local/CPAN/authors/id/S/SS/SSORICHE/CHECKSUMS' ) )[2] - & 07777, - 0664, - 'Checksum file mode set' + ( stat( "$checksum_file" ) )[2] & 07777, + 0664, 'Checksum file mode set' ); } my @goodfile = ; ok( my $gzread - = gzopen( 't/local/CPAN/modules/02packages.details.txt.gz', 'rb' ) ); + = gzopen( "$modules/02packages.details.txt.gz", 'rb' ) ); my @packages; my $package; @@ -90,7 +99,7 @@ $gzread->gzclose; is_deeply( \@goodfile, \@packages ); ok( my $gzauthread - = gzopen( 't/local/CPAN/authors/01mailrc.txt.gz', 'rb' ) ); + = gzopen( "$authors/01mailrc.txt.gz", 'rb' ) ); my $author; my $author_was_injected = 0; @@ -103,12 +112,12 @@ $gzauthread->gzclose; ok( $author_was_injected, 'author injected into 01mailrc.txt.gz' ); ok( $author_was_injected == 1, 'author injected exactly 1 time' ); -unlink( 't/local/CPAN/authors/id/S/SS/SSORICHE/CHECKSUMS' ); -unlink( "t/local/CPAN/authors/id/$module" ); -unlink( 't/local/MYCPAN/modulelist' ); -unlink( 't/local/CPAN/modules/02packages.details.txt.gz' ); +unlink( "$checksum_file" ); +unlink( "$authors/id/$module" ); +unlink( "$mycpan/modulelist" ); +unlink( "$modules/02packages.details.txt.gz" ); -rmtree( [ 't/local/CPAN/authors', 't/local/MYCPAN' ], 0, 1 ); +rmtree( [ $authors, $mycpan ], 0, 1 ); __DATA__ File: 02packages.details.txt diff --git a/t/lib/CPANServer.pm b/t/lib/CPANServer.pm old mode 100644 new mode 100755 diff --git a/t/lib/filenames.pl b/t/lib/filenames.pl old mode 100644 new mode 100755 diff --git a/t/loadcfg.t b/t/loadcfg.t old mode 100644 new mode 100755 diff --git a/t/local/01mailrc.txt.gz.original b/t/local/01mailrc.txt.gz.original old mode 100644 new mode 100755 diff --git a/t/local/CPAN/modules/02packages.details.txt.gz.original b/t/local/CPAN/modules/02packages.details.txt.gz.original old mode 100644 new mode 100755 diff --git a/t/local/mymodules/CPAN-Mini-0.17.tar.gz b/t/local/mymodules/CPAN-Mini-0.17.tar.gz old mode 100644 new mode 100755 diff --git a/t/local/mymodules/CPAN-Mini-Inject-0.01.tar.gz b/t/local/mymodules/CPAN-Mini-Inject-0.01.tar.gz old mode 100644 new mode 100755 diff --git a/t/local/mymodules/Dist-Metadata-Test-MetaFile-2.2.tar.gz b/t/local/mymodules/Dist-Metadata-Test-MetaFile-2.2.tar.gz old mode 100644 new mode 100755 diff --git a/t/local/mymodules/Dist-Metadata-Test-MetaFile-Only.tar.gz b/t/local/mymodules/Dist-Metadata-Test-MetaFile-Only.tar.gz old mode 100644 new mode 100755 diff --git a/t/local/mymodules/not-discoverable.tar.gz b/t/local/mymodules/not-discoverable.tar.gz old mode 100644 new mode 100755 diff --git a/t/new.t b/t/new.t old mode 100644 new mode 100755 diff --git a/t/parsecfg.t b/t/parsecfg.t old mode 100644 new mode 100755 diff --git a/t/pod-coverage.t b/t/pod-coverage.t old mode 100644 new mode 100755 diff --git a/t/pod.t b/t/pod.t old mode 100644 new mode 100755 diff --git a/t/private.t b/t/private.t old mode 100644 new mode 100755 diff --git a/t/read/MYCPAN/modulelist b/t/read/MYCPAN/modulelist old mode 100644 new mode 100755 diff --git a/t/read/MYCPAN/test-0.01.tar.gz b/t/read/MYCPAN/test-0.01.tar.gz old mode 100644 new mode 100755 diff --git a/t/read/authors/01mailrc.txt.gz b/t/read/authors/01mailrc.txt.gz old mode 100644 new mode 100755 diff --git a/t/readlist.t b/t/readlist.t old mode 100644 new mode 100755 diff --git a/t/testremote.t b/t/testremote.t old mode 100644 new mode 100755 diff --git a/t/update_mirror.t b/t/update_mirror.t old mode 100644 new mode 100755 diff --git a/t/writelist.t b/t/writelist.t old mode 100644 new mode 100755 diff --git a/t/zz.exceptions.t b/t/zz.exceptions.t old mode 100644 new mode 100755 -- cgit v1.2.3