On Tue, Feb 05, 2008 at 09:07:30PM +0100, Simon Paillard wrote: > If the script is not convenient enough for you, I can try to automate a > bit the task, but I think it needs instead to be included in your > process of DSA releasing.
Here attached is the little patch I applied to the CVS : * you don't need to use any specific filename for the input file, the right output names are guessed from the content of the DSA * the script doesn't forget anymore CVE references if they are several lines of them. Next step, discover the right link to lists.debian.org/.../msgNNNNN.html Regards, -- Simon Paillard
Index: parse-advisory.pl =================================================================== RCS file: /cvs/webwml/webwml/english/security/parse-advisory.pl,v retrieving revision 1.65 diff -u -r1.65 parse-advisory.pl --- parse-advisory.pl 24 Oct 2007 10:24:09 -0000 1.65 +++ parse-advisory.pl 10 Apr 2008 22:32:47 -0000 @@ -75,6 +75,12 @@ if ($l =~ /^(CVE (names?|id\(?s?\)?|references?)?|CERT advisor(y|ies))\s*: (.+)/i) { push @dbids, join (" ", split (/,? /, $4)); } + if ($l =~ /^\s*((?:CVE-\d+-\d+[ ]*)+)$/i) { + push @dbids, join (" ", split (/,? /, $1)); + } + if ($l =~ /^\s*((?:VU#\d+[ ]*)+)$/i) { + push @dbids, join (" ", split (/,? /, $1)); + } if ($l =~ /^Bugtraq Ids?\s*: (.+)/i) { for $id (split (/,? /, $1)) { push @dbids, "BID".$id; @@ -121,6 +127,8 @@ $files =~ s/(- )?-+\n//g; $files =~ s/\n\n$/\n/s; +$files =~ s/.+ updates are available for .+\n//g; + $files =~ s/( )? (Size\/)?MD5 checksum: (\s*\d+ )?\w{32}\n//sg; $files =~ s/( )?Source archives:/<dt><source \/>/sg; $files =~ s/( )?Architecture.independent \w+:\n/<dt><arch-indep \/>\n/sg; @@ -143,12 +151,12 @@ } $files = join ("\n", @f); -if ( $adv =~ /.*dsa[- ](\d+)-(\d+)\.(.*)/ ) { +if (defined($package) && $dsa =~ /DSA[- ](\d+)-(\d+)/ ) { $wml = "$curyear/dsa-$1.wml"; $data = "$curyear/dsa-$1.data"; - $pagetitle = "DSA-$1-$2 $3"; + $pagetitle = "DSA-$1-$2 $package"; } else { - die ("Could not parse advisory filename '$adv'. Must be: dsa-<nnnn>-<rev>.<package>"); + die ("Could not parse advisory filename '$adv'. Must contain Package and DSA number information"); } $data = $wml = "-" if ($debug);