[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#511303: not that easy to fix



data/ddpo/extract_incoming.pl extracts it's data from
http://ftp-master.debian.org/new.822 which contains the following
entry for xlwt:

Source: xlwt
Version: 0.7.0-2 0.7.0-1
Architectures: source, all
Age: 2 days
Last-Modified: 1231361226
Queue: new
Maintainer: Jan Dittberner <jan@dittberner.info>
Changed-By: Jan Dittberner <jan@dittberner.info>
Sponsored-By: stew@debian.org
Distribution: unstable
Fingerprint: EB1F4A7B02539A1A56174C3FF426E1B2BE9BF8DA
Changes-File: xlwt_0.7.0-1_amd64.changes

it uses

 next unless my $source = $reader->get("Source"); chomp $source;
 next unless my $version = $reader->get("Version"); chomp $version;

in lines 143-144 to parse the the Source and Version fields, resulting
in "xlwt" as source and "0.7.0-2 0.7.0-1" as version string.

Later (lines 167-172) the URL is built:

 } elsif ($queue =~ /^(new|byhand)$/) {
   $db{"n${d}:$source"} = "$queue:&nbsp;$version";
   $db{"n${d}-title:$source"} = mouseover_date($date, $changedby, $uploader);
   my $url = "http://ftp-master.debian.org/new/"; . uri_escape ("${source}_$version.html");
   $db{"n${d}-url:$source"} = $url;
 }

only one URL is supported here. If I understand it correctly the
stored data is used in developer.wml to produce the output of the DDPO
page.

To fix this issue we have to (a) change the parsing of the new queue
to store multiple NEW URLs or to take only the latest one and (b) fix
the output of the URLs to support multiple NEW URLs (or leave it as it
is if only the latest version is used).

The attached patch changes the code to use only the latest version.
Index: data/ddpo/extract_incoming.pl
===================================================================
--- data/ddpo/extract_incoming.pl	(Revision 2105)
+++ data/ddpo/extract_incoming.pl	(Arbeitskopie)
@@ -165,6 +165,9 @@
 	$db{"pu_new-title:$source"} = mouseover_date($date, $changedby, $uploader);
 	$db{"pu_new-url:$source"} = "http://release.debian.org/proposed-updates/stable_diffs/"; . uri_escape ("${source}_$version.debdiff");
     } elsif ($queue =~ /^(new|byhand)$/) {
+	# support only one version and take the first one (latest)
+	my @versions = split(/ +/, $version);
+	$version = $versions[0];
 	$db{"n${d}:$source"} = "$queue:&nbsp;$version";
 	$db{"n${d}-title:$source"} = mouseover_date($date, $changedby, $uploader);
 	my $url = "http://ftp-master.debian.org/new/"; . uri_escape ("${source}_$version.html");

Attachment: signature.asc
Description: Digital signature


Reply to: