[project @ 2003-09-16 20:32:12 by doogie]
* Rewrite filtering in common.pl, to make it completely generic. Filtering
can now work against any field.
* Rewrite grouping logic in cgi's common.pl, to make it completely generic.
There is now no longer 2 nested loops, to do the grouping. This makes
adding new grouping levels simpler for the future.
[project @ 2003-09-07 22:09:48 by cjwatson]
New Debbugs::Versions::Dpkg module implementing pure-Perl comparison of
dpkg-style version numbers. Used when libapt-pkg-perl isn't available and
'dpkg --compare-versions' is too slow.
joy [Sun, 24 Aug 2003 17:47:55 +0000 (09:47 -0800)]
[project @ 2003-08-24 10:47:55 by joy]
found out another corner case that wasn't covered, and finally rearranged the @references logic to be straightforward (albeit boring and somewhat repetitive)
cjwatson [Sat, 23 Aug 2003 20:17:32 +0000 (12:17 -0800)]
[project @ 2003-08-23 13:17:32 by cjwatson]
Create common function to test whether a severity is "strong" (i.e.
release-critical, in the case of Debian).
cjwatson [Fri, 22 Aug 2003 08:41:54 +0000 (00:41 -0800)]
[project @ 2003-08-22 01:41:54 by cjwatson]
Implement .status format version 2.
The new format is RFC822-style (continuation lines not implemented, but
feel free to do so), and it's stored in .db files alongside .status, to
make migration less of a one-way affair. Field names are more or less those
used internally, with a few slight changes (originator => submitter, msgid
=> message-id, keywords => tags, forwarded => forwarded-to, mergedwith =>
merged-with). A Format-Version: field is included (currently always 2) to
make the guts of the format extensible in the future should anyone wish to
do so. New fields, though, may be added without incrementing the
format-version, which is the main point of this change.
Support for reading the old format (henceforth "version 1") has been
removed, per Adam Heath. A new migration tool, debbugs-upgradestatus, is
provided, and must be run after upgrading to this version and before
turning debbugs back on.
I think I've changed everything that referred to .status files. We'll find
out once bugs.debian.org has been running this for a while ...
There is precious little documentation of any of this yet.
cjwatson [Fri, 22 Aug 2003 02:21:43 +0000 (18:21 -0800)]
[project @ 2003-08-21 19:21:43 by cjwatson]
Simplify status reading and writing in preparation for format change. There
should now be exactly one list of status fields.
joy [Tue, 19 Aug 2003 20:02:25 +0000 (12:02 -0800)]
[project @ 2003-08-19 13:02:25 by joy]
moved pts block under @pkgs so pseudo-packages aren't affected, and slightly improved the link choice logic (hi Kamion :)
cjwatson [Tue, 19 Aug 2003 08:13:32 +0000 (00:13 -0800)]
[project @ 2003-08-19 01:13:32 by cjwatson]
Check more exactly for pending and fixed tags so that fixed-in-experimental
and fixed-upstream don't wrongly show up under "Fixed in NMU". (If someone
wants to add a "Fixed in experimental" section for now, please do ...)
cjwatson [Mon, 18 Aug 2003 08:16:14 +0000 (00:16 -0800)]
[project @ 2003-08-18 01:16:14 by cjwatson]
Phase 1 of version tracking: CGI scripts only.
pkgreport.cgi now takes 'version', 'dist', and 'arch' arguments. If
'version' is supplied, then bugs open against that version are displayed.
Otherwise, if 'dist' is supplied, then it's expected to be a distribution,
such as stable, testing, or unstable, and bugs open against the versions of
packages in that distribution are displayed. It defaults to unstable at the
moment. 'arch' is largely for completeness because it was easy, and narrows
this down to the version of a package on that particular architecture. It
defaults to i386.
For now, bugs that apparently don't apply to the given version at all
(because they were found in a later version or in a version on a different
branch) are displayed in a separate group of sections at the bottom, "not
applicable to this version".
This is a bit of a hack at the moment in various ways, mostly because the
version data isn't yet stored in the .status files. The new $gVersion*
configuration variables are subject to completely arbitrary change. Until
all of this settles down, the output should look unchanged unless you
supply a 'version' or 'dist' argument.
cjwatson [Thu, 7 Aug 2003 01:45:41 +0000 (17:45 -0800)]
[project @ 2003-08-06 18:45:41 by cjwatson]
Avoid triplication of the format of .status files by creating a separate
makestatus() function which writebug() and bughook() use. bughook() now
takes a status hash rather than the formatted contents so that it can
extract fields more easily.
cjwatson [Wed, 6 Aug 2003 18:00:10 +0000 (10:00 -0800)]
[project @ 2003-08-06 11:00:10 by cjwatson]
Only display the "Closed bugs are archived $gRemoveAge days after the last
related message is received" message if expiry is enabled.
cjwatson [Sun, 3 Aug 2003 16:49:22 +0000 (08:49 -0800)]
[project @ 2003-08-03 09:49:22 by cjwatson]
Initial stab at a script to guess version information from an existing bug
database. This is definitely not the final form: in particular, it uses a
separate tree of .versions files for ease of testing rather than the real
.status files.
cjwatson [Sun, 3 Aug 2003 16:46:30 +0000 (08:46 -0800)]
[project @ 2003-08-03 09:46:30 by cjwatson]
New Debbugs::MIME module. Not sure if this is quite ready for use in
process or service yet, but it's handy for external tools.
[project @ 2003-07-18 14:41:11 by cjwatson]
Move Disabled-Doogie-Reply-To: header into a Perl comment rather than a
"comment" in mail headers; no point in sending it out all the time.
[project @ 2003-07-16 18:13:26 by cjwatson]
Automatically remove the pending tag when a bug is closed, since it's
almost invariably no longer applicable. I haven't done the same for the
addition of the fixed tag to a bug because (a) the semantics are way more
confusing at that point and (b) with any luck NMU-fixing is going to change
soon anyway.
[project @ 2003-07-16 12:01:09 by cjwatson]
Replace mentions of "developers and their mailing list" and the like in
acks with "package maintainers and other interested parties" (#75829).
[project @ 2003-07-15 16:24:47 by cjwatson]
Allow multiple primary search criteria (packages, sources, etc. - although
not maintenc because I don't understand it) separated by commas.
[project @ 2003-07-11 00:29:41 by cjwatson]
Never treat the top-level message part as an attachment, no matter what the
Content-Disposition: says (Daniel Stone).
cjwatson [Thu, 26 Jun 2003 00:51:51 +0000 (16:51 -0800)]
[project @ 2003-06-25 17:51:51 by cjwatson]
CGI scripts now support multiple maintainers for a single package. I'm not
entirely sure about the htmlmaintlinks() interface, but by and large it
seems to work.
cjwatson [Mon, 23 Jun 2003 18:23:35 +0000 (10:23 -0800)]
[project @ 2003-06-23 11:23:35 by cjwatson]
get_addresses() is used in both process and service, and I think I want to
use it from the CGI scripts soon. Move it to errorlib.
cjwatson [Sat, 21 Jun 2003 01:13:01 +0000 (17:13 -0800)]
[project @ 2003-06-20 18:13:01 by cjwatson]
By default, the MIME-tools treat message/* parts as singlepart messages but
nevertheless implement the parts() method for them so that you can drill
down into the nested messages. Until now we were just displaying an
attachment link for message/* but not the actual message, which was a bit
unhelpful. Instead, we now decode and display the inner message within a
<blockquote> tag.
(Test case first spotted at nCipher, but see
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=93268&msg=60 for an
example.)
cjwatson [Tue, 10 Jun 2003 08:18:59 +0000 (00:18 -0800)]
[project @ 2003-06-10 01:18:59 by cjwatson]
... but do construct bug component filenames that don't exist yet, since
they're probably new bugs. Sigh. That was a rather crucial corner case.
cjwatson [Tue, 10 Jun 2003 07:59:36 +0000 (23:59 -0800)]
[project @ 2003-06-10 00:59:36 by cjwatson]
Avoid accepting mail to archived bugs! The generic getbugcomponent()
function can't be quite as simple as it seems, because CGI scripts are
prepared to accept archived bugs while most of the backend scripts aren't.
This is a somewhat hacky workaround but does the job for now.
cjwatson [Sat, 7 Jun 2003 00:56:05 +0000 (16:56 -0800)]
[project @ 2003-06-06 17:56:05 by cjwatson]
Somewhere along the way we lost compatibility with old non-hashed-directory
spools, despite attempts to keep it. Introduce a getbugcomponent() function
which understands old-style db directories, and use it.
Update nCipher copyright date to include 2003, since this is on work time.
cjwatson [Fri, 6 Jun 2003 09:23:25 +0000 (01:23 -0800)]
[project @ 2003-06-06 02:23:25 by cjwatson]
Update allbugs() for the hashed database layout (not that anything
currently uses allbugs(), but something might in the future, since the old
static HTML interface provided db/ix/full.html). It's now a trivial wrapper
around getbugs().
cjwatson [Thu, 5 Jun 2003 15:54:31 +0000 (07:54 -0800)]
[project @ 2003-06-05 08:54:31 by cjwatson]
getbuglocation() should find bugs in db-h in preference to bugs in db. This
makes migration from older versions easier, since you can just leave the db
directory there until everything works.
cjwatson [Sat, 31 May 2003 18:39:09 +0000 (10:39 -0800)]
[project @ 2003-05-31 11:39:09 by cjwatson]
Avoid using duplicate clone ids in example; they probably happen to work
right now but should be considered undefined behaviour. :)
cjwatson [Tue, 27 May 2003 09:39:17 +0000 (01:39 -0800)]
[project @ 2003-05-27 02:39:17 by cjwatson]
Send blind carbon copies to addresses in $gSubscriptionDomain rather than
normal carbon copies (#169473). Also avoid exposing it in web-viewable
logs. This involves a change to the sendmessage() interface so that ccs and
bccs can be passed separately.
cjwatson [Mon, 26 May 2003 19:30:04 +0000 (11:30 -0800)]
[project @ 2003-05-26 12:30:04 by cjwatson]
The uses of writebug in process shouldn't unfilelock immediately; they go
on to do other things with the bug and need to hold the lock. Remove the
automatic unfilelock from writebug and introduce a new 'unlockwritebug'
function (by analogy with 'lockreadbug'), used in service.
Make unfilelock produce a more sensible error message when the @filelocks
stack is empty, in case this ever happens again.