Update Archive-Tar to CPAN version 2.32
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Thu, 13 Sep 2018 09:01:40 +0000 (10:01 +0100)
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Thu, 13 Sep 2018 09:01:40 +0000 (10:01 +0100)
  [DELTA]

2.32  13/09/2018 (CBERRY)
- Fix absolute path handling on VMS

Porting/Maintainers.pl
cpan/Archive-Tar/lib/Archive/Tar.pm
cpan/Archive-Tar/lib/Archive/Tar/Constant.pm
cpan/Archive-Tar/lib/Archive/Tar/File.pm

index 1bad558..5c076d5 100755 (executable)
@@ -120,7 +120,7 @@ use File::Glob qw(:case);
 %Modules = (
 
     'Archive::Tar' => {
-        'DISTRIBUTION' => 'BINGOS/Archive-Tar-2.30.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/Archive-Tar-2.32.tar.gz',
         'FILES'        => q[cpan/Archive-Tar],
         'BUGS'         => 'bug-archive-tar@rt.cpan.org',
         'EXCLUDED'     => [
index e08b5e5..093579a 100644 (file)
@@ -31,7 +31,7 @@ use vars qw[$DEBUG $error $VERSION $WARN $FOLLOW_SYMLINK $CHOWN $CHMOD
 $DEBUG                  = 0;
 $WARN                   = 1;
 $FOLLOW_SYMLINK         = 0;
-$VERSION                = "2.30";
+$VERSION                = "2.32";
 $CHOWN                  = 1;
 $CHMOD                  = 1;
 $SAME_PERMISSIONS       = $> == 0 ? 1 : 0;
index 66fad51..a48968d 100644 (file)
@@ -3,7 +3,7 @@ package Archive::Tar::Constant;
 BEGIN {
     require Exporter;
 
-    $VERSION    = '2.30';
+    $VERSION    = '2.32';
     @ISA        = qw[Exporter];
 
     require Time::Local if $^O eq "MacOS";
index b6fbecf..3efa315 100644 (file)
@@ -13,7 +13,7 @@ use Archive::Tar::Constant;
 
 use vars qw[@ISA $VERSION];
 #@ISA        = qw[Archive::Tar];
-$VERSION    = '2.30';
+$VERSION    = '2.32';
 
 ### set value to 1 to oct() it during the unpack ###
 
@@ -402,7 +402,15 @@ sub _prefix_and_file {
     $file = pop @dirs if $self->is_dir and not length $file;
 
     ### splitting ../ gives you the relative path in native syntax
-    map { $_ = '..' if $_  eq '-' } @dirs if ON_VMS;
+    ### Remove the root (000000) directory
+    ### The volume from splitpath will also be in native syntax
+    if (ON_VMS) {
+        map { $_ = '..' if $_  eq '-'; $_ = '' if $_ eq '000000' } @dirs;
+        if (length($vol)) {
+            $vol = VMS::Filespec::unixify($vol);
+            unshift @dirs, $vol;
+        }
+    }
 
     my $prefix = File::Spec::Unix->catdir(@dirs);
     return( $prefix, $file );