r77272 - in /trunk/libfile-homedir-perl: ./ debian/ inc/Module/ inc/Module/Install/ lib/File/ lib/File/HomeDir/ lib/File/HomeDir/Darwin/ xt/
ansgar at users.alioth.debian.org
ansgar at users.alioth.debian.org
Fri Jul 8 22:08:34 UTC 2011
Author: ansgar
Date: Fri Jul 8 22:08:24 2011
New Revision: 77272
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=77272
Log:
IGNORE-VERSION: 0.98-1
Changes only relevant for Win32
Modified:
trunk/libfile-homedir-perl/Changes
trunk/libfile-homedir-perl/META.yml
trunk/libfile-homedir-perl/Makefile.PL
trunk/libfile-homedir-perl/debian/changelog
trunk/libfile-homedir-perl/inc/Module/Install.pm
trunk/libfile-homedir-perl/inc/Module/Install/Base.pm
trunk/libfile-homedir-perl/inc/Module/Install/Can.pm
trunk/libfile-homedir-perl/inc/Module/Install/Fetch.pm
trunk/libfile-homedir-perl/inc/Module/Install/Makefile.pm
trunk/libfile-homedir-perl/inc/Module/Install/Metadata.pm
trunk/libfile-homedir-perl/inc/Module/Install/Win32.pm
trunk/libfile-homedir-perl/inc/Module/Install/WriteAll.pm
trunk/libfile-homedir-perl/lib/File/HomeDir.pm
trunk/libfile-homedir-perl/lib/File/HomeDir/Darwin.pm
trunk/libfile-homedir-perl/lib/File/HomeDir/Darwin/Carbon.pm
trunk/libfile-homedir-perl/lib/File/HomeDir/Darwin/Cocoa.pm
trunk/libfile-homedir-perl/lib/File/HomeDir/Driver.pm
trunk/libfile-homedir-perl/lib/File/HomeDir/FreeDesktop.pm
trunk/libfile-homedir-perl/lib/File/HomeDir/MacOS9.pm
trunk/libfile-homedir-perl/lib/File/HomeDir/Test.pm
trunk/libfile-homedir-perl/lib/File/HomeDir/Unix.pm
trunk/libfile-homedir-perl/lib/File/HomeDir/Windows.pm
trunk/libfile-homedir-perl/xt/pmv.t
Modified: trunk/libfile-homedir-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/Changes?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/Changes (original)
+++ trunk/libfile-homedir-perl/Changes Fri Jul 8 22:08:24 2011
@@ -1,4 +1,9 @@
Changes for Perl extension File-HomeDir
+
+0.98 Thu 7 Jul 2011
+ - Updating to Module::Install 1.01
+ - If Win32::GetFolderPath returns a \\UNC type path do not do the
+ normal -d sanity check, as strange and unusual bugs may occur.
0.97 Sun 20 Feb 2011
- Looks good, moving to production release
Modified: trunk/libfile-homedir-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/META.yml?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/META.yml (original)
+++ trunk/libfile-homedir-perl/META.yml Fri Jul 8 22:08:24 2011
@@ -8,7 +8,7 @@
configure_requires:
ExtUtils::MakeMaker: 6.42
distribution_type: module
-generated_by: 'Module::Install version 1.00'
+generated_by: 'Module::Install version 1.01'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -32,4 +32,4 @@
ChangeLog: http://fisheye2.atlassian.com/changelog/cpan/trunk/File-HomeDir
license: http://dev.perl.org/licenses/
repository: http://svn.ali.as/cpan/trunk/File-HomeDir
-version: 0.97
+version: 0.98
Modified: trunk/libfile-homedir-perl/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/Makefile.PL?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/Makefile.PL (original)
+++ trunk/libfile-homedir-perl/Makefile.PL Fri Jul 8 22:08:24 2011
@@ -1,4 +1,4 @@
-use inc::Module::Install 1.00;
+use inc::Module::Install 1.01;
use Config;
all_from 'lib/File/HomeDir.pm';
Modified: trunk/libfile-homedir-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/debian/changelog?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/debian/changelog (original)
+++ trunk/libfile-homedir-perl/debian/changelog Fri Jul 8 22:08:24 2011
@@ -1,3 +1,10 @@
+libfile-homedir-perl (0.98-1) UNRELEASED; urgency=low
+
+ IGNORE-VERSION: 0.98-1
+ Changes only relevant for Win32
+
+ -- Ansgar Burchardt <ansgar at debian.org> Sat, 09 Jul 2011 00:08:04 +0200
+
libfile-homedir-perl (0.97-1) unstable; urgency=low
[ Angel Abad ]
Modified: trunk/libfile-homedir-perl/inc/Module/Install.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/inc/Module/Install.pm?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/inc/Module/Install.pm (original)
+++ trunk/libfile-homedir-perl/inc/Module/Install.pm Fri Jul 8 22:08:24 2011
@@ -31,7 +31,7 @@
# This is not enforced yet, but will be some time in the next few
# releases once we can make sure it won't clash with custom
# Module::Install extensions.
- $VERSION = '1.00';
+ $VERSION = '1.01';
# Storage for the pseudo-singleton
$MAIN = undef;
@@ -467,4 +467,4 @@
1;
-# Copyright 2008 - 2010 Adam Kennedy.
+# Copyright 2008 - 2011 Adam Kennedy.
Modified: trunk/libfile-homedir-perl/inc/Module/Install/Base.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/inc/Module/Install/Base.pm?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/inc/Module/Install/Base.pm (original)
+++ trunk/libfile-homedir-perl/inc/Module/Install/Base.pm Fri Jul 8 22:08:24 2011
@@ -4,7 +4,7 @@
use strict 'vars';
use vars qw{$VERSION};
BEGIN {
- $VERSION = '1.00';
+ $VERSION = '1.01';
}
# Suspend handler for "redefined" warnings
Modified: trunk/libfile-homedir-perl/inc/Module/Install/Can.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/inc/Module/Install/Can.pm?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/inc/Module/Install/Can.pm (original)
+++ trunk/libfile-homedir-perl/inc/Module/Install/Can.pm Fri Jul 8 22:08:24 2011
@@ -9,7 +9,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.00';
+ $VERSION = '1.01';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
Modified: trunk/libfile-homedir-perl/inc/Module/Install/Fetch.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/inc/Module/Install/Fetch.pm?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/inc/Module/Install/Fetch.pm (original)
+++ trunk/libfile-homedir-perl/inc/Module/Install/Fetch.pm Fri Jul 8 22:08:24 2011
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.00';
+ $VERSION = '1.01';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
Modified: trunk/libfile-homedir-perl/inc/Module/Install/Makefile.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/inc/Module/Install/Makefile.pm?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/inc/Module/Install/Makefile.pm (original)
+++ trunk/libfile-homedir-perl/inc/Module/Install/Makefile.pm Fri Jul 8 22:08:24 2011
@@ -8,7 +8,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.00';
+ $VERSION = '1.01';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
Modified: trunk/libfile-homedir-perl/inc/Module/Install/Metadata.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/inc/Module/Install/Metadata.pm?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/inc/Module/Install/Metadata.pm (original)
+++ trunk/libfile-homedir-perl/inc/Module/Install/Metadata.pm Fri Jul 8 22:08:24 2011
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.00';
+ $VERSION = '1.01';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -515,6 +515,7 @@
'GNU Free Documentation license' => 'unrestricted', 1,
'GNU Affero General Public License' => 'open_source', 1,
'(?:Free)?BSD license' => 'bsd', 1,
+ 'Artistic license 2\.0' => 'artistic_2', 1,
'Artistic license' => 'artistic', 1,
'Apache (?:Software )?license' => 'apache', 1,
'GPL' => 'gpl', 1,
@@ -550,9 +551,9 @@
sub _extract_bugtracker {
my @links = $_[0] =~ m#L<(
- \Qhttp://rt.cpan.org/\E[^>]+|
- \Qhttp://github.com/\E[\w_]+/[\w_]+/issues|
- \Qhttp://code.google.com/p/\E[\w_\-]+/issues/list
+ https?\Q://rt.cpan.org/\E[^>]+|
+ https?\Q://github.com/\E[\w_]+/[\w_]+/issues|
+ https?\Q://code.google.com/p/\E[\w_\-]+/issues/list
)>#gx;
my %links;
@links{@links}=();
Modified: trunk/libfile-homedir-perl/inc/Module/Install/Win32.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/inc/Module/Install/Win32.pm?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/inc/Module/Install/Win32.pm (original)
+++ trunk/libfile-homedir-perl/inc/Module/Install/Win32.pm Fri Jul 8 22:08:24 2011
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.00';
+ $VERSION = '1.01';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
Modified: trunk/libfile-homedir-perl/inc/Module/Install/WriteAll.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/inc/Module/Install/WriteAll.pm?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/inc/Module/Install/WriteAll.pm (original)
+++ trunk/libfile-homedir-perl/inc/Module/Install/WriteAll.pm Fri Jul 8 22:08:24 2011
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.00';
+ $VERSION = '1.01';
@ISA = qw{Module::Install::Base};
$ISCORE = 1;
}
Modified: trunk/libfile-homedir-perl/lib/File/HomeDir.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/lib/File/HomeDir.pm?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/lib/File/HomeDir.pm (original)
+++ trunk/libfile-homedir-perl/lib/File/HomeDir.pm Fri Jul 8 22:08:24 2011
@@ -12,7 +12,7 @@
# Globals
use vars qw{$VERSION @ISA @EXPORT @EXPORT_OK $IMPLEMENTED_BY};
BEGIN {
- $VERSION = '0.97';
+ $VERSION = '0.98';
# Inherit manually
require Exporter;
Modified: trunk/libfile-homedir-perl/lib/File/HomeDir/Darwin.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/lib/File/HomeDir/Darwin.pm?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/lib/File/HomeDir/Darwin.pm (original)
+++ trunk/libfile-homedir-perl/lib/File/HomeDir/Darwin.pm Fri Jul 8 22:08:24 2011
@@ -8,7 +8,7 @@
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '0.97';
+ $VERSION = '0.98';
@ISA = 'File::HomeDir::Unix';
}
Modified: trunk/libfile-homedir-perl/lib/File/HomeDir/Darwin/Carbon.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/lib/File/HomeDir/Darwin/Carbon.pm?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/lib/File/HomeDir/Darwin/Carbon.pm (original)
+++ trunk/libfile-homedir-perl/lib/File/HomeDir/Darwin/Carbon.pm Fri Jul 8 22:08:24 2011
@@ -11,7 +11,7 @@
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '0.97';
+ $VERSION = '0.98';
# This is only a child class of the pure Perl darwin
# class so that we can do homedir detection of all three
Modified: trunk/libfile-homedir-perl/lib/File/HomeDir/Darwin/Cocoa.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/lib/File/HomeDir/Darwin/Cocoa.pm?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/lib/File/HomeDir/Darwin/Cocoa.pm (original)
+++ trunk/libfile-homedir-perl/lib/File/HomeDir/Darwin/Cocoa.pm Fri Jul 8 22:08:24 2011
@@ -8,7 +8,7 @@
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '0.97';
+ $VERSION = '0.98';
@ISA = 'File::HomeDir::Darwin';
# Load early if in a forking environment and we have
Modified: trunk/libfile-homedir-perl/lib/File/HomeDir/Driver.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/lib/File/HomeDir/Driver.pm?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/lib/File/HomeDir/Driver.pm (original)
+++ trunk/libfile-homedir-perl/lib/File/HomeDir/Driver.pm Fri Jul 8 22:08:24 2011
@@ -9,7 +9,7 @@
use vars qw{$VERSION};
BEGIN {
- $VERSION = '0.97';
+ $VERSION = '0.98';
}
sub my_home {
Modified: trunk/libfile-homedir-perl/lib/File/HomeDir/FreeDesktop.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/lib/File/HomeDir/FreeDesktop.pm?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/lib/File/HomeDir/FreeDesktop.pm (original)
+++ trunk/libfile-homedir-perl/lib/File/HomeDir/FreeDesktop.pm Fri Jul 8 22:08:24 2011
@@ -14,7 +14,7 @@
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '0.97';
+ $VERSION = '0.98';
@ISA = 'File::HomeDir::Unix';
}
Modified: trunk/libfile-homedir-perl/lib/File/HomeDir/MacOS9.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/lib/File/HomeDir/MacOS9.pm?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/lib/File/HomeDir/MacOS9.pm (original)
+++ trunk/libfile-homedir-perl/lib/File/HomeDir/MacOS9.pm Fri Jul 8 22:08:24 2011
@@ -11,7 +11,7 @@
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '0.97';
+ $VERSION = '0.98';
@ISA = 'File::HomeDir::Driver';
}
Modified: trunk/libfile-homedir-perl/lib/File/HomeDir/Test.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/lib/File/HomeDir/Test.pm?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/lib/File/HomeDir/Test.pm (original)
+++ trunk/libfile-homedir-perl/lib/File/HomeDir/Test.pm Fri Jul 8 22:08:24 2011
@@ -9,7 +9,7 @@
use vars qw{$VERSION @ISA %DIR $ENABLED};
BEGIN {
- $VERSION = '0.97';
+ $VERSION = '0.98';
@ISA = 'File::HomeDir::Driver';
%DIR = ();
$ENABLED = 0;
Modified: trunk/libfile-homedir-perl/lib/File/HomeDir/Unix.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/lib/File/HomeDir/Unix.pm?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/lib/File/HomeDir/Unix.pm (original)
+++ trunk/libfile-homedir-perl/lib/File/HomeDir/Unix.pm Fri Jul 8 22:08:24 2011
@@ -9,7 +9,7 @@
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '0.97';
+ $VERSION = '0.98';
@ISA = 'File::HomeDir::Driver';
}
Modified: trunk/libfile-homedir-perl/lib/File/HomeDir/Windows.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/lib/File/HomeDir/Windows.pm?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/lib/File/HomeDir/Windows.pm (original)
+++ trunk/libfile-homedir-perl/lib/File/HomeDir/Windows.pm Fri Jul 8 22:08:24 2011
@@ -10,7 +10,7 @@
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '0.97';
+ $VERSION = '0.98';
@ISA = 'File::HomeDir::Driver';
}
@@ -55,14 +55,14 @@
SCOPE: {
require Win32;
my $dir = Win32::GetFolderPath(Win32::CSIDL_DESKTOP(), CREATE);
- return $dir if $dir and -d $dir;
+ return $dir if $dir and $class->_d($dir);
}
# MSWindows sets WINDIR, MS WinNT sets USERPROFILE.
foreach my $e ( 'USERPROFILE', 'WINDIR' ) {
next unless $ENV{$e};
my $desktop = File::Spec->catdir($ENV{$e}, 'Desktop');
- return $desktop if $desktop and -d $desktop;
+ return $desktop if $desktop and $class->_d($desktop);
}
# As a last resort, try some hard-wired values
@@ -76,7 +76,7 @@
"C:/win95/desktop",
"C:/windows/desktop",
) {
- return $fixed if -d $fixed;
+ return $fixed if $class->_d($fixed);
}
return undef;
@@ -89,7 +89,7 @@
SCOPE: {
require Win32;
my $dir = Win32::GetFolderPath(Win32::CSIDL_PERSONAL(), CREATE);
- return $dir if $dir and -d $dir;
+ return $dir if $dir and $class->_d($dir);
}
return undef;
@@ -102,7 +102,7 @@
SCOPE: {
require Win32;
my $dir = Win32::GetFolderPath(Win32::CSIDL_LOCAL_APPDATA(), CREATE);
- return $dir if $dir and -d $dir;
+ return $dir if $dir and $class->_d($dir);
}
return undef;
@@ -115,7 +115,7 @@
SCOPE: {
require Win32;
my $dir = Win32::GetFolderPath(Win32::CSIDL_MYMUSIC(), CREATE);
- return $dir if $dir and -d $dir;
+ return $dir if $dir and $class->_d($dir);
}
return undef;
@@ -128,7 +128,7 @@
SCOPE: {
require Win32;
my $dir = Win32::GetFolderPath(Win32::CSIDL_MYPICTURES(), CREATE);
- return $dir if $dir and -d $dir;
+ return $dir if $dir and $class->_d($dir);
}
return undef;
@@ -141,10 +141,32 @@
SCOPE: {
require Win32;
my $dir = Win32::GetFolderPath(Win32::CSIDL_MYVIDEO(), CREATE);
- return $dir if $dir and -d $dir;
- }
-
- return undef;
+ return $dir if $dir and $class->_d($dir);
+ }
+
+ return undef;
+}
+
+# Special case version of -d
+sub _d {
+ my $self = shift;
+ my $path = shift;
+
+ # Window can legally return a UNC path from GetFolderPath.
+ # Not only is the meaning of -d complicated in this situation,
+ # but even on a local network calling -d "\\\\cifs\\path" can
+ # take several seconds. UNC can also do even weirder things,
+ # like launching processes and such.
+ # To avoid various crazy bugs caused by this, we do NOT attempt
+ # to validate UNC paths at all so that the code that is calling
+ # us has an opportunity to take special actions without our
+ # blundering getting in the way.
+ if ( $path =~ /\\\\/ ) {
+ return 1;
+ }
+
+ # Otherwise do a stat as normal
+ return -d $path;
}
1;
@@ -174,6 +196,22 @@
common user directories. In normal usage this module will always be
used via L<File::HomeDir>.
+Internally this module will use L<Win32>::GetFolderPath to fetch the location
+of your directories. As a result of this, in certain unusual situations
+(usually found inside large organisations) the methods may return UNC paths
+such as C<\\cifs.local\home$>.
+
+If your application runs on Windows and you want to have it work comprehensively
+everywhere, you may need to implement your own handling for these paths as they
+can cause strange behaviour.
+
+For example, stat calls to UNC paths may work but block for several seconds, but
+opendir() may not be able to read any files (creating the appearance of an existing
+but empty directory).
+
+To avoid complicating the problem any further, in the rare situation that a UNC path
+is returned by C<GetFolderPath> the usual -d validation checks will B<not> be done.
+
=head1 SUPPORT
See the support section the main L<File::HomeDir> module.
Modified: trunk/libfile-homedir-perl/xt/pmv.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libfile-homedir-perl/xt/pmv.t?rev=77272&op=diff
==============================================================================
--- trunk/libfile-homedir-perl/xt/pmv.t (original)
+++ trunk/libfile-homedir-perl/xt/pmv.t Fri Jul 8 22:08:24 2011
@@ -9,7 +9,7 @@
}
my @MODULES = (
- 'Perl::MinimumVersion 1.25',
+ 'Perl::MinimumVersion 1.27',
'Test::MinimumVersion 0.101080',
);
More information about the Pkg-perl-cvs-commits
mailing list