chiark / gitweb /
Revert bogus parts of "Look for master-info-v2.txt not master-info-2.txt"
[ypp-sc-tools.db-test.git] / yarrg / Commods.pm
index 860510e33835e5e1e574ab429862f0563ecf7c2a..b58471ce43a9370a74aa8a6ec8eb11f51822ff62 100644 (file)
@@ -71,9 +71,13 @@ my (@rawcm, @nocm); # eg $rawcm[0]='fine rum'; $rawcm[1]='fine %c cloth'
 #  when extending the format of source-info in a non-backward
 #  compatible way, be sure to update update-master-info too.
 
-sub parse_info1 ($$) {
-    my ($mmfn,$src)= @_;
-    my $mm= new IO::File $mmfn, 'r' or die "$mmfn $!";
+sub parse_info1 ($$$) {
+    my ($mmfn,$src,$enoentok)= @_;
+    my $mm= new IO::File $mmfn, 'r';
+    if (!$mm) {
+       return if $enoentok && $!==&ENOENT;
+       die "$mmfn $!";
+    }
     my @ctx= ();
     while (<$mm>) {
        next if m/^\s*\#/;
@@ -176,16 +180,9 @@ sub parse_info1 ($$) {
 }
 
 sub parse_info_clientside () {
-    my $yarrg= $ENV{'YPPSC_YARRG_DICT_UPDATE'};
-    return unless $yarrg;
-    my $master= fetch_with_rsync("info-$masterinfoversion");
-    parse_info1($master,'s');
-    my $local= '_local-info.txt';
-    if (stat $local) {
-       parse_info1($local,'s');
-    } else {
-       die "$local $!" unless $! == &ENOENT;
-    }
+    my $master= fetch_with_rsync("info-v$masterinfoversion");
+    parse_info1($master,'s',1);
+    parse_info1('_local-info.txt','s',1);
 }
 
 sub fetch_with_rsync ($) {
@@ -220,12 +217,12 @@ sub parse_info_maproutes ($$$) {
 }
 
 sub parse_info_serverside () {
-    parse_info1('source-info.txt','s');
+    parse_info1('source-info.txt','s',0);
 }
 sub parse_info_serverside_ocean ($) {
     my ($oceanname) = @_;
     die "unknown ocean $oceanname ?" unless exists $oceans{$oceanname};
-    parse_info1("_ocean-".(lc $oceanname).".txt",'s');
+    parse_info1("_ocean-".(lc $oceanname).".txt", 's',0);
 }
 
 sub parse_pctb_commodmap () {
@@ -251,7 +248,14 @@ sub get_our_version ($$) {
     $aref->{"${prefix}name"}= 'ypp-sc-tools yarrg';
     $aref->{"${prefix}fixes"}= 'lastpage checkpager';
 
-    my $version= `git-describe --tags HEAD || echo 0unknown`; $? and die $?;
+    my $version= `
+       if type -p git-describe >/dev/null 2>&1; then
+               gd=git-describe
+       else
+               gd="git describe"
+       fi
+       \$gd --tags HEAD || echo 0unknown
+    `; $? and die $?;
     chomp($version);
     $aref->{"${prefix}version"}= $version;
     return $aref;