my $rsyncdir;
-sub update_master_info () {
- my $sfn= 'source-info.txt';
+sub process_some_info ($$$) {
+ my ($v,$df,$sfn) = @_;
+ my $sf= new IO::File $sfn or die "$sfn $!";
+
+ 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/;
+ }
+ next if $sfn =~ m/source-info/ && $h =~ m/^ocean/;
+
+ print $df $_, "\n" or die $!;
+ }
+
+ $sf->error and die $!;
+}
+sub update_master_info () {
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 $!;
+ process_some_info($v,$df, 'source-info.txt');
+ foreach my $ocean (sort keys %oceans) {
+ process_some_info($v,$df, '_ocean-'.(lc $ocean).'.txt');
}
- $sf->error and die $!;
close $df or die $!;
rename "$dfn.tmp", "$dfn" or die $!;
}
-
}