chiark / gitweb /
New masterinfoversion machinery; new masterinfoversion 2 for "nocommods", which elmin...
[ypp-sc-tools.main.git] / yarrg / update-master-info
index 3aa9ac2d802fd8508d0e8f5ab43f0730d383d855..4c1547bd23cdfef10a0c15d701a51b47c28ddf1f 100755 (executable)
@@ -16,28 +16,34 @@ foreach my $oceanname (sort keys %oceans) {
     system('./db-idempotent-populate',$oceanname); die $? if $?;
 }
 
-print STDERR "installing new master-info...\n";
-
 my $sfn= 'source-info.txt';
-my $dfn= "$rsyncdir/master-info.txt";
-
-my $sf= new IO::File $sfn or die "$sfn $!";
-my $df= new IO::File "$dfn.tmp", 'w' or die "$dfn.tmp $!";
 
-my $h;
-while (<$sf>) {
-    chomp; s/\s+$//;
-    next if m/^\s*\#/ || !m/\S/;
-    if (m/^\S.*/) {
-       $h= $&;
-    }
-    die "$_ ?" unless defined $h;
-    if ($h =~ m/^commods|^\%[a-z]\b/) {
-       s/\t.*//;
+foreach my $v (1..$masterinfoversion) {
+    my $dfnl= sprintf "master-info%s.txt", ($v>1 ? "-v$v" : '');
+    print STDERR "installing new $dfnl...\n";
+    
+    my $dfn= "$rsyncdir/$dfnl";
+    my $sf= new IO::File $sfn or die "$sfn $!";
+    my $df= new IO::File "$dfn.tmp", 'w' or die "$dfn.tmp $!";
+
+    my $h;
+    while (<$sf>) {
+       chomp; s/\s+$//;
+       next if m/^\s*\#/ || !m/\S/;
+       if (m/^\S.*/) {
+           $h= $&;
+       }
+       die "$_ ?" unless defined $h;
+       if ($h =~ m/^commods|^\%[a-z]\b/) {
+           s/\t.*//;
+       }
+       if ($v<2) {
+           next if $h =~ m/^nocommods/;
+       }
+       print $df $_, "\n" or die $!;
     }
-    print $df $_, "\n" or die $!;
-}
 
-$sf->error and die $!;
-close $df or die $!;
-rename "$dfn.tmp", "$dfn" or die $!;
+    $sf->error and die $!;
+    close $df or die $!;
+    rename "$dfn.tmp", "$dfn" or die $!;
+}