From: Don Armstrong Date: Thu, 5 Dec 2013 23:43:44 +0000 (-0800) Subject: Determine releases automatically from Debbugs::Config X-Git-Url: https://git.donarmstrong.com/?p=bugscan.git;a=commitdiff_plain;h=5b1d396f8f09c314859583a8f8b96876e043f2cd Determine releases automatically from Debbugs::Config Replace all hard coded release aliases everywhere except for dohtml --- diff --git a/bugcfg.pm b/bugcfg.pm index 9293e0d..d23df59 100644 --- a/bugcfg.pm +++ b/bugcfg.pm @@ -16,10 +16,19 @@ $debian_ftproot = $config{package_source}; $debian_sources = $config{package_source}; $pseudolist = $config{pseudo_desc_file}; -$debian_sources = "/etc/debbugs/indices/ftp.sources"; - -$debian_ftproot = "/org/bugs.debian.org/etc/indices/ftp/testing"; - +# this is just the default, and should always be overriden by the +# Debbugs::Config; set values +our $debian_releases = {testing => 'jessie', + stable => 'wheezy', + unstable => 'sid', + oldstable => 'squeeze', + }; +# figure out debian releases from distribution aliases +for my $alias (keys %{$config{distribution_aliases}//{}}) { + next if $alias eq $config{distribution_aliases}{$alias}; + $debian_releases->{$config{distribution_aliases}{$alias}} = + $alias; +} # check out: # http://release.debian.org/wheezy/arch_qualify.html diff --git a/bugcounts b/bugcounts index 1d5fb25..15455ab 100755 --- a/bugcounts +++ b/bugcounts @@ -49,7 +49,8 @@ for my $bug (values %scanlib::bugs) { $total++; $pendingcount++ if ($bug->{'pending'}); $patchcount++ if ($bug->{'patch'}); - $ignorecount++ if ($bug->{'wheezy-ignore'} || $bug->{'jessie-ignore'}); + $ignorecount++ if ($bug->{$debian_releases->{stable}.'-ignore'} || + $bug->{$debian_releases->{testing}.'-ignore'}); $worrycount++ if (scanlib::check_worry($bug)); $stablecount++ if (scanlib::check_worry_stable($bug)); } diff --git a/bugreport b/bugreport index c85f0e6..ff1b0c7 100755 --- a/bugreport +++ b/bugreport @@ -103,7 +103,7 @@ sub MakeBuglist() { } elsif ($scanlib::bugs{$nr}->{'help'}) { print ''; } - print "" if ($scanlib::bugs{$nr}->{'wheezy-ignore'} || $scanlib::bugs{$nr}->{'jessie-ignore'}); + print "" if ($scanlib::bugs{$nr}->{$bugcfg::debian_releases->{stable}.'-ignore'} || $scanlib::bugs{$nr}->{$bugcfg::debian_releases->{testing}.'-ignore'}); print "" if $worry; ($sect=$nr) =~ s/([0-9]{2}).*/$1/; printf " %s [%s] [%s] %s\n", scanlib::wwwnumber($nr), @@ -111,7 +111,7 @@ sub MakeBuglist() { scanlib::get_relinfo($scanlib::bugs{$nr}), scanlib::htmlsanit($scanlib::bugs{$nr}->{'subject'}); print "" if $worry; - print "" if ($scanlib::bugs{$nr}->{'wheezy-ignore'} || $scanlib::bugs{$nr}->{'jessie-ignore'}); + print "" if ($scanlib::bugs{$nr}->{$bugcfg::debian_releases->{stable}.'-ignore'} || $scanlib::bugs{$nr}->{$bugcfg::debian_releases->{testing}.'-ignore'}); } else { printf(" %-6d [%s] [%s] %s\n", $nr, scanlib::get_taginfo($scanlib::bugs{$nr}), scanlib::get_relinfo($scanlib::bugs{$nr}), $scanlib::bugs{$nr}->{'subject'}); @@ -146,7 +146,7 @@ sub MakeStatistics() { $seen_bugs{$nr} = 1; $pendingtotal++ if ($scanlib::bugs{$nr}->{'pending'}); $patchtotal++ if ($scanlib::bugs{$nr}->{'patch'}); - $ignoretotal++ if ($scanlib::bugs{$nr}->{'wheezy-ignore'} || $scanlib::bugs{$nr}->{'jessie-ignore'}); + $ignoretotal++ if ($scanlib::bugs{$nr}->{$bugcfg::debian_releases->{stable}.'-ignore'} || $scanlib::bugs{$nr}->{$bugcfg::debian_releases->{testing}.'-ignore'}); $worrytotal++ if (scanlib::check_worry($scanlib::bugs{$nr})); $stabletotal++ if (scanlib::check_worry_stable($scanlib::bugs{$nr})); diff --git a/make-britney-counts b/make-britney-counts index 2fc7656..1c57055 100755 --- a/make-britney-counts +++ b/make-britney-counts @@ -48,7 +48,7 @@ while (my ($nr, $bug) = each %scanlib::bugs) { # this hack is specific to britney counts, and ignores # bugs tagged ignore for the next testing release - if (scanlib::check_worry_unstable($bug) and not $bug->{'wheezy-ignore'}) { + if (scanlib::check_worry_unstable($bug) and not $bug->{$bugcfg::debian_releases->{testing}.'-ignore'}) { push @{$unstablebugs{$package}}, $nr; } if (scanlib::check_worry($bug)) { diff --git a/scanlib.pm b/scanlib.pm index d11976a..123abb9 100644 --- a/scanlib.pm +++ b/scanlib.pm @@ -182,11 +182,10 @@ sub scanspooldir { } next if $skip==1; - my %disttags = (); - $disttags{'oldstable'} = grep(/^squeeze$/, @tags); - $disttags{'stable'} = grep(/^wheezy$/, @tags); - $disttags{'testing'} = grep(/^jessie$/, @tags); - $disttags{'unstable'} = grep(/^sid$/, @tags); + my %disttags = (); + for (qw(unstable stable testing unstable)) { + $disttags{$_} = grep(/^$bug_cfg::debian_releases->{$_}$/, @tags); + } $disttags{'experimental'} = grep(/^experimental$/, @tags); # default according to vorlon 2007-06-17 @@ -234,7 +233,8 @@ sub scanspooldir { next if !$affects_any; } - for my $keyword (qw(pending patch help moreinfo unreproducible security upstream squeeze-ignore wheezy-ignore jessie-ignore)) { + for my $keyword (qw(pending patch help moreinfo unreproducible security upstream), + map {$_.$bug_cfg::debian_releases->{testing}.'-ignore'} keys %{$bug_cfg::debian_releases}) { $bi->{$keyword} = grep(/^$keyword$/, @tags); } @@ -326,13 +326,13 @@ sub wwwname() { sub check_worry { my ($bi) = @_; - return ($bi->{'testing'} && !$bi->{'jessie-ignore'}); + return ($bi->{'testing'} && !$bi->{$bug_cfg::debian_releases->{testing}.'-ignore'}); } sub check_worry_stable { my ($bi) = @_; - return ($bi->{'stable'} && !$bi->{'wheezy-ignore'}); + return ($bi->{'stable'} && !$bi->{$bug_cfg::debian_releases->{stable}.'-ignore'}); } sub check_worry_unstable { @@ -352,7 +352,7 @@ sub get_taginfo { $taginfo .= $bi->{'unreproducible'} ? "R" : " "; $taginfo .= $bi->{'security'} ? "S" : " "; $taginfo .= $bi->{'upstream'} ? "U" : " "; - $taginfo .= ($bi->{'wheezy-ignore'} || $bi->{'jessie-ignore'}) ? "I" : " "; + $taginfo .= ($bi->{$bug_cfg::debian_releases->{stable}.'-ignore'} || $bi->{$bug_cfg::debian_releases->{testing}.'-ignore'}) ? "I" : " "; return $taginfo; }