Go to the first, previous, next, last section, table of contents.

An Example

Cygnus Support in Mountain View, CA, uses PRMS and send-pr extensively for their support activities. As a support company, Cygnus finds problem tracking to be a crucial part of everyday business. Cygnus supports the GNU compiling tools (including PRMS and send-pr) over several many platforms

With each shipment of the Cygnus Support Developer's Kit, customers receive the latest version of send-pr, which contains an up-to-date listing of valid categories (values for the >Category: field). Using these tools, Cygnus' customers can communicate their problems to Cygnus effectively and receive automatic confirmation of receipt as well as notification of changes in the status of their reported problems. Much of Cygnus' support mechanism relies on electronic mail.

As an example, let's pretend we're a customer of Cygnus Support, and that we're having a problem compiling some of our software using the GNU C compiler, which Cygnus supports.

Assume that we're getting an error in our bifrabulator program wherein the `prestidigitation' routines don't match with the `whatsitsname'. We've made sure we're following the rules of the program and checked the Release Notes from Cygnus and found that the bug isn't already known. In other words, we're pretty sure we've found a bug.

Our first step is to call send-pr. It really doesn't matter whether we use send-pr from the shell or from within Emacs. Indeed, if we use Emacs as a primary editor, calling send-pr from the shell is likely to start send-pr in an Emacs buffer anyway. So, since our company, Imaginary Software, Ltd., uses GNU software extensively, we're pretty familiar with Emacs, so from within Emacs we type

M-x send-pr
and we're greeted with the following screen:

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    cvs         diff        
SEND-PR: doc       emacs     flex      g++         gas         
SEND-PR: gcc       gdb       glob      gprof       grep        
SEND-PR: info      ispell    kerberos  ld          libg++      
SEND-PR: libiberty make      makeinfo  mas         newlib      
SEND-PR: other     patch     rcs       readline    send-pr     
SEND-PR: test      texindex  texinfo   texinfo.tex 
SEND-PR: bifrabulator  <---note: this one is fake
SEND-PR:
To: cygnus-bugs@cygnus.com 
Subject: 
From: jeffrey@imaginary.com
Reply-To: jeffrey@imaginary.com
X-send-pr-version: send-pr 3.95-95q4

>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:
@hrule
-----Emacs: *send-pr*   (send-pr Fill)----All------------------
@hrule
>Category: other[]
We know from past experience that we need to set certain information into each field, so we compile all the information we know about our problem. We have some sample code which we know should work, even though it doesn't, so we'll include that. Below is the completed PR; we send this using C-c C-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 don't match
From: jeffrey@imaginary.com
Reply-To: jeffrey@imaginary.com
X-send-pr-version: send-pr 3.95-95q4

>Submitter-Id:  imaginary
>Originator:    Jeffrey Osier
>Organization:  
Imaginary Software, Ltd.
>Confidential:  no
>Synopsis:      bifrabulator routines don't match
>Severity:      serious
>Priority:      medium
>Category:      bifrabulator
>Class:         sw-bug
>Release:       progressive-930101
>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 doesn't match with the whatsitsname in all cases.

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

>Fix:
@hrule
-----Emacs: *send-pr*   (send-pr Fill)----All------------------
@hrule
To send the problem report use: C-c C-c

We type C-c C-c, and off it goes. Now, we depend on Cygnus Support to figure out the answer to our problem.

Soon afterward, we get the following message from Cygnus:

From: prms (PRMS management)
Sender: prms-admin
Reply-To: hacker@cygnus.com
To: jeffrey@imaginary.com
Subject: Re: bifrabulator/1425: routines don't 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 don't match
Arrival-Date: Sat Feb 30 03:12:55 1993

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

A while later, we get the analysis:

To:  jeffrey@imaginary.com
From:  hacker@cygnus.com
Subject:  Re: bifrabulator/1425: routines don't 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 Support, Mountain View, CA  415 903 1400
#include <std-disclaimer.h>

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

From: hacker@cygnus.com
To:  jeffrey@imaginary.com
Subject:  Re: bifrabulator/1425: doesn't 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 this afternoon
--
F.B. Hacker
Cygnus Support, Mountain View, CA  415 903 1400
#include <std-disclaimer.h>

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

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

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

There's 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 Support, Mountain View, CA  415 903 1400
#include <std-disclaimer.h>

From: hacker@cygnus.com
To:  jeffrey@imaginary.com
Subject:  Re: bifrabulator/1425: doesn't 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 Support, Mountain View, CA  415 903 1400
#include <std-disclaimer.h>

The bug has gone into feedback status now, until we get the patch, install it and test it. When everything tests well, we 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.

Following is a list of valid `>Category:' entries that are supported by Cygnus.


Go to the first, previous, next, last section, table of contents.