3.74 bump
This commit is contained in:
parent
1c3b230110
commit
a0ed8e1533
1
.gitignore
vendored
1
.gitignore
vendored
@ -5,3 +5,4 @@
|
||||
/PathTools-3.59.tar.gz
|
||||
/PathTools-3.60.tar.gz
|
||||
/PathTools-3.62.tar.gz
|
||||
/PathTools-3.74.tar.gz
|
||||
|
@ -1,233 +0,0 @@
|
||||
From 37ec7c0cadcde0f86ea87bc025096a7d894c7983 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
|
||||
Date: Thu, 11 May 2017 11:36:46 +0200
|
||||
Subject: [PATCH] Upgrade to 3.63
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Unbundled from perl-5.24.0.
|
||||
|
||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
||||
---
|
||||
Cwd.pm | 2 +-
|
||||
lib/File/Spec.pm | 2 +-
|
||||
lib/File/Spec/AmigaOS.pm | 5 +++--
|
||||
lib/File/Spec/Cygwin.pm | 2 +-
|
||||
lib/File/Spec/Epoc.pm | 2 +-
|
||||
lib/File/Spec/Functions.pm | 2 +-
|
||||
lib/File/Spec/Mac.pm | 2 +-
|
||||
lib/File/Spec/OS2.pm | 2 +-
|
||||
lib/File/Spec/Unix.pm | 2 +-
|
||||
lib/File/Spec/VMS.pm | 10 ++++------
|
||||
lib/File/Spec/Win32.pm | 2 +-
|
||||
t/abs2rel.t | 6 +++---
|
||||
12 files changed, 19 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/Cwd.pm b/Cwd.pm
|
||||
index 9b5183e..e8b9f19 100644
|
||||
--- a/Cwd.pm
|
||||
+++ b/Cwd.pm
|
||||
@@ -3,7 +3,7 @@ use strict;
|
||||
use Exporter;
|
||||
use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
|
||||
|
||||
-$VERSION = '3.62';
|
||||
+$VERSION = '3.63';
|
||||
my $xs_version = $VERSION;
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
diff --git a/lib/File/Spec.pm b/lib/File/Spec.pm
|
||||
index 2709c39..32b987e 100644
|
||||
--- a/lib/File/Spec.pm
|
||||
+++ b/lib/File/Spec.pm
|
||||
@@ -3,7 +3,7 @@ package File::Spec;
|
||||
use strict;
|
||||
use vars qw(@ISA $VERSION);
|
||||
|
||||
-$VERSION = '3.62';
|
||||
+$VERSION = '3.63';
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
my %module = (MacOS => 'Mac',
|
||||
diff --git a/lib/File/Spec/AmigaOS.pm b/lib/File/Spec/AmigaOS.pm
|
||||
index e6d6f5f..7a5889c 100644
|
||||
--- a/lib/File/Spec/AmigaOS.pm
|
||||
+++ b/lib/File/Spec/AmigaOS.pm
|
||||
@@ -4,7 +4,7 @@ use strict;
|
||||
use vars qw(@ISA $VERSION);
|
||||
require File::Spec::Unix;
|
||||
|
||||
-$VERSION = '3.62';
|
||||
+$VERSION = '3.64';
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
@ISA = qw(File::Spec::Unix);
|
||||
@@ -15,7 +15,8 @@ File::Spec::AmigaOS - File::Spec for AmigaOS
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
- require File::Spec::AmigaOS; # Done automatically by File::Spec if needed
|
||||
+ require File::Spec::AmigaOS; # Done automatically by File::Spec
|
||||
+ # if needed
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
diff --git a/lib/File/Spec/Cygwin.pm b/lib/File/Spec/Cygwin.pm
|
||||
index 67f056f..2092eb8 100644
|
||||
--- a/lib/File/Spec/Cygwin.pm
|
||||
+++ b/lib/File/Spec/Cygwin.pm
|
||||
@@ -4,7 +4,7 @@ use strict;
|
||||
use vars qw(@ISA $VERSION);
|
||||
require File::Spec::Unix;
|
||||
|
||||
-$VERSION = '3.62';
|
||||
+$VERSION = '3.63';
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
@ISA = qw(File::Spec::Unix);
|
||||
diff --git a/lib/File/Spec/Epoc.pm b/lib/File/Spec/Epoc.pm
|
||||
index 17e3f54..22f0192 100644
|
||||
--- a/lib/File/Spec/Epoc.pm
|
||||
+++ b/lib/File/Spec/Epoc.pm
|
||||
@@ -3,7 +3,7 @@ package File::Spec::Epoc;
|
||||
use strict;
|
||||
use vars qw($VERSION @ISA);
|
||||
|
||||
-$VERSION = '3.62';
|
||||
+$VERSION = '3.63';
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
require File::Spec::Unix;
|
||||
diff --git a/lib/File/Spec/Functions.pm b/lib/File/Spec/Functions.pm
|
||||
index 470c771..af2c498 100644
|
||||
--- a/lib/File/Spec/Functions.pm
|
||||
+++ b/lib/File/Spec/Functions.pm
|
||||
@@ -5,7 +5,7 @@ use strict;
|
||||
|
||||
use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION);
|
||||
|
||||
-$VERSION = '3.62';
|
||||
+$VERSION = '3.63';
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
require Exporter;
|
||||
diff --git a/lib/File/Spec/Mac.pm b/lib/File/Spec/Mac.pm
|
||||
index 329451f..52c3bfe 100644
|
||||
--- a/lib/File/Spec/Mac.pm
|
||||
+++ b/lib/File/Spec/Mac.pm
|
||||
@@ -4,7 +4,7 @@ use strict;
|
||||
use vars qw(@ISA $VERSION);
|
||||
require File::Spec::Unix;
|
||||
|
||||
-$VERSION = '3.62';
|
||||
+$VERSION = '3.63';
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
@ISA = qw(File::Spec::Unix);
|
||||
diff --git a/lib/File/Spec/OS2.pm b/lib/File/Spec/OS2.pm
|
||||
index 55e6d33..804ecdb 100644
|
||||
--- a/lib/File/Spec/OS2.pm
|
||||
+++ b/lib/File/Spec/OS2.pm
|
||||
@@ -4,7 +4,7 @@ use strict;
|
||||
use vars qw(@ISA $VERSION);
|
||||
require File::Spec::Unix;
|
||||
|
||||
-$VERSION = '3.62';
|
||||
+$VERSION = '3.63';
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
@ISA = qw(File::Spec::Unix);
|
||||
diff --git a/lib/File/Spec/Unix.pm b/lib/File/Spec/Unix.pm
|
||||
index 586e9b0..3916a11 100644
|
||||
--- a/lib/File/Spec/Unix.pm
|
||||
+++ b/lib/File/Spec/Unix.pm
|
||||
@@ -3,7 +3,7 @@ package File::Spec::Unix;
|
||||
use strict;
|
||||
use vars qw($VERSION);
|
||||
|
||||
-$VERSION = '3.62';
|
||||
+$VERSION = '3.63';
|
||||
my $xs_version = $VERSION;
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
diff --git a/lib/File/Spec/VMS.pm b/lib/File/Spec/VMS.pm
|
||||
index 600c49f..02cc0b0 100644
|
||||
--- a/lib/File/Spec/VMS.pm
|
||||
+++ b/lib/File/Spec/VMS.pm
|
||||
@@ -4,7 +4,7 @@ use strict;
|
||||
use vars qw(@ISA $VERSION);
|
||||
require File::Spec::Unix;
|
||||
|
||||
-$VERSION = '3.62';
|
||||
+$VERSION = '3.63';
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
@ISA = qw(File::Spec::Unix);
|
||||
@@ -437,15 +437,13 @@ Attempt to convert an absolute file specification to a relative specification.
|
||||
|
||||
sub abs2rel {
|
||||
my $self = shift;
|
||||
- return vmspath(File::Spec::Unix::abs2rel( $self, @_ ))
|
||||
- if ((grep m{/}, @_) && !(grep m{(?<!\^)[\[<:]}, @_));
|
||||
-
|
||||
my($path,$base) = @_;
|
||||
+
|
||||
$base = $self->_cwd() unless defined $base and length $base;
|
||||
|
||||
# If there is no device or directory syntax on $base, make sure it
|
||||
# is treated as a directory.
|
||||
- $base = VMS::Filespec::vmspath($base) unless $base =~ m{(?<!\^)[\[<:]};
|
||||
+ $base = vmspath($base) unless $base =~ m{(?<!\^)[\[<:]};
|
||||
|
||||
for ($path, $base) { $_ = $self->rel2abs($_) }
|
||||
|
||||
@@ -461,7 +459,7 @@ sub abs2rel {
|
||||
|
||||
my ($path_volume, $path_directories, $path_file) = $self->splitpath($path);
|
||||
my ($base_volume, $base_directories, $base_file) = $self->splitpath($base);
|
||||
- return $path unless lc($path_volume) eq lc($base_volume);
|
||||
+ return $self->canonpath( $path ) unless lc($path_volume) eq lc($base_volume);
|
||||
|
||||
# Now, remove all leading components that are the same
|
||||
my @pathchunks = $self->splitdir( $path_directories );
|
||||
diff --git a/lib/File/Spec/Win32.pm b/lib/File/Spec/Win32.pm
|
||||
index 6df7ee8..1105b67 100644
|
||||
--- a/lib/File/Spec/Win32.pm
|
||||
+++ b/lib/File/Spec/Win32.pm
|
||||
@@ -5,7 +5,7 @@ use strict;
|
||||
use vars qw(@ISA $VERSION);
|
||||
require File::Spec::Unix;
|
||||
|
||||
-$VERSION = '3.62';
|
||||
+$VERSION = '3.63';
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
@ISA = qw(File::Spec::Unix);
|
||||
diff --git a/t/abs2rel.t b/t/abs2rel.t
|
||||
index 5e33ab6..b77a1c2 100644
|
||||
--- a/t/abs2rel.t
|
||||
+++ b/t/abs2rel.t
|
||||
@@ -6,7 +6,7 @@ use Test::More;
|
||||
use Cwd qw(cwd getcwd abs_path);
|
||||
use File::Spec();
|
||||
use File::Temp qw(tempdir);
|
||||
-use File::Path qw(make_path);
|
||||
+use File::Path qw(mkpath);
|
||||
|
||||
my $startdir = cwd();
|
||||
my @files = ( 'anyfile', './anyfile', '../first_sub_dir/anyfile', '../second_sub_dir/second_file' );
|
||||
@@ -25,8 +25,8 @@ sub test_rel2abs {
|
||||
File::Spec->catdir('first_sub_dir', 'sub_sub_dir'),
|
||||
'second_sub_dir'
|
||||
);
|
||||
- make_path(@subdirs, { mode => 0711 })
|
||||
- or die "Unable to make_path: $!";
|
||||
+ mkpath(@subdirs, { mode => 0711 })
|
||||
+ or die "Unable to mkpath: $!";
|
||||
|
||||
open my $OUT2, '>',
|
||||
File::Spec->catfile('second_sub_dir', 'second_file')
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,344 +0,0 @@
|
||||
From e096006aef3f45147f77949c6b07f525aba08fc3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
|
||||
Date: Thu, 11 May 2017 11:27:40 +0200
|
||||
Subject: [PATCH] Upgrade to 3.67
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Unbundled from 5.25.12.
|
||||
|
||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
||||
---
|
||||
Changes | 12 ++++++++++++
|
||||
Cwd.pm | 7 +++++--
|
||||
Cwd.xs | 2 +-
|
||||
Makefile.PL | 9 +++++++--
|
||||
lib/File/Spec.pm | 11 +++++++----
|
||||
lib/File/Spec/AmigaOS.pm | 2 +-
|
||||
lib/File/Spec/Cygwin.pm | 8 ++++++--
|
||||
lib/File/Spec/Epoc.pm | 2 +-
|
||||
lib/File/Spec/Functions.pm | 2 +-
|
||||
lib/File/Spec/Mac.pm | 6 +++---
|
||||
lib/File/Spec/OS2.pm | 2 +-
|
||||
lib/File/Spec/Unix.pm | 2 +-
|
||||
lib/File/Spec/VMS.pm | 17 ++++++++++-------
|
||||
lib/File/Spec/Win32.pm | 8 ++++++--
|
||||
14 files changed, 62 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/Changes b/Changes
|
||||
index 09e977a..7d0c179 100644
|
||||
--- a/Changes
|
||||
+++ b/Changes
|
||||
@@ -1,5 +1,17 @@
|
||||
Revision history for Perl distribution PathTools.
|
||||
|
||||
+3.67 - Mon Feb 27 09:33:04 EST 2017
|
||||
+- Add security usage note to File::Spec::no_upwards
|
||||
+
|
||||
+3.66 - Sat Nov 19 10:30:19 MST 2016
|
||||
+- white space change so can compile under C++11
|
||||
+
|
||||
+3.65 - Mon, 25 Jul 2016 23:15:33 -0700
|
||||
+- (perl #127384)(CVE-2016-1238)
|
||||
+
|
||||
+3.64 - Tue May 24 10:00:19 MST 2016
|
||||
+- just minor pod changes to silence Pod::Checker
|
||||
+
|
||||
3.62 - Mon Jan 11 08:39:19 EST 2016
|
||||
- ensure File::Spec::canonpath() preserves taint (CVE-2015-8607)
|
||||
|
||||
diff --git a/Cwd.pm b/Cwd.pm
|
||||
index e8b9f19..ce142cf 100644
|
||||
--- a/Cwd.pm
|
||||
+++ b/Cwd.pm
|
||||
@@ -3,7 +3,7 @@ use strict;
|
||||
use Exporter;
|
||||
use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
|
||||
|
||||
-$VERSION = '3.63';
|
||||
+$VERSION = '3.67';
|
||||
my $xs_version = $VERSION;
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
@@ -40,7 +40,10 @@ if ($^O eq 'os2') {
|
||||
my $use_vms_feature;
|
||||
BEGIN {
|
||||
if ($^O eq 'VMS') {
|
||||
- if (eval { local $SIG{__DIE__}; require VMS::Feature; }) {
|
||||
+ if (eval { local $SIG{__DIE__};
|
||||
+ local @INC = @INC;
|
||||
+ pop @INC if $INC[-1] eq '.';
|
||||
+ require VMS::Feature; }) {
|
||||
$use_vms_feature = 1;
|
||||
}
|
||||
}
|
||||
diff --git a/Cwd.xs b/Cwd.xs
|
||||
index 3d018dc..c6c600b 100644
|
||||
--- a/Cwd.xs
|
||||
+++ b/Cwd.xs
|
||||
@@ -424,7 +424,7 @@ int Perl_getcwd_sv(pTHX_ SV *sv)
|
||||
#endif
|
||||
|
||||
#if USE_MY_CXT
|
||||
-# define MY_CXT_KEY "Cwd::_guts"XS_VERSION
|
||||
+# define MY_CXT_KEY "Cwd::_guts" XS_VERSION
|
||||
typedef struct {
|
||||
SV *empty_string_sv, *slash_string_sv;
|
||||
} my_cxt_t;
|
||||
diff --git a/Makefile.PL b/Makefile.PL
|
||||
index bc40baf..71b9a60 100644
|
||||
--- a/Makefile.PL
|
||||
+++ b/Makefile.PL
|
||||
@@ -1,5 +1,11 @@
|
||||
|
||||
-BEGIN { @INC = grep {!/blib/} @INC }
|
||||
+# See https://rt.cpan.org/Public/Bug/Display.html?id=4681
|
||||
+# and https://rt.perl.org/Ticket/Display.html?id=125603
|
||||
+# When installing a newer Cwd on a system with an existing Cwd,
|
||||
+# under some circumstances the old Cwd.pm and the new Cwd.xs could
|
||||
+# get mixed up and SEGVs ensue.
|
||||
+
|
||||
+BEGIN { @INC = grep { $_ ne "blib/arch" and $_ ne "blib/lib" } @INC }
|
||||
|
||||
require 5.005;
|
||||
use ExtUtils::MakeMaker;
|
||||
@@ -16,7 +22,6 @@ WriteMakefile
|
||||
'Carp' => '0',
|
||||
'File::Basename' => '0',
|
||||
'Scalar::Util' => '0',
|
||||
- 'Test' => '0',
|
||||
# done_testing() is used in dist/Cwd/t/Spec.t
|
||||
'Test::More' => 0.88,
|
||||
},
|
||||
diff --git a/lib/File/Spec.pm b/lib/File/Spec.pm
|
||||
index 32b987e..a9a7619 100644
|
||||
--- a/lib/File/Spec.pm
|
||||
+++ b/lib/File/Spec.pm
|
||||
@@ -3,7 +3,7 @@ package File::Spec;
|
||||
use strict;
|
||||
use vars qw(@ISA $VERSION);
|
||||
|
||||
-$VERSION = '3.63';
|
||||
+$VERSION = '3.67';
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
my %module = (MacOS => 'Mac',
|
||||
@@ -158,10 +158,13 @@ Returns a string representation of the parent directory.
|
||||
|
||||
=item no_upwards
|
||||
|
||||
-Given a list of file names, strip out those that refer to a parent
|
||||
-directory. (Does not strip symlinks, only '.', '..', and equivalents.)
|
||||
+Given a list of files in a directory (such as from C<readdir()>),
|
||||
+strip out C<'.'> and C<'..'>.
|
||||
|
||||
- @paths = File::Spec->no_upwards( @paths );
|
||||
+B<SECURITY NOTE:> This does NOT filter paths containing C<'..'>, like
|
||||
+C<'../../../../etc/passwd'>, only literal matches to C<'.'> and C<'..'>.
|
||||
+
|
||||
+ @paths = File::Spec->no_upwards( readdir $dirhandle );
|
||||
|
||||
=item case_tolerant
|
||||
|
||||
diff --git a/lib/File/Spec/AmigaOS.pm b/lib/File/Spec/AmigaOS.pm
|
||||
index 7a5889c..8d3796e 100644
|
||||
--- a/lib/File/Spec/AmigaOS.pm
|
||||
+++ b/lib/File/Spec/AmigaOS.pm
|
||||
@@ -4,7 +4,7 @@ use strict;
|
||||
use vars qw(@ISA $VERSION);
|
||||
require File::Spec::Unix;
|
||||
|
||||
-$VERSION = '3.64';
|
||||
+$VERSION = '3.67';
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
@ISA = qw(File::Spec::Unix);
|
||||
diff --git a/lib/File/Spec/Cygwin.pm b/lib/File/Spec/Cygwin.pm
|
||||
index 2092eb8..745df86 100644
|
||||
--- a/lib/File/Spec/Cygwin.pm
|
||||
+++ b/lib/File/Spec/Cygwin.pm
|
||||
@@ -4,7 +4,7 @@ use strict;
|
||||
use vars qw(@ISA $VERSION);
|
||||
require File::Spec::Unix;
|
||||
|
||||
-$VERSION = '3.63';
|
||||
+$VERSION = '3.67';
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
@ISA = qw(File::Spec::Unix);
|
||||
@@ -137,7 +137,11 @@ sub case_tolerant {
|
||||
if ($mntopts and ($mntopts =~ /,managed/)) {
|
||||
return 0;
|
||||
}
|
||||
- eval { require Win32API::File; } or return 1;
|
||||
+ eval {
|
||||
+ local @INC = @INC;
|
||||
+ pop @INC if $INC[-1] eq '.';
|
||||
+ require Win32API::File;
|
||||
+ } or return 1;
|
||||
my $osFsType = "\0"x256;
|
||||
my $osVolName = "\0"x256;
|
||||
my $ouFsFlags = 0;
|
||||
diff --git a/lib/File/Spec/Epoc.pm b/lib/File/Spec/Epoc.pm
|
||||
index 22f0192..959261a 100644
|
||||
--- a/lib/File/Spec/Epoc.pm
|
||||
+++ b/lib/File/Spec/Epoc.pm
|
||||
@@ -3,7 +3,7 @@ package File::Spec::Epoc;
|
||||
use strict;
|
||||
use vars qw($VERSION @ISA);
|
||||
|
||||
-$VERSION = '3.63';
|
||||
+$VERSION = '3.67';
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
require File::Spec::Unix;
|
||||
diff --git a/lib/File/Spec/Functions.pm b/lib/File/Spec/Functions.pm
|
||||
index af2c498..cb7532e 100644
|
||||
--- a/lib/File/Spec/Functions.pm
|
||||
+++ b/lib/File/Spec/Functions.pm
|
||||
@@ -5,7 +5,7 @@ use strict;
|
||||
|
||||
use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION);
|
||||
|
||||
-$VERSION = '3.63';
|
||||
+$VERSION = '3.67';
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
require Exporter;
|
||||
diff --git a/lib/File/Spec/Mac.pm b/lib/File/Spec/Mac.pm
|
||||
index 52c3bfe..192cc8d 100644
|
||||
--- a/lib/File/Spec/Mac.pm
|
||||
+++ b/lib/File/Spec/Mac.pm
|
||||
@@ -4,7 +4,7 @@ use strict;
|
||||
use vars qw(@ISA $VERSION);
|
||||
require File::Spec::Unix;
|
||||
|
||||
-$VERSION = '3.63';
|
||||
+$VERSION = '3.67';
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
@ISA = qw(File::Spec::Unix);
|
||||
@@ -121,7 +121,7 @@ doesn't alter the path, i.e. these arguments are ignored. (When a ""
|
||||
is passed as the first argument, it has a special meaning, see
|
||||
(6)). This way, a colon ":" is handled like a "." (curdir) on Unix,
|
||||
while an empty string "" is generally ignored (see
|
||||
-C<Unix-E<gt>canonpath()> ). Likewise, a "::" is handled like a ".."
|
||||
+L<File::Spec::Unix/canonpath()> ). Likewise, a "::" is handled like a ".."
|
||||
(updir), and a ":::" is handled like a "../.." etc. E.g.
|
||||
|
||||
catdir("a",":",":","b") = ":a:b:"
|
||||
@@ -168,7 +168,7 @@ their Unix counterparts:
|
||||
# (e.g. "HD:a:")
|
||||
|
||||
However, this approach is limited to the first arguments following
|
||||
-"root" (again, see C<Unix-E<gt>canonpath()> ). If there are more
|
||||
+"root" (again, see L<File::Spec::Unix/canonpath()>. If there are more
|
||||
arguments that move up the directory tree, an invalid path going
|
||||
beyond root can be created.
|
||||
|
||||
diff --git a/lib/File/Spec/OS2.pm b/lib/File/Spec/OS2.pm
|
||||
index 804ecdb..1e201eb 100644
|
||||
--- a/lib/File/Spec/OS2.pm
|
||||
+++ b/lib/File/Spec/OS2.pm
|
||||
@@ -4,7 +4,7 @@ use strict;
|
||||
use vars qw(@ISA $VERSION);
|
||||
require File::Spec::Unix;
|
||||
|
||||
-$VERSION = '3.63';
|
||||
+$VERSION = '3.67';
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
@ISA = qw(File::Spec::Unix);
|
||||
diff --git a/lib/File/Spec/Unix.pm b/lib/File/Spec/Unix.pm
|
||||
index 3916a11..ff3599a 100644
|
||||
--- a/lib/File/Spec/Unix.pm
|
||||
+++ b/lib/File/Spec/Unix.pm
|
||||
@@ -3,7 +3,7 @@ package File::Spec::Unix;
|
||||
use strict;
|
||||
use vars qw($VERSION);
|
||||
|
||||
-$VERSION = '3.63';
|
||||
+$VERSION = '3.67';
|
||||
my $xs_version = $VERSION;
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
diff --git a/lib/File/Spec/VMS.pm b/lib/File/Spec/VMS.pm
|
||||
index 02cc0b0..fb4351f 100644
|
||||
--- a/lib/File/Spec/VMS.pm
|
||||
+++ b/lib/File/Spec/VMS.pm
|
||||
@@ -4,7 +4,7 @@ use strict;
|
||||
use vars qw(@ISA $VERSION);
|
||||
require File::Spec::Unix;
|
||||
|
||||
-$VERSION = '3.63';
|
||||
+$VERSION = '3.67';
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
@ISA = qw(File::Spec::Unix);
|
||||
@@ -39,7 +39,10 @@ via the C<DECC$FILENAME_UNIX_REPORT> CRTL feature.
|
||||
|
||||
my $use_feature;
|
||||
BEGIN {
|
||||
- if (eval { local $SIG{__DIE__}; require VMS::Feature; }) {
|
||||
+ if (eval { local $SIG{__DIE__};
|
||||
+ local @INC = @INC;
|
||||
+ pop @INC if $INC[-1] eq '.';
|
||||
+ require VMS::Feature; }) {
|
||||
$use_feature = 1;
|
||||
}
|
||||
}
|
||||
@@ -94,7 +97,7 @@ sub canonpath {
|
||||
# [-.-. ==> [--.
|
||||
# .-.-] ==> .--]
|
||||
# [-.-] ==> [--]
|
||||
- 1 while ($path =~ s/(?<!\^)([\[\.])[^\]\.]+\.-(-+)([\]\.])/$1$2$3/);
|
||||
+ 1 while ($path =~ s/(?<!\^)([\[\.])(?:\^.|[^\]\.])+\.-(-+)([\]\.])/$1$2$3/);
|
||||
# That loop does the following
|
||||
# with any amount (minimum 2)
|
||||
# of dashes:
|
||||
@@ -105,11 +108,11 @@ sub canonpath {
|
||||
#
|
||||
# And then, the remaining cases
|
||||
$path =~ s/(?<!\^)\[\.-/[-/; # [.- ==> [-
|
||||
- $path =~ s/(?<!\^)\.[^\]\.]+\.-\./\./g; # .foo.-. ==> .
|
||||
- $path =~ s/(?<!\^)\[[^\]\.]+\.-\./\[/g; # [foo.-. ==> [
|
||||
- $path =~ s/(?<!\^)\.[^\]\.]+\.-\]/\]/g; # .foo.-] ==> ]
|
||||
+ $path =~ s/(?<!\^)\.(?:\^.|[^\]\.])+\.-\./\./g; # .foo.-. ==> .
|
||||
+ $path =~ s/(?<!\^)\[(?:\^.|[^\]\.])+\.-\./\[/g; # [foo.-. ==> [
|
||||
+ $path =~ s/(?<!\^)\.(?:\^.|[^\]\.])+\.-\]/\]/g; # .foo.-] ==> ]
|
||||
# [foo.-] ==> [000000]
|
||||
- $path =~ s/(?<!\^)\[[^\]\.]+\.-\]/\[000000\]/g;
|
||||
+ $path =~ s/(?<!\^)\[(?:\^.|[^\]\.])+\.-\]/\[000000\]/g;
|
||||
# [] ==>
|
||||
$path =~ s/(?<!\^)\[\]// unless $path eq '[]';
|
||||
return $unix_rpt ? unixify($path) : $path;
|
||||
diff --git a/lib/File/Spec/Win32.pm b/lib/File/Spec/Win32.pm
|
||||
index 1105b67..17f1c5a 100644
|
||||
--- a/lib/File/Spec/Win32.pm
|
||||
+++ b/lib/File/Spec/Win32.pm
|
||||
@@ -5,7 +5,7 @@ use strict;
|
||||
use vars qw(@ISA $VERSION);
|
||||
require File::Spec::Unix;
|
||||
|
||||
-$VERSION = '3.63';
|
||||
+$VERSION = '3.67';
|
||||
$VERSION =~ tr/_//d;
|
||||
|
||||
@ISA = qw(File::Spec::Unix);
|
||||
@@ -90,7 +90,11 @@ Default: 1
|
||||
=cut
|
||||
|
||||
sub case_tolerant {
|
||||
- eval { require Win32API::File; } or return 1;
|
||||
+ eval {
|
||||
+ local @INC = @INC;
|
||||
+ pop @INC if $INC[-1] eq '.';
|
||||
+ require Win32API::File;
|
||||
+ } or return 1;
|
||||
my $drive = shift || "C:";
|
||||
my $osFsType = "\0"x256;
|
||||
my $osVolName = "\0"x256;
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,4 +1,4 @@
|
||||
From b7763c2f1b5f2f8eb7d739f763c9e637a97172a3 Mon Sep 17 00:00:00 2001
|
||||
From 27cd91c8d8c0aa03a954097e24d78df08905dc8e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
|
||||
Date: Thu, 11 May 2017 11:36:46 +0200
|
||||
Subject: [PATCH] Disable VMS test (bug #973713)
|
||||
@ -8,11 +8,11 @@ Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
||||
---
|
||||
t/Spec.t | 186 +--------------------------------------------------------------
|
||||
1 file changed, 1 insertion(+), 185 deletions(-)
|
||||
t/Spec.t | 196 +--------------------------------------------------------------
|
||||
1 file changed, 1 insertion(+), 195 deletions(-)
|
||||
|
||||
diff --git a/t/Spec.t b/t/Spec.t
|
||||
index 74c18aa..adba01c 100644
|
||||
index 84ed6b1..7ef976f 100644
|
||||
--- a/t/Spec.t
|
||||
+++ b/t/Spec.t
|
||||
@@ -38,7 +38,7 @@ if ( $@ ) {
|
||||
@ -24,7 +24,7 @@ index 74c18aa..adba01c 100644
|
||||
require_ok("File::Spec::$_");
|
||||
}
|
||||
|
||||
@@ -322,190 +322,6 @@ my @tests = (
|
||||
@@ -326,200 +326,6 @@ my @tests = (
|
||||
[ "FakeWin32->rel2abs('../','//prague_main/work')", '\\\\prague_main\\work' ],
|
||||
[ "FakeWin32->rel2abs('D:foo.txt')", 'D:\\alpha\\beta\\foo.txt' ],
|
||||
|
||||
@ -153,7 +153,14 @@ index 74c18aa..adba01c 100644
|
||||
-[ "VMS->canonpath('[d1.d2.--]file')", $vms_unix_rpt ? '../file.txt' : '[000000]file' ],
|
||||
-# During the Perl 5.8 era, FS::Unix stopped eliminating redundant path elements, so mimic that here.
|
||||
-[ "VMS->canonpath('a/../../b/c.dat')", $vms_unix_rpt ? 'a/../../b/c.dat' : '[-.b]c.dat' ],
|
||||
-[ "VMS->canonpath('^<test^.new.-.caret^ escapes^>')", '^<test^.new.-.caret^ escapes^>' ],
|
||||
-[ "VMS->canonpath('^<test^.new.-.caret^ escapes^>')", $vms_unix_rpt ? '/<test.new.-.caret escapes>' : '^<test^.new.-.caret^ escapes^>' ],
|
||||
-# Check that directory specs with caret-dot component is treated correctly
|
||||
-[ "VMS->canonpath('foo:[bar.coo.kie.--]file.txt')", $vms_unix_rpt ? '/foo/bar/file.txt' : "foo:[bar]file.txt" ],
|
||||
-[ "VMS->canonpath('foo:[bar^.coo.kie.--]file.txt')", $vms_unix_rpt ? '/foo/file.txt' : "foo:[000000]file.txt" ],
|
||||
-[ "VMS->canonpath('foo:[bar.coo^.kie.--]file.txt')", $vms_unix_rpt ? '/foo/file.txt' : "foo:[000000]file.txt" ],
|
||||
-[ "VMS->canonpath('foo:[bar.coo.kie.-]file.txt')", $vms_unix_rpt ? '/foo/bar/coo/file.txt' : "foo:[bar.coo]file.txt" ],
|
||||
-[ "VMS->canonpath('foo:[bar^.coo.kie.-]file.txt')", $vms_unix_rpt ? '/foo/bar.coo/file.txt' : "foo:[bar^.coo]file.txt" ],
|
||||
-[ "VMS->canonpath('foo:[bar.coo^.kie.-]file.txt')", $vms_unix_rpt ? '/foo/bar/file.txt' : "foo:[bar]file.txt" ],
|
||||
-
|
||||
-[ "VMS->splitdir('')", '' ],
|
||||
-[ "VMS->splitdir('[]')", '' ],
|
||||
@ -189,6 +196,8 @@ index 74c18aa..adba01c 100644
|
||||
-[ "VMS->abs2rel('node::volume:[t1.t2.t3]','[t1.t2.t3]')", $vms_unix_rpt ? '/node//volume/t1/t2/t3/' : 'node::volume:[t1.t2.t3]' ],
|
||||
-[ "VMS->abs2rel('node::volume:[t1.t2.t4]','node::volume:[t1.t2.t3]')", $vms_unix_rpt ? '../t4/' : '[-.t4]' ],
|
||||
-[ "VMS->abs2rel('node::volume:[t1.t2.t4]','[t1.t2.t3]')", $vms_unix_rpt ? '/node//volume/t1/t2/t4/' : 'node::volume:[t1.t2.t4]' ],
|
||||
-[ "VMS->abs2rel('/volume/t1/t2/t3','/volume/t1')", $vms_unix_rpt ? 't2/t3' : '[.t2]t3' ],
|
||||
-[ "VMS->abs2rel('/volume/t1/t2/t3/t4','/volume/t1/xyz')", $vms_unix_rpt ? '../t2/t3/t4' : '[-.t2.t3]t4' ],
|
||||
-[ "VMS->abs2rel('[t1.t2.t3]','[t1.t2.t3]')", $vms_unix_rpt ? './' : '[]' ],
|
||||
-[ "VMS->abs2rel('[t1.t2.t3]file','[t1.t2.t3]')", 'file' ],
|
||||
-[ "VMS->abs2rel('[t1.t2.t3]file','[t1.t2]')", $vms_unix_rpt ? 't3/file' : '[.t3]file' ],
|
||||
@ -199,7 +208,7 @@ index 74c18aa..adba01c 100644
|
||||
-[ "VMS->abs2rel('[t4.t5.t6]','[t1.t2.t3]')", $vms_unix_rpt ? '../../../t4/t5/t6/' : '[---.t4.t5.t6]' ],
|
||||
-[ "VMS->abs2rel('[000000]','[t1.t2.t3]')", $vms_unix_rpt ? '../../../' : '[---]' ],
|
||||
-[ "VMS->abs2rel('a:[t1.t2.t4]','a:[t1.t2.t3]')", $vms_unix_rpt ? '../t4/' : '[-.t4]' ],
|
||||
-[ "VMS->abs2rel('a:[t1.t2.t4]','[t1.t2.t3]')", $vms_unix_rpt ? '/a/t1/t2/t4/' : 'a:[t1.t2.t4]' ],
|
||||
-[ "VMS->abs2rel('a:[t1.t2.t4]','[t1.t2.t3]')", $vms_unix_rpt ? '/a/t1/t2/t4' : 'a:[t1.t2.t4]' ],
|
||||
-[ "VMS->abs2rel('[a.-.b.c.-]','[t1.t2.t3]')", $vms_unix_rpt ? '../../../b/' : '[---.b]' ],
|
||||
-
|
||||
-[ "VMS->rel2abs('[.t4]','[t1.t2.t3]')", $vms_unix_rpt ? '/sys$disk/t1/t2/t3/t4/' : '[t1.t2.t3.t4]' ],
|
||||
@ -212,9 +221,10 @@ index 74c18aa..adba01c 100644
|
||||
-[ "VMS->file_name_is_absolute('foo:')", '1' ],
|
||||
-[ "VMS->file_name_is_absolute('foo:bar.dat')", '1' ],
|
||||
-[ "VMS->file_name_is_absolute('foo:[000000]bar.dat')", '1' ],
|
||||
|
||||
-
|
||||
[ "OS2->case_tolerant()", '1' ],
|
||||
|
||||
[ "OS2->catdir('A:/d1','B:/d2','d3','')", 'A:/d1/B:/d2/d3' ],
|
||||
--
|
||||
2.9.3
|
||||
2.13.6
|
||||
|
@ -1,38 +1,33 @@
|
||||
%global base_version 3.62
|
||||
Name: perl-PathTools
|
||||
Version: 3.67
|
||||
Release: 396%{?dist}
|
||||
Version: 3.74
|
||||
Release: 1%{?dist}
|
||||
Summary: PathTools Perl module (Cwd, File::Spec)
|
||||
# Cwd.xs: BSD
|
||||
# other files: GPL+ or Artistic
|
||||
## Not in the binary package
|
||||
# t/lib/Test/Tutorial.pod: (GPL+ or Artistic) and Public Domain
|
||||
License: (GPL+ or Artistic) and BSD
|
||||
URL: http://search.cpan.org/dist/PathTools/
|
||||
Source0: http://www.cpan.org/authors/id/R/RJ/RJBS/PathTools-%{base_version}.tar.gz
|
||||
# Unbundled from perl 5.24.0
|
||||
Patch0: PathTools-3.62-Upgrade-to-3.63.patch
|
||||
# Unbundled from perl 5.25.12
|
||||
Patch1: PathTools-3.63-Upgrade-to-3.67.patch
|
||||
Source0: http://www.cpan.org/authors/id/X/XS/XSAWYERX/PathTools-%{version}.tar.gz
|
||||
# Disable VMS tests (bug #973713)
|
||||
Patch2: PathTools-3.67-Disable-VMS-tests.patch
|
||||
Patch0: PathTools-3.74-Disable-VMS-tests.patch
|
||||
BuildRequires: coreutils
|
||||
BuildRequires: findutils
|
||||
BuildRequires: gcc
|
||||
BuildRequires: make
|
||||
BuildRequires: perl-interpreter
|
||||
BuildRequires: perl-devel
|
||||
BuildRequires: perl-generators
|
||||
BuildRequires: perl-interpreter
|
||||
BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76
|
||||
BuildRequires: sed
|
||||
# Run-time:
|
||||
BuildRequires: perl(Carp)
|
||||
BuildRequires: perl(constant)
|
||||
BuildRequires: perl(Errno)
|
||||
BuildRequires: perl(Exporter)
|
||||
# File::Basename not needed because of removed File::Spec::VMS
|
||||
BuildRequires: perl(Scalar::Util)
|
||||
BuildRequires: perl(strict)
|
||||
BuildRequires: perl(vars)
|
||||
# Optional run-time:
|
||||
BuildRequires: perl(XSLoader)
|
||||
# Tests:
|
||||
BuildRequires: perl(Carp::Heavy)
|
||||
BuildRequires: perl(Config)
|
||||
@ -40,9 +35,14 @@ BuildRequires: perl(File::Path)
|
||||
BuildRequires: perl(File::Temp)
|
||||
BuildRequires: perl(lib)
|
||||
BuildRequires: perl(Test::More) >= 0.88
|
||||
BuildRequires: perl(warnings)
|
||||
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
|
||||
Requires: perl(Carp)
|
||||
Requires: perl(Errno)
|
||||
Requires: perl(Scalar::Util)
|
||||
# XSLoader is optional only because miniperl does not support XS. With perl we
|
||||
# almost certainly want it.
|
||||
Recommends: perl(XSLoader)
|
||||
|
||||
%{?perl_default_filter}
|
||||
|
||||
@ -50,19 +50,13 @@ Requires: perl(Scalar::Util)
|
||||
This is the combined distribution for the File::Spec and Cwd modules.
|
||||
|
||||
%prep
|
||||
%setup -q -n PathTools-%{base_version}
|
||||
%setup -q -n PathTools-%{version}
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
|
||||
# Do not distribute File::Spec::VMS as it works on VMS only (bug #973713)
|
||||
rm lib/File/Spec/VMS.pm
|
||||
sed -i -e '/^lib\/File\/Spec\/VMS.pm/d' MANIFEST
|
||||
|
||||
# Remove bundled modules
|
||||
rm -rf t/lib
|
||||
sed -i -e '/t\/lib\//d' MANIFEST
|
||||
|
||||
%build
|
||||
perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 OPTIMIZE="$RPM_OPT_FLAGS"
|
||||
make %{?_smp_mflags}
|
||||
@ -76,13 +70,16 @@ find $RPM_BUILD_ROOT -type f -name '*.bs' -size 0 -delete
|
||||
make test
|
||||
|
||||
%files
|
||||
%doc Changes README
|
||||
%doc Changes
|
||||
%{perl_vendorarch}/auto/*
|
||||
%{perl_vendorarch}/Cwd.pm
|
||||
%{perl_vendorarch}/File/
|
||||
%{_mandir}/man3/*
|
||||
|
||||
%changelog
|
||||
* Mon Feb 19 2018 Petr Pisar <ppisar@redhat.com> - 3.74-1
|
||||
- 3.74 bump
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.67-396
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user