X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.main.git;a=blobdiff_plain;f=yarrg%2FCommodsWeb.pm;h=198185d32df4f1855fd4ca691d809b482f91bf04;hp=1eae15e11e84159e50cf834f641fa970eccb6298;hb=95738a6be32bb3ffb3f0d9d2b803d567968ab14b;hpb=6d33c3a7453e6b13057cda116d3dadd52d4bcd0b diff --git a/yarrg/CommodsWeb.pm b/yarrg/CommodsWeb.pm index 1eae15e..198185d 100644 --- a/yarrg/CommodsWeb.pm +++ b/yarrg/CommodsWeb.pm @@ -57,20 +57,25 @@ BEGIN { @EXPORT_OK = qw(); } -sub sourcebasedir () { +sub dotperllibdir () { my $dir; for my $dir (@INC) { if ($dir =~ m/\.perl-lib$/) { - return "$dir/.."; + return $dir; } } - die "no source base dir in @INC"; - return $dir; + die "no appropriate dotperllib dir in @INC"; +} + +sub sourcebasedir () { + return dotperllibdir().'/..'; } -my datadir () { - my $dir= sourcebasedir(); +sub datadir () { + my $edir= $ENV{'YARRG_DATA_DIR'}; + return $edir if defined $edir; + my $dir= dotperllibdir(); if (stat "$dir/DATA") { return "$dir/DATA"; } elsif ($!==&ENOENT) { @@ -84,9 +89,10 @@ my datadir () { my @ocean_list; sub ocean_list () { + my $datadir= datadir(); if (!@ocean_list) { - my $fn= "$datadir/master-info.txt"; - my $f= new IO::File $fn or die $!; + my $fn= "$datadir/source-info.txt"; + my $f= new IO::File $fn or die "$fn $!"; my @r; while (<$f>) { next unless m/^ocean\s+(\S.*\S)\s*$/;