use strict;
# format: "alias=real".
+my $announce = 0;
my $defaultdist = "woody";
my %dists = (
"unstable" => "woody",
"/debian/dists/##DIST/Contents-i386.gz", #woody = BROKEN
"debian/Contents-##DIST-i386-non-US.gz" =>
- "ftp://non-us.debian.org".
+ "ftp://ftp.ca.debian.org".
"/debian-non-US/dists/##DIST/non-US/Contents-i386.gz",
);
"/debian/dists/##DIST/non-free/binary-i386/Packages.gz",
"debian/Packages-##DIST-non-US-main-i386.gz" =>
- "ftp://non-us.debian.org".
+ "ftp://ftp.ca.debian.org".
"/debian-non-US/dists/##DIST/non-US/main/binary-i386/Packages.gz",
"debian/Packages-##DIST-non-US-contrib-i386.gz" =>
- "ftp://non-us.debian.org".
+ "ftp://ftp.ca.debian.org".
"/debian-non-US/dists/##DIST/non-US/contrib/binary-i386/Packages.gz",
"debian/Packages-##DIST-non-US-non-free-i386.gz" =>
- "ftp://non-us.debian.org".
+ "ftp://ftp.ca.debian.org".
"/debian-non-US/dists/##DIST/non-US/non-free/binary-i386/Packages.gz",
);
next unless ($update);
- if ($good + $bad == 0) {
+ &main::DEBUG("announce == $announce.");
+ if ($good + $bad == 0 and !$announce) {
&main::status("Debian: Downloading files for '$dist'.");
&main::msg($main::who, "Updating debian files... please wait.");
+ $announce++;
}
if (exists $main::debian{$url}) {
my $found = 0;
my %contents;
- my $search = "$query.*\[ \t]";
+ my $search;
+ my $front = 0;
+ ### TODO: search properly if /usr/bin/blah is done.
+ if ($query =~ s/\$$//) {
+ &main::DEBUG("search-regex found.");
+ $search = "$query\[ \t]";
+ } elsif ($query =~ s/^\^//) {
+ &main::DEBUG("front marker regex found.");
+ $front = 1;
+ $search = $query;
+ } else {
+ $search = "$query.*\[ \t]";
+ }
+
my @files;
foreach (keys %urlcontents) {
s/##DIST/$dist/g;
next unless ($basename =~ /\Q$query\E/);
}
next if ($query !~ /\.\d\.gz/ and $file =~ /\/man\//);
+ next unless ($front and $file =~ /^\/\Q$query\E/);
$contents{$package}{$file} = 1;
$found++;
&main::DEBUG("gIndeX: calling DebianDownload($dist, ...).");
&DebianDownload($dist, %urlpackages);
- &main::status("Debian: generating index for '$_'.");
+ &main::status("Debian: generating index for '$dist'.");
if (!open(OUT,">$idx")) {
&main::ERROR("cannot write to $idx.");
return 0;
open(IN,"zcat $packages |");
while (<IN>) {
- if (/^Package: (.*)\n$/) {
- print OUT $1."\n";
- }
+ next unless (/^Package: (.*)\n$/);
+ print OUT $1."\n";
}
close IN;
}
my $error = 0;
&main::status("Debian: Search package matching '$query' in '$dist'.");
- if ( -z $file) {
- &main::DEBUG("sP: $file == NULL; removing, redoing.");
- unlink $file;
- }
+ unlink $file if ( -z $file);
while (!open(IN, $file)) {
- &main::ERROR("$file does not exist (#2).");
if ($dist eq "incoming") {
&main::DEBUG("sP: dist == incoming; calling gI().");
&generateIncoming();
&main::ERROR("could not generate index!!!");
return;
}
+
$error++;
+ &main::DEBUG("should we be doing this?");
&generateIndex(($dist));
}
chop;
if (/^\*(.*)$/) {
- &main::DEBUG("sP: hrm => '$1'.");
+ $file = $1;
if (&main::isStale($file, $main::param{'debianRefreshInterval'})) {
&main::DEBUG("STALE $file! regen.");
last;
}
- $file = $1;
next;
}