Update of /cvsroot/module-build/Module-Build/lib/Module/Build
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14006/lib/Module/Build
Modified Files:
Base.pm
Log Message:
Iterate through various places to find a home directory
Index: Base.pm
===================================================================
RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build/Base.pm,v
retrieving revision 1.421
retrieving revision 1.422
diff -u -d -r1.421 -r1.422
--- Base.pm 9 Jun 2005 03:30:53 -0000 1.421
+++ Base.pm 9 Jun 2005 11:45:17 -0000 1.422
@@ -1237,14 +1237,26 @@
return %new_opts;
}
+# Look for a home directory on various systems. CPANPLUS does something like this.
+sub _home_dir {
+ my @os_home_envs = qw( APPDATA HOME USERPROFILE WINDIR SYS$LOGIN );
+
+ foreach ( @ENV{ @os_home_envs } ) {
+ return $_ if exists && defined && length && -d;
+ }
+
+ return;
+}
+
# read ~/.modulebuildrc returning global options '*' and
# options specific to the currently executing $action.
sub read_modulebuildrc {
my( $self, $action ) = @_;
- return () unless exists( $ENV{HOME} ) && -e $ENV{HOME};
+ my $home = $self->_home_dir;
+ return () unless defined $home;
- my $modulebuildrc = File::Spec->catfile( $ENV{HOME}, '.modulebuildrc' );
+ my $modulebuildrc = File::Spec->catfile( $home, '.modulebuildrc' );
return () unless -e $modulebuildrc;
my $fh = IO::File->new( $modulebuildrc )
|