X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.db-live.git;a=blobdiff_plain;f=yarrg%2FCommodsWeb.pm;h=198185d32df4f1855fd4ca691d809b482f91bf04;hp=3f0f5f5ba8320d38ed62cb0f2e3c9785a031e572;hb=9df0d91b280265faa669aea7d1501787eeb932da;hpb=d2bd9c727af4d792bc6ee4806e19ceb7236c62d3 diff --git a/yarrg/CommodsWeb.pm b/yarrg/CommodsWeb.pm index 3f0f5f5..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().'/..'; } sub datadir () { - my $dir= sourcebasedir(); + my $edir= $ENV{'YARRG_DATA_DIR'}; + return $edir if defined $edir; + my $dir= dotperllibdir(); if (stat "$dir/DATA") { return "$dir/DATA"; } elsif ($!==&ENOENT) { @@ -86,8 +91,8 @@ 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*$/;