From 8112cf3410b9a329e5786da6e4ffb74242d2e87c Mon Sep 17 00:00:00 2001 From: ajt <> Date: Fri, 6 Oct 2000 03:13:46 -0800 Subject: [PATCH] [project @ 2000-10-06 04:13:46 by ajt] Don't fork to execute date. Sheesh. -T safe. Somewhat. --- cgi/bugreport.cgi | 11 ++++------- cgi/common.pl | 30 ++++++++++++++++++++---------- cgi/pkgreport.cgi | 29 +++++++++++++++++++++-------- 3 files changed, 45 insertions(+), 25 deletions(-) diff --git a/cgi/bugreport.cgi b/cgi/bugreport.cgi index 3d06a11d..06e281e2 100755 --- a/cgi/bugreport.cgi +++ b/cgi/bugreport.cgi @@ -1,9 +1,10 @@ -#!/usr/bin/perl -w +#!/usr/bin/perl -wT package debbugs; use strict; use CGI qw/:standard/; +use POSIX qw(strftime); #require '/usr/lib/debbugs/errorlib'; #require '/usr/lib/debbugs/common.pl'; @@ -36,8 +37,7 @@ my $showseverity; my $tpack; my $tmain; -$dtime=`date -u '+%H:%M:%S GMT %a %d %h'`; -chomp($dtime); +$dtime = strftime "%H:%M:%S GMT %a %d %h", gmtime; $tail_html = $debbugs::gHTMLTail; $tail_html =~ s/SUBSTITUTE_DTIME/$dtime/; @@ -72,10 +72,7 @@ if (@merged) { } } -my $dummy = `TZ=GMT LANG=C \\ - date -d '1 Jan 1970 00:00:00 + $status{date} seconds' \\ - '+ %a, %e %b %Y %T %Z'`; -chomp($dummy); +my $dummy = strftime "%a, %e, %b %Y %T %Z", gmtime($status{date}); $submitted = ";\ndated ".$dummy; if (length($status{done})) { diff --git a/cgi/common.pl b/cgi/common.pl index 3a6753cf..3fe3322a 100644 --- a/cgi/common.pl +++ b/cgi/common.pl @@ -18,14 +18,14 @@ sub quit { exit 0; } -sub abort { - my $msg = shift; - my $Archive = $common_archive ? "archive" : ""; - print header . start_html("Sorry"); - print "Sorry bug #$msg doesn't seem to be in the $Archive database.\n"; - print end_html; - exit 0; -} +#sub abort { +# my $msg = shift; +# my $Archive = $common_archive ? "archive" : ""; +# print header . start_html("Sorry"); +# print "Sorry bug #$msg doesn't seem to be in the $Archive database.\n"; +# print end_html; +# exit 0; +#} sub htmlindexentry { my $ref = shift; @@ -208,6 +208,16 @@ sub submitterbugs { return getbugs($chk); } +sub severitybugs { + my $status = shift; + my $severity = shift; + my $chk = sub { + my %d = @_; + return ($d{"severity"} eq $severity) && ($d{"status"} eq $status); + }; + return getbugs($chk); +} + sub maintbugs { my $maint = shift; my %maintainers = getmaintainers(); @@ -243,8 +253,8 @@ sub getbugs { my @result = (); while() { - if (m/^(\S+)\s+(\d+)\s+(\S+)\s+(\d+)\s+\[\s*([^]]*)\s*\]\s+(\w+)\s+(.+)$/) { - if ($bugfunc->(pkg => $1, bug => $2, submitter => $5, + if (m/^(\S+)\s+(\d+)\s+(\d+)\s+(\S+)\s+\[\s*([^]]*)\s*\]\s+(\w+)\s+(.+)$/) { + if ($bugfunc->(pkg => $1, bug => $2, status => $4, submitter => $5, severity => $6, title => $7)) { push (@result, $2); diff --git a/cgi/pkgreport.cgi b/cgi/pkgreport.cgi index 765a43d1..735e0e84 100755 --- a/cgi/pkgreport.cgi +++ b/cgi/pkgreport.cgi @@ -4,6 +4,7 @@ package debbugs; use strict; use CGI qw/:standard/; +use POSIX; require '/debian/home/ajt/newajbug/common.pl'; #require '/usr/lib/debbugs/common.pl'; @@ -12,15 +13,23 @@ require '/debian/home/ajt/newajbug/common.pl'; require '/etc/debbugs/config'; require '/etc/debbugs/text'; -my $pkg = param('pkg'); -my $maint = defined $pkg ? undef : param('maint'); -my $maintenc = (defined $pkg || defined $maint) ? undef : param('maintenc'); -my $submitter = (defined $pkg || defined $maint || defined $maintenc) ? undef : param('submitter'); +POSIX::nice(5); + +my ($pkg, $maint, $maintenc, $submitter, $severity, $status); + +if (defined ($pkg = param('pkg'))) { +} elsif (defined ($maint = param('maint'))) { +} elsif (defined ($maintenc = param('maintenc'))) { +} elsif (defined ($submitter= param('submitter'))) { +} elsif (defined ($severity = param('severity'))) { + $status = param('status') || 'open'; +} else { + $pkg = "ALL"; +} + my $repeatmerged = (param('repeatmerged') || "yes") eq "yes"; my $archive = (param('archive') || "no") eq "yes"; -$pkg = 'ALL' unless (defined($pkg) || defined($maint) || defined($maintenc)) || defined($submitter); - my $Archived = $archive ? "Archived" : ""; my $this = ""; @@ -42,8 +51,10 @@ if (defined $pkg) { $tag = "maintainer $maint"; } elsif (defined $maintenc) { $tag = "encoded maintainer $maintenc"; -} else { +} elsif (defined $submitter) { $tag = "submitter $submitter"; +} elsif (defined $severity) { + $tag = "$status $severity bugs"; } set_option("repeatmerged", $repeatmerged); @@ -56,8 +67,10 @@ if (defined $pkg) { @bugs = maintbugs($maint); } elsif (defined $maintenc) { @bugs = maintencbugs($maintenc); -} else { +} elsif (defined $submitter) { @bugs = submitterbugs($submitter); +} elsif (defined $severity) { + @bugs = severitybugs($status, $severity); } my $result = htmlizebugs(@bugs); -- 2.39.5