[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3. An Example

Cygnus Support in Mountain View, CA, uses GNATS 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 GNATS 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.101

>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[]
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.101

>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:
-----Emacs: *send-pr*   (send-pr Fill)----All------------------
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: gnats (GNATS management)
Sender: gnats-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.

Valid Categories  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Valid Categories

bfd
GNU binary file descriptor library.

bifrabulator
This one doesn't actually exist.

binutils
GNU utilities for binary files (ar, nm, size...).

bison
GNU parser generator.

byacc
Free parser generator.

config
Cygnus Support Software configuration and installation.

cvs
Concurrent Version System.

diff
GNU diff program.

doc
Documentation and manuals.

emacs
GNU Emacs editor and related functions.

flex
GNU lexical analyzer.

g++
GNU C++ compiler.

gas
GNU assembler.

gcc
GNU C compiler.

gdb
GNU source code debugger.

glob
The filename globbing functions.

gprof
GNU profiler.

grep
GNU grep program.

info
GNU info hypertext reader.

ispell
GNU spelling checker.

kerberos
Kerberos authentication system.

ld
GNU linker.

libc
Cygnus Support C Support Library.

libg++
GNU C++ class library.

libiberty
GNU `libiberty' library.

libm
Cygnus Support C Math Library.

make
GNU make program.

makeinfo
GNU utility to build Info files from Texinfo documents.

mas
GNU Motorola syntax assembler.

newlib
Cygnus Support C Support and Math Libraries.

patch
GNU bug patch program.

gnats
GNU Problem Report Management System.

rcs
Revision Control System.

readline
GNU readline library.

send-pr
GNU Problem Report submitting program.

test
Category to use when testing send-pr.

texindex
GNU documentation indexing utility.

texinfo
GNU documentation macros.

other
Anything which is not covered by the above categories.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by XEmacs shared group account on December, 19 2009 using texi2html 1.65.