]> git.donarmstrong.com Git - debbugs.git/commitdiff
[project @ 2001-07-15 09:46:16 by doogie]
authordoogie <>
Sun, 15 Jul 2001 16:46:16 +0000 (08:46 -0800)
committerdoogie <>
Sun, 15 Jul 2001 16:46:16 +0000 (08:46 -0800)
Add support for tracing of bug state changes.  This date is in
$gSpoolDir/debbugs.trace.  It is locked(as debbugs.trace.lock) while
accessed, and appended to.  Currently, nothing uses this trace file.  In
fact, it isn't even cleaned up, as it grows without bound.  But this can be
easily fixed with a simple cron job.

scripts/errorlib.in
scripts/process.in
scripts/service.in

index fc775643d0f38e8ae58a881a2405dce0878dfed2..338b7c170491eecfbb3784dc97806e9a97b3aead 100755 (executable)
@@ -1,5 +1,5 @@
 # -*- perl -*-
-# $Id: errorlib.in,v 1.3 1999/12/01 18:04:01 gecko Exp $
+# $Id: errorlib.in,v 1.4 2001/07/15 09:46:16 doogie Exp $
 
 sub F_SETLK { 6; } sub F_WRLCK{ 1; }
 $flockstruct= 'sslll'; # And there ought to be something for this too.
@@ -97,6 +97,25 @@ sub sani {
     $out;
 }
 
+sub bughook {
+       my ( $type, $ref ) = ( shift, shift );
+       &filelock("debbugs.trace.lock");
+       &appendfile("debbugs.trace","$type $ref\n",@_);
+       &unfilelock;
+}
+
+sub appendfile {
+       my $file = shift;
+       if (!open(AP,">>$file")) {
+               print DEBUG "failed open log<\n";
+               print DEBUG "failed open log err $!<\n";
+               &quit("opening db/$ref.log (li): $!");
+       }
+       print(AP @_) || &quit("writing $file (appendfile): $!");
+       close(AP) || &quit("closing $file (appendfile): $!");
+}
+
+
 @severities= @gSeverityList;
 @showseverities= @severities;
 grep ($_= $_ eq '' ? $gDefaultSeverity : $_, @showseverities);
index 32a2c3b576b6354bf0a638361b6f29c00c051472..7016305c4273bbb12e9f54dfcb7524ff90c5747f 100755 (executable)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# $Id: process.in,v 1.29 2001/05/12 18:37:45 joy Exp $
+# $Id: process.in,v 1.30 2001/07/15 09:46:16 doogie Exp $
 #
 # Usage: process nn
 # Temps:  incoming/Pnn
@@ -264,6 +264,9 @@ END
                &overwrite("db/$ref.status",
                   "$s_originator\n$s_date\n$s_subject\n$s_msgid\n".
                    "$s_package\n$s_keywords\n$s_done\n$s_forwarded\n$s_mergedwith\n$s_severity\n");
+               &bughook('change',$ref,
+                  "$s_originator\n$s_date\n$s_subject\n$s_msgid\n".
+                   "$s_package\n$s_keywords\n$s_done\n$s_forwarded\n$s_mergedwith\n$s_severity\n");
         open(O,"db/$ref.report") || &quit("read original report: $!");
         $x= join('',<O>); close(O);
         if ($codeletter eq 'F') 
@@ -476,6 +479,9 @@ END
     &overwrite("db/$ref.status",
                "$replyto\n$intdate\n$subject\n$header{'message-id'}\n".
                "$s_package\n$s_keywords\n\n\n\n$s_severity\n");
+       &bughook('new',$ref,
+               "$replyto\n$intdate\n$subject\n$header{'message-id'}\n".
+               "$s_package\n$s_keywords\n\n\n\n$s_severity\n");
     &overwrite("db/$ref.report",
                join("\n",@msg)."\n");
 }
index 7f733bc0a2d340e56eb1c231ff1228985ae88a8b..da4114734cabdd4856a6ab492dc2103513136654 100755 (executable)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# $Id: service.in,v 1.36 2001/05/02 20:13:49 joy Exp $
+# $Id: service.in,v 1.37 2001/07/15 09:46:16 doogie Exp $
 # ^ more or less ^
 #
 # Usage: service <code>.nn
@@ -806,6 +806,17 @@ sub savebug {
     close(S) || &quit("closing db/$ref.status.new: $!");
     rename("db/$ref.status.new","db/$ref.status") ||
         &quit("installing new db/$ref.status: $!");
+       &bughook('change',$ref,
+          "$s_originator\n".
+          "$s_date\n".
+          "$s_subject\n".
+          "$s_msgid\n".
+          "$s_package\n".
+          "$s_keywords\n".
+          "$s_done\n".
+          "$s_forwarded\n".
+          "$s_mergedwith\n".
+         "$s_severity\n");
     &unfilelock;
     $lowstate= "idle";
     &dlex("savebug");