diff -r dd2b0824de90 -r a403724f631c uh_parser/releaseables.pm --- a/uh_parser/releaseables.pm Wed Mar 24 12:10:26 2010 +0000 +++ b/uh_parser/releaseables.pm Wed Mar 24 15:37:22 2010 +0000 @@ -228,26 +228,61 @@ my $layer = $1; my $package = $2; - mkdir("$::basedir/releaseables/$layer"); - mkdir("$::basedir/releaseables/$layer/$package"); + mkdir("$::releaseablesdir/$layer"); + mkdir("$::releaseablesdir/$layer/$package"); - my $filename = "$::basedir/releaseables/$layer/$package/info.tsv"; + my $filename = "$::releaseablesdir/$layer/$package/info.tsv"; + my $filenamemissing = "$::raptorbitsdir/$layer\_$package\_missing.txt" if ($::missing); print "Writing info file $filename\n" if (!-f$filename); open(FILE, ">>$filename"); + open(MISSING, ">>$filenamemissing"); for my $filetype (keys %{$whatlog_info->{$bldinf}->{$config}}) { for (sort(@{$whatlog_info->{$bldinf}->{$config}->{$filetype}})) { print FILE "$_\t$filetype\t$config\n"; + my $file = $_; + + if($::missing && !-f $file) + { + print MISSING $file."\n"; + } } } + close(FILE); + close(MISSING) if ($::missing); - close(FILE); } } } +sub remove_missing_duplicates +{ + opendir(DIR, $::raptorbitsdir); + my @files = grep((-f "$::raptorbitsdir/$_" && $_ !~ /^\.\.?$/ && $_ =~ /_missing\.txt$/), readdir(DIR)); + close(DIR); + + for my $file (@files) + { + open(FILE, "+<$::raptorbitsdir/$file"); + print "working on $file\n"; + + # Read it + my @content = ; + + # Sort it, and grep to remove duplicates + my $previous = "\n\n"; + @content = grep {$_ ne $previous && ($previous = $_, 1) } sort @content; + + # Write it + seek(FILE, 0, 0); + print FILE @content; + truncate(FILE,tell(FILE)); + + close(FILE); + } +} sub normalize_filepath {