summaryrefslogtreecommitdiff
path: root/cpan/Archive-Tar
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2012-03-12 21:47:00 +0100
committerAbigail <abigail@abigail.be>2012-03-12 21:47:00 +0100
commitc06ee8c824f270b42cb440453df0e44858492aed (patch)
tree923111a6277c63d4a063c4d8af3609d7da36fd72 /cpan/Archive-Tar
parentdc16b9e468c516c95140dc2b6eac778872c79239 (diff)
downloadperl-c06ee8c824f270b42cb440453df0e44858492aed.tar.gz
Upgrade cpan/Archive-Tar to 1.84
Diffstat (limited to 'cpan/Archive-Tar')
-rw-r--r--cpan/Archive-Tar/bin/ptar23
-rw-r--r--cpan/Archive-Tar/lib/Archive/Tar.pm8
-rw-r--r--cpan/Archive-Tar/lib/Archive/Tar/Constant.pm2
-rw-r--r--cpan/Archive-Tar/lib/Archive/Tar/File.pm2
4 files changed, 29 insertions, 6 deletions
diff --git a/cpan/Archive-Tar/bin/ptar b/cpan/Archive-Tar/bin/ptar
index 14c09128fc..0eaffa7ccb 100644
--- a/cpan/Archive-Tar/bin/ptar
+++ b/cpan/Archive-Tar/bin/ptar
@@ -6,8 +6,13 @@ use Getopt::Std;
use Archive::Tar;
use Data::Dumper;
+# Allow historic support for dashless bundled options
+# tar cvf file.tar
+# is valid (GNU) tar style
+@ARGV && $ARGV[0] =~ m/^[DdcvzthxIC]+[fT]?$/ and
+ unshift @ARGV, map { "-$_" } split m// => shift @ARGV;
my $opts = {};
-getopts('Ddcvzthxf:IC', $opts) or die usage();
+getopts('Ddcvzthxf:ICT:', $opts) or die usage();
### show the help message ###
die usage() if $opts->{h};
@@ -28,11 +33,21 @@ my $verbose = $opts->{v} ? 1 : 0;
my $file = $opts->{f} ? $opts->{f} : 'default.tar';
my $tar = Archive::Tar->new();
-
if( $opts->{c} ) {
my @files;
+ my @src = @ARGV;
+ if( $opts->{T} ) {
+ if( $opts->{T} eq "-" ) {
+ chomp( @src = <STDIN> );
+ } elsif( open my $fh, "<", $opts->{T} ) {
+ chomp( @src = <$fh> );
+ } else {
+ die "$0: $opts->{T}: $!\n";
+ }
+ }
+
find( sub { push @files, $File::Find::name;
- print $File::Find::name.$/ if $verbose }, @ARGV );
+ print $File::Find::name.$/ if $verbose }, @src );
if ($file eq '-') {
use IO::Handle;
@@ -88,6 +103,7 @@ sub usage {
=head1 SYNOPSIS
ptar -c [-v] [-z] [-C] [-f ARCHIVE_FILE | -] FILE FILE ...
+ ptar -c [-v] [-z] [-C] [-T index | -] [-f ARCHIVE_FILE | -]
ptar -x [-v] [-z] [-f ARCHIVE_FILE | -]
ptar -t [-z] [-f ARCHIVE_FILE | -]
ptar -h
@@ -102,6 +118,7 @@ sub usage {
v Print filenames as they are added or extracted from ARCHIVE_FILE
h Prints this help message
C CPAN mode - drop 022 from permissions
+ T get names to create from file
=head1 SEE ALSO
diff --git a/cpan/Archive-Tar/lib/Archive/Tar.pm b/cpan/Archive-Tar/lib/Archive/Tar.pm
index 4ed3ae0386..c57f56b91a 100644
--- a/cpan/Archive-Tar/lib/Archive/Tar.pm
+++ b/cpan/Archive-Tar/lib/Archive/Tar.pm
@@ -31,7 +31,7 @@ use vars qw[$DEBUG $error $VERSION $WARN $FOLLOW_SYMLINK $CHOWN $CHMOD
$DEBUG = 0;
$WARN = 1;
$FOLLOW_SYMLINK = 0;
-$VERSION = "1.82";
+$VERSION = "1.84";
$CHOWN = 1;
$CHMOD = 1;
$SAME_PERMISSIONS = $> == 0 ? 1 : 0;
@@ -1451,6 +1451,12 @@ sub add_files {
next;
}
+ eval {
+ if( utf8::is_utf8( $file )) {
+ utf8::encode( $file );
+ }
+ };
+
unless( -e $file || -l $file ) {
$self->_error( qq[No such file: '$file'] );
next;
diff --git a/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm b/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm
index 1bea5ce12d..b01e2266bb 100644
--- a/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm
+++ b/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm
@@ -3,7 +3,7 @@ package Archive::Tar::Constant;
BEGIN {
require Exporter;
- $VERSION = '1.82';
+ $VERSION = '1.84';
@ISA = qw[Exporter];
require Time::Local if $^O eq "MacOS";
diff --git a/cpan/Archive-Tar/lib/Archive/Tar/File.pm b/cpan/Archive-Tar/lib/Archive/Tar/File.pm
index 9067de1086..8607caa71a 100644
--- a/cpan/Archive-Tar/lib/Archive/Tar/File.pm
+++ b/cpan/Archive-Tar/lib/Archive/Tar/File.pm
@@ -13,7 +13,7 @@ use Archive::Tar::Constant;
use vars qw[@ISA $VERSION];
#@ISA = qw[Archive::Tar];
-$VERSION = '1.82';
+$VERSION = '1.84';
### set value to 1 to oct() it during the unpack ###