f78 An Example Contents|Index|Previous|Next

An example

Cygnus Solutions uses PRMS and send-pr extensively for their support activities, finding problem tracking to be a crucial part of everyday business. Cygnus Solutions supports the GNU compiling tools, including PRMS and send-pr, on over 150 native and cross-platform environments.

With each shipment of the GNUPro Toolkit, customers receive the latest version of send-pr with an up-to-date listing of valid categories (values for the >Category: field; see also Valid Categories). Using electronis mail, customers can communicate their problems effectively to Cygnus Solutions and then automatically receive confirmation and notification of changes in the status of their reported problems.

As an example, let’s pretend you’re a customer of Cygnus Solutions, and that you’re having a problem compiling some software using the GNU C compiler, which Cygnus Solutions supports.

Assume that you’re getting an error in the bifrabulator program wherein the prestidigitation routines don’t match with the whatsitsname.

You’ve made sure you’re following the rules of the program and checked and found that the bug isn’t already known (by seeing the list of reported bugs in Fixed problems). In other words, you’re pretty sure you’ve found a bug and you’re going to report the bug using send-pr.

It really doesn’t matter whether you use send-pr from the shell or from within Emacs. If you use Emacs as a primary editor, calling send-pr from the ffb shell is likely to start send-pr in an Emacs buffer anyway.

So, since your company, Imaginary Software, Ltd., uses GNU software extensively, you’re pretty familiar with Emacs; so, from within Emacs, in the buffer, use the keystroke combination, M-x, and, in the Emacs buffer, type send-pr, to display the following output on your monitor. 


SEND-PR: -*- text -*-
SEND-PR: Lines starting with SEND-PR will be removed
SEND-PR: automatically as well as all comments (the text
SEND-PR: below enclosed in '<' and '>').
SEND-PR: Please consult the manual if you are not sure
SEND-PR: how to fill out a problem report.
SEND-PR:
SEND-PR: Choose from the following categories:
SEND-PR:
SEND-PR: bfd        binutils   bison
SEND-PR: byacc      clib       config
SEND-PR: cvs        diff       doc
SEND-PR: emacs      flex       g++                         glob        gprof       grep
SEND-PR: gdb        glob       kerberos
SEND-PR: ld         libg++     libiberty
SEND-PR: make       makeinfo   mas
SEND-PR: newlib     other      patch
SEND-PR: rcs        readline   send-pr SEND-PR: test       texindex   texinfo

bifrabulator <---note: this category is fake

To: cygnus-bugs@cygnus.com
Subject:
From: jeffrey@imaginary.com
Reply-To: jeffrey@imaginary.com
X-send-pr-version: send-pr 3.97-97r1

>Submitter-Id: imaginary
>Originator: Jeffrey Osier
>Organization: Imaginary Software, Ltd.
>Confidential: <[ yes | no ] (one line)>
>Synopsis: <synopsis of the problem (one line)>
>Severity: <[ non-critical | serious | critical ] (one line)>
>Priority: <[ low | medium | high ] (one line)>
>Category: <name of the product (one line)>
>Class: <[sw-bug|doc-bug|change-request|support](oneline)>
>Release: <release number or tag (one line)>
>Environment: <machine, os, target, libraries (multiple lines)>

System: SunOS imaginary.com 4.1.1 1 sun4
Architecture: sun4

>Description: <precise description of the problem (multiple lines)>
>How-To-Repeat: <code/input/activities to reproduce (multiple lines)>
>Fix:

-----Emacs: *send-pr* (send-pr Fill)----All-----------------------

>Category: other[]


You know from past experience that you need to set certain information into each field, so you compile all the information you know about our problem. you have some sample code which you know should work, even though it doesn’t, so you’ll include that. What follows is the completed PR; you send it using the keystroke combination, Ctrl-c, Ctrl-c. (The comments have been truncated).


SEND-PR: Lines starting with 'SEND-PR' will be removed
SEND-PR: automatically as well as all comments (the text
SEND-PR: ...
SEND-PR:
To: cygnus-bugs@cygnus.com
Subject: bifrabulator routines dont match
From: jeffrey@imaginary.com
Reply-To: jeffrey@imaginary.com
X-send-pr-version: send-pr 3.97-97r1

>Submitter-Id: imaginary
>Originator: Jeffrey Osier
>Organization: Imaginary Software, Ltd.
>Confidential: no
>Synopsis: bifrabulator routines dont match
>Severity: serious
>Priority: medium
>Category: bifrabulator
>Class: sw-bug
>Release: progressive-970601
>Environment:
System: SunOS imaginary.com 4.1.1 1 sun4
Architecture: sun4 (SPARC)

>Description:
   The following code I fed into the bifrabulator came
   back with a strange error. apparently, the prestidigitation
   routine doesnt match with the whatsitsname in all cases.

>How-To-Repeat: call the bifrabulator on the following code.
                  code sample...
>Fix:

-----Emacs: *send-pr* (send-pr Fill)----All--------------------------

To send the problem report use: C-c C-c  


You use the keystroke combination, C-c, C-c, and off send-pr goes. Now, you depend on Cygnus Solutions to figure out the answer to the problem. Soon afterward, you get the following message from Cygnus Solutions.


From: prms (PRMS management)
Sender: prms-admin
Reply-To: hacker@cygnus.com
To: jeffrey@imag ffb inary.com
Subject: Re: bifrabulator/1425: routines dont match

Thank you very much for your problem report.
It has the internal identification: g++/1425.
The individual assigned to look at your bug is: hacker
(F.B. Hacker)

Category: bifrabulator
Responsible: hacker
Synopsis: bifrabulator routines dont match
Arrival-Date: Sat Feb 30 03:12:55 1993

This is your receipt that the bug has been accepted and forwarded to the responsible party.

A while later, you get the analysis:

To: jeffrey@imaginary.com
From: hacker@cygnus.com
Subject: Re: bifrabulator/1425: routines dont match
Reply-To: hacker@cygnus.com
 

Got your message, Jeff. It seems that the bifrabulator was confusing the prestidigitation routines with the realitychecker when lexically parsing the whatsitsname.

I'm working on robustisizing the bifrabulator now.

How about lunch next week?
--
F.B. Hacker
Cygnus Solutions, Sunnyvale, CA 408 542 9601
#include <std-disclaimer.h>

About the same time, we get another message from Cygnus Solutions.

From: hacker@cygnus.com
To: jeffrey@imaginary.com
Subject: Re: bifrabulator/1425: doesnt match prestidig
Reply-To: hacker@cygnus.com
            'F.B. Hacker' changed the state to 'analyzed'.

State-Changed-From-To: open-analyzed
State-Changed-By: hacker
State-Changed-When: Fri Feb 31 1993 08:59:16 1993
State-Changed-Why: figured out the problem, working on a patch
                   &nbs f61 p; this afternoon
--
F.B. Hacker
Cygnus Solutions, Sunnyvale, CA 408 542 9601
#include <std-disclaimer.h>

The bug has now been analyzed, and Cygnus Solutions is working on a fix.

Sometime later, we get more mail from F.B.:

To: jeffrey@imaginary.com
From: hacker@cygnus.com
Subject: Re: bifrabulator/1425: routines dont match
Reply-To: hacker@cygnus.com

Theres a patch now that you can ftp over and check out.

Hey, that joke you sent me was great! The one about the strings walking into a bar... my boss laughed for an hour!
--
F.B. Hacker
Cygnus Solutions, Sunnyvale, CA 408 542 9601
#include <std-disclaimer.h>

And then, you receive another response.

From: hacker@cygnus.com
To: jeffrey@imaginary.com
Subject: Re: bifrabulator/1425: doesnt match prestidig
Reply-To: hacker@cygnus.com

            'F.B. Hacker' changed the state to 'feedback'.

State-Changed-From-To: analyzed-feedback
State-Changed-By: hacker
State-Changed-When: Fri Feb 31 1993 23:43:16 1993
State-Changed-Why:
     got the patch finished, notified Jeff at Imaginary Software
--
F.B. Hacker
Cygnus Solutions, Sunnyvale, CA 408 542 9601
#include <std-disclaimer.h>

The bug has gone into feedback status now, until you get the patch, install it and test it. When everything tests well, you can mail F.B. back and tell him the bug’s been fixed, and he can change the state of the PR from feedback to closed. 0