Lines Matching defs:dir

55 #-> sub CPAN::CacheMgr::dir ;
56 sub dir {
62 my($self,$dir) = @_;
63 return unless defined $dir;
64 $self->debug("reading dir[$dir]") if $CPAN::DEBUG;
65 $dir ||= $self->{ID};
67 chdir $dir or Carp::croak("Can't chdir to $dir: $!");
69 or Carp::croak("Couldn't opendir $dir: $!");
74 push @entries, File::Spec->catfile($dir,$_);
76 push @entries, File::Spec->catdir($dir,$_);
78 $CPAN::Frontend->mywarn("Warning: weird direntry in $dir: $_\n");
87 my($self,$dir,$fast) = @_;
88 return if exists $self->{SIZE}{$dir};
91 if (-e $dir) {
92 if (-d $dir) {
93 unless (-x $dir) {
94 unless (chmod 0755, $dir) {
97 "estimate disk usage of '$dir'\n");
102 } elsif (-f $dir) {
106 $CPAN::Frontend->mywarn("File or directory '$dir' has gone, ignoring\n");
137 $dir
141 $self->{SIZE}{$dir} = $Du/1024/1024;
142 unshift @{$self->{FIFO}}, $dir;
143 $self->debug("measured $dir is $Du") if $CPAN::DEBUG;
150 my($self,$dir) = @_;
151 return unless -e $dir;
152 unless (File::Spec->canonpath(File::Basename::dirname($dir))
154 $CPAN::Frontend->mywarn("Directory '$dir' not below $CPAN::Config->{build_dir}, ".
159 $self->debug("have to rmtree $dir, will free $self->{SIZE}{$dir}")
161 File::Path::rmtree($dir);
163 if ($dir !~ /\.yml$/ && -f "$dir.yml") {
166 my($peek_yaml) = eval { CPAN->_yaml_loadfile("$dir.yml"); };
168 $CPAN::Frontend->mywarn("(parse error on '$dir.yml' removing anyway)");
169 unlink "$dir.yml" or
170 $CPAN::Frontend->mywarn("(Could not unlink '$dir.yml': $!)");
182 unlink "$dir.yml"; # may fail
184 CPAN->debug("no distro found associated with '$dir'");
187 $self->{DU} -= $self->{SIZE}{$dir};
188 delete $self->{SIZE}{$dir};