Skip Menu |

This queue is for tickets about the CPAN CPAN distribution.

Report information
The Basics
Id: 88569
Status: new
Priority: 0/
Queue: CPAN

People
Owner: Nobody in particular
Requestors: damnedkluev [...] yandex.ru
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: "directory ... is not below ..." on win32 by case difference
Date: Tue, 10 Sep 2013 11:20:02 +0400
To: bug-cpan [...] rt.cpan.org
From: Kluev Alex <damnedkluev [...] yandex.ru>
Sorry for my english. Windows 7 x64 Strawberry Perl 5.18.0 CPAN shell I use strawberry perl; install/upgrade/smoke many modules and othen get messages like this "Directory 'E:\perl\cpan\build\Acme-require-case-0.010-FHp7tI' not below e:\perl\cpan\build, will not store persistent state". In the perl directory i see many times both "e:" and "E:" as drive letter. Searching by words "not below" resulted in files CPAN/Distribution.pm and CPAN/CacheMgr.pm, but only Distribution.pm have words about persistent state. Once i patch Distribution.pm changing === unless ( Cwd::realpath(File::Spec->catdir($dir, File::Spec->updir()) ) eq Cwd::realpath($CPAN::Config->{build_dir} ) ) { $CPAN::Frontend->mywarnonce("Directory '$dir' not below $CPAN::Config->{build_dir}, ". "will not store persistent state\n"); return; } === to === unless ( lc(Cwd::realpath(File::Spec->catdir($dir, File::Spec->updir()) )) eq lc(Cwd::realpath($CPAN::Config->{build_dir} ) ) ) { $CPAN::Frontend->mywarnonce("Directory '$dir' not below $CPAN::Config->{build_dir}, ". "will not store persistent state\n"); return; } === It helps but disappeared when i updated CPAN to 2.02. The file CacheMgr.pm have the code === unless (File::Spec->canonpath(File::Basename::dirname($dir)) eq File::Spec->canonpath($CPAN::Config->{build_dir})) { $CPAN::Frontend->mywarn("Directory '$dir' not below $CPAN::Config->{build_dir}, ". "will not remove\n"); $CPAN::Frontend->mysleep(5); return; } === and i never seen messages about this in logs. Sorry for my english.