#!/usr/bin/perl # Must be run from the website dir use Getopt::Long; my $output; if (! GetOptions( "output=s", \$output) || ! @ARGV[0]) { die "usage: $0 [--output=file] list\n"; } if (defined $output) { open (OUT, ">$output.tmp.$$") || die "output.tmp.$$: $!"; # Set the output to a file } else { open (OUT, ">&STDOUT"); # Set the output to stdout } open (HEAD,"header.html") || die("Could not open header.html: $!"); while() { $line = $_ ; print OUT "$line" ; } close HEAD; print OUT "
\n"; my $pack = 0; my $date = ""; my $dtsa = ""; my $package = ""; my $desc = ""; open (LIST,@ARGV[0]) || die("Could not open list ".@ARGV[0].": $!"); while() { $line = $_ ; if ($line=~/^(\[.+\]) (DTSA-[0-9]+-[0-9]+) ([^ ].+) - (.+)$/) { if ($pack == 1) { # print the previous acvisory, as it wasn't unreleased print OUT "
$date $dtsa $package
\n"; print OUT "
$desc
\n"; } $date = $1; $dtsa = $2; $package = $3; $desc = $4; $pack = 1; } if ($line=~/TODO: unreleased$/) { $pack = 0; } } if ($pack == 1) { # print the previous acvisory, as it wasn't unreleased print OUT "
$date $dtsa $package
\n"; print OUT "
$desc
\n"; } print OUT "
\n"; open (FOOT,"footer.html") || die("Could not open footer.html: $!"); ; while() { $line = $_ ; print OUT "$line" ; } close FOOT; close OUT; if (defined $output) { rename("$output.tmp.$$", $output) || die "rename: $!"; }