From: welshm@snail.rtp.dg.com (Matt Welsh)
Subject: ibug, Linux Bug Reporting program
Date: Mon, 27 Jul 92 13:14:34 GMT
Reply-To: welshm@dg-rtp.dg.com
Organization: Data General Corporation, RTP, NC.

It's here: This is "ibug", the bug reporting program that I've
written to handle reporting of bugs for Linux over e-mail.
I know that most of the bugs for Linux aren't kernel-specific,
but there are some cases in which functionality is missing 
in tools ported to Linux. Hopefully, with the advent of 1.0, 
we won't have many "bugs" to report. But in the meantime, here goes:


How to report bugs for Linux: 

If you have a problem with Linux that you think MIGHT be a bug,
post a description of the problem to comp.os.linux and get readers
of the group to VERIFY that it is indeed a bug (and not just a
problem with your own system). Be very specific in this description.
Please include the word "BUG" or "LINUX BUG" in your subject
line so they're easy to spot. 

If the problem is indeed a bug, use this ibug program to fill out
the bug report template "linux.temp" and mail it to 
ml-linux-bugs@dg-rtp.dg.com. If you're NOT on a UNIX system, just extract 
the bug report template from this file and fill it out and mail it by hand 
(sorry, VMS users). All ibug really does is fill in the date and fixes
a few of the fields in the bug report template-- use it whenever
possible, but if you can't, just do it by hand. 

I will compile a short and long list of reported bugs and post
it every week. I'll also upload the bug list to the major ftp sites
with the name BugReport_<date>. 

If you have a BUG FIX or a workaround for a bug in the weekly
BugReport posting, use ibug (or fill out by hand) the template
'linux.fix.temp' to report the bug fix. Use the SAME "Summary:"
line as in the original bug report! 

The ibug program has been uploaded to tsx-11.mit.edu:/pub.incoming/ibug.tar.Z
and banjo.concert.net:/pub/Linux/Incoming/ibug.tar.Z. The shell
archive is included below. If you have ANY problems with this program
please mail them to me (welshm@dg-rtp.dg.com). Also, if you can't
get the 'linux.temp' or 'linux.fix.temp' files out of the archive
(if you're not on a UNIX system, for instance) just send mail to me and
I'll send them to you. 

PLEASE use the templates 'linux.temp' and 'linux.fix.temp' when reporting
bugs or bug fixes; my scripts require the fields in those files to be
intact.

Thanks a lot, and please send me any problems or suggestions!

cheers,
mdw

BEGIN------->8----CUT HERE----ibug.shar------------>8-----------------------
#! /bin/sh
# This is a shell archive.  Remove anything before this line, then feed it
# into a shell via "sh file" or similar.  To overwrite existing files,
# type "sh file -c".
# The tool that generated this appeared in the comp.sources.unix newsgroup;
# send mail to comp-sources-unix@uunet.uu.net if you want that tool.
# If this archive is complete, you will see the following message at the end:
#		"End of shell archive."
# Contents:  README README.LINUX ibug bfile linux.temp linux.fix.temp
# Wrapped by welshm@snail on Mon Jul 20 09:34:37 1992
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'README'\"
else
echo shar: Extracting \"'README'\" \(1586 characters\)
sed "s/^X//" >'README' <<'END_OF_FILE'
XThis is ibug, a quick and dirty bug-reporting program. All it does
Xis edit a given template file and mail it off (using sendmail,
Xdirectly) to whoever is on the To: line in the template file.
X
XThe usage is:
X
X  ibug [template-file]
X
XWhere <template-file> is the name of the bug report template. If not given,
Xibug uses the default file $HOME/.ibugtemp. ibug invokes 'vi' to edit the
Xfile, adds the lines #BEGIN and #END to the completed bug report, and
Xthen runs sendmail with the address on the line To: in the bug report
Xtemplate. Your completed bug report is saved to the file $HOME/.ibugrpt
Xin case the mail bounces for some reason.
X
XAs you can see, this can be used for many purposes; it was just a quick
Xhack to give the Linux project some bug-reporting capability. You can
Xeasily write an awk script to grok the bug reports (i.e. the actual
Xreport is between the lines "### BEGIN" and "### END", added to the
Xreport by ibug) and produce one "big" report based on all of the individual 
Xreports. 
X
X*** See the file README.LINUX for information on using this program to
X*** report Linux bugs.
X
X'bfile' is a filter you can use from inside mail to save the bug 
Xreport to a file (the default is $HOME/Bugs/Bugrpt) and reply to the
Xsender of the message. Just pipe the message from mail into bfile.
XBfile takes everything between the "###BEGIN" and "###END" lines and
Xsticks it in the named file. Edit this script to fit your needs; it's
Xbasically useful if you're the one gathering bugs from ibug.
X
XPlease send any suggestions or bugs (on ibug!) to welshm@dg-rtp.dg.com.
XThanks!
X
Xmdw

END_OF_FILE
echo shar: NEWLINE appended to \"'README'\"
if test 1587 -ne `wc -c <'README'`; then
    echo shar: \"'README'\" unpacked with wrong size!
fi
# end of 'README'
fi
if test -f 'README.LINUX' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'README.LINUX'\"
else
echo shar: Extracting \"'README.LINUX'\" \(5206 characters\)
sed "s/^X//" >'README.LINUX' <<'END_OF_FILE'
X**** GUIDELINES FOR REPORTING LINUX BUGS ****
X
XLast updated: 20 Jul 92
X
X*** This file specifies how you should file bug reports and bug report
X*** updates (such as fixes and workaround reports). PLEASE READ before
X*** you do anything!! 
X
XIf you are having problems with Linux, the first thing you should do is
XPOST your problem or possible bug to comp.os.linux or send it out on
Xone of the several mailing lists. In this way, others can verify your
Xproblem and find out if it's actually a bug. 
X
XIf it's determined that your problem is a bug specific to Linux, or
Xis a problem caused by a certain setup that others should be aware of,
Xuse the 'ibug' program along with the 'linux.temp' template which will
Xmail the bug report to "ml-linux-bugs@dg-rtp.dg.com". Ibug is
Xavailable on the major Linux ftp sites and has been posted to comp.os.linux.
X
XIf your problem is indeed a bug, PLEASE SUBMIT IT using ibug whether or
Xnot there is a workaround. A list of all verified bug reports will be
Xperiodically posted to comp.os.linux to let users know what the
Xknown bugs are.
X
XNote: Ibug is NOT a program for use with Linux, as Linux does not
Xsupport mailing over the internet (yet). It's meant to be used on your
X"other" UNIX machine(s) to report bugs for the Linux project. Whenever
XLinux lets you mail onto the Internet, feel free to use it!
X
XIF YOUR NET CONNECTION IS NOT A UNIX SYSTEM, the ibug program won't work. 
XSimply grab the "linux.temp" template, fill it out, and mail it to 
Xml-linux-bugs@dg-rtp.dg.com.
X
XIF YOU HAVE PROBLEMS getting mail to the ml-linux-bugs, send the report
Xdirectly to me (welshm@dg-rtp.dg.com). 
X
XUse ibug to fill out and mail the linux.temp bug report template. 
XPlease don't mangle the header lines such as From: and Revision: 
Xbecause that may cause the report generation scripts to break. 
X
X
X
X
XYou need to fill out the following information in the template:
X
XFrom: your complete email address, so I can get back to you. My scripts
X  won't pay much attention to the information that sendmail puts in the
X  header. This should be the email address that we can use to respond to
X  you.
X
XSubject: don't edit. Should read "LINUX BUG REPORT".
X
XRevision: one line, the revision and patch level of the Linux kernel/release
X  that you're under. Also include any patches that you've applied.
X
XSetup: One line, brief description of your system's setup. e.g. "386SX, 4Megs
X  Ram, SVGA, 105MB IDE HD". You can expound in the Description: section below.
X
XFile: The name of the file (full pathname) or program (along with the version
X  of that program) that's causing problems. You can also use well-known
X  terms such as "kernel" or "bootimage", etc. 
X
XSummary: a BRIEF one line summary of the problem, e.g. "X11 crashes when 
X  exiting xterm" or something like that.
X
XDescription: The complete description of the problem or bug. Be as verbose
X  as you want. Please include the following information:
X   
X     - If it's a program you've compiled or that you're trying to compile,
X       specify where you got it from (site and directory), the version of
X       the compiler you're using, and any changes/patches you've made.
X     - If it's a binary, specify where you got it from, and how big it
X       is. 
X     - If there's any error message, reproduce it accurately! If possible,
X       write it to a file and upload it to the system you want to report
X       the bug from.
X     - Be very specific as to the results: don't just say "nothing happens"--
X       that could man "program stops and waits for something", "program
X       enters an infinite loop", or any number of other things.
X     - Always include the command lines and setup that you went through
X       to produce this bug. Also mention how you verified the bug (i.e.
X       if you verified that you didn't do something stupid, mention it
X     - If there is a workaround (or possible workaround) for the problem,
X       PLEASE INCLUDE IT in this section!
X     - You can expound on any other information in the other report
X       fields in this section as well.
X
X  ALWAYS reproduce the bug BEFORE you report it! It could have been due to
X  the auras of Linus and the UNIX deities being out of sync (a rare 
X  occurrence, of course). And always try to verify the bug as much as
X  possible, and isolate it to a single problem. If you have already verified
X  that you didn't do something stupid, mention it. For example, make
X  sure that you transferred your files using binary format in ftp, and so on.
X
X*** If you have an UPDATE to the bug report (i.e. that a bug is fixed,
Xthere's a patch or workaround for it, etc.) you should fill out the 
X"linux.fix.temp" template using ibug and mail it to 
Xml-linux-bugs@dg-rtp.dg.com. This template should contain the SAME 
X"Summary" line as the original bug report along with a description of
Xthe fix or update. This way I can modify the original bug report
Xso the report and its fix will go together.
X
X
XThanks, and please send me (welshm@dg-rtp.dg.com) any suggestions or problems! 
XThanks for magidj@marimba.cellbio.duke.edu for testing, to 
Xalmesber@nessie.cs.id.ethz.ch for providing guidelines for the report 
Xtemplate, and to marks@tunl.duke.edu for testing and ideas.
X
X--mdw

END_OF_FILE
echo shar: NEWLINE appended to \"'README.LINUX'\"
if test 5207 -ne `wc -c <'README.LINUX'`; then
    echo shar: \"'README.LINUX'\" unpacked with wrong size!
fi
# end of 'README.LINUX'
fi
if test -f 'ibug' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'ibug'\"
else
echo shar: Extracting \"'ibug'\" \(2073 characters\)
sed "s/^X//" >'ibug' <<'END_OF_FILE'
X#!/bin/sh
X##############################################################################
X### 
X### ibug: Quick and dirty bug-report mailing program over the Internet.
X### Basically edits a template and mails it to whoever's in the To: 
X### line in the file. Can be put to other uses, I suppose...
X###
X### Matt Welsh (welshm@dg-rtp.dg.com)
X###
X### $Id: ibug,v 1.15 1992/07/17 18:09:58 welshm Exp $
X### $What: <@(#) ibug,v	1.15> $
X###
X##############################################################################
X
XSENDMAIL=/usr/lib/sendmail
Xdefeditor=/usr/bin/vi
X
Xif [ "$#" != "1" ]
Xthen
X  tempfile="$HOME/.ibugtemp"
X  if [ ! -r "$tempfile" ]
X  then
X    echo "ibug: usage"
X    echo "  ibug [template-file]"
X    echo "\$HOME/.ibugtemp is the default template file."
X    exit 1
X  fi
Xelse
X  tempfile="$1"
Xfi
X
Xif [ ! -r "$tempfile" ]
Xthen
X  echo "ibug: cannot open template $tempfile."
X  exit 1
Xfi
X
XTMP="/tmp/ibug.$$"
XTMP2="/tmp/ibug2.$$"
X
Xrm -rf $TMP $TMP2 > /dev/null 2>&1
X
X### Throw in the date if there's a place on the template for it
Xcat  $tempfile | sed -e "s/Date:/Date: `date`/g" > $TMP
X
Xecho "Editor [${VISUAL-${EDITOR-$defeditor}}]: \c"
Xread reply
Xcase $reply in
X  '') ;;
X  *) VISUAL=$reply
X     export VISUAL
X     ;;
Xesac
X
X${VISUAL-${EDITOR-$defeditor}} $TMP
X
Xsendto=`egrep "^To:" $TMP | cut -c5- | head -1`
Xsubject=`egrep "^Subject:" $TMP | cut -c10- | head -1`
X
Xif [ "$sendto" = "" ]
Xthen
X  echo "ibug: no To: line found, or line corrupt in template $tempfile."
X  echo " You need to have a To: line in your report specifying"
X  echo " the recipient of the bug report."
X  cp $TMP $HOME/.ibugrpt
X  echo "ibug: report saved to $HOME/.ibugrpt."
X  exit 1
Xfi
X
Xecho "To: $sendto" > $TMP2
Xecho "Subject: $subject" >> $TMP2
Xecho "###BEGIN" >> $TMP2
X### Kill off lines beginning with a '#' in the input
Xcat $TMP | egrep -v '^#.*'  >> $TMP2
Xecho "###END" >> $TMP2
Xrm -f $TMP > /dev/null 2>&1
X
Xecho "ibug: mailing bug report to $sendto."
Xcat $TMP2 | $SENDMAIL -i $sendto
X
Xcp $TMP2 "$HOME/.ibugrpt"
Xecho "ibug: bug report saved to $HOME/.ibugrpt."
X
Xrm -f $TMP2 > /dev/null 2>&1

END_OF_FILE
echo shar: NEWLINE appended to \"'ibug'\"
if test 2074 -ne `wc -c <'ibug'`; then
    echo shar: \"'ibug'\" unpacked with wrong size!
fi
chmod +x 'ibug'
# end of 'ibug'
fi
if test -f 'bfile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'bfile'\"
else
echo shar: Extracting \"'bfile'\" \(1633 characters\)
sed "s/^X//" >'bfile' <<'END_OF_FILE'
X#!/bin/sh
X##############################################################################
X### bfile: take a bug report, strip between ###BEGIN and ###END lines,
X### stick in a file. Nice way to pipe messages from mail to a raw report.
X### Also replies to the sender of the message if possible.
X###
X### $Id: bfile,v 1.5 1992/07/17 18:13:26 welshm Exp $
X### $What: <@(#) bfile,v	1.5> $
X##############################################################################
X
X### Please edit this script to your heart's content, to fit your needs.
X### This works in a generic way.
X
XSAVEFILE=$HOME/Bugs/Bugrpt
XTMPFILE=/tmp/bfile.$$
XTMPFILE2=/tmp/bfile2.$$
X
Xif [ $# -ge 1 ]
Xthen
X  SAVEFILE=$1
Xfi
X
Xcat >> $TMPFILE
X
X### Reply to sender of the message (comment out sendmail line if you want
X### this to be turned off!)
XSENDMAIL=/usr/lib/sendmail
XTO=""
X
XFROM=`egrep '^From:' $TMPFILE | cut -f2 -d' ' | head -1`
XREPLY_TO=`egrep '^Reply-To:' $TMPFILE | cut -f2 -d' ' | head -1`
XSUBJECT=`egrep '^Subject:' $TMPFILE | cut -c10- | head -1`
X
XTO="${REPLY_TO:-$FROM}"
Xif [ "$TO" = "" ]
Xthen
X  echo "bfile: no one to reply to!"
Xelse
X  echo "bfile: replying to $TO."
X  echo "Subject: Re: $SUBJECT" >> $TMPFILE2
X  echo "This is an automated reply." >> $TMPFILE2
X  echo "Your bug report has been received and filed" >> $TMPFILE2
X  echo "on `date`." >> $TMPFILE2
X  echo "Thanks!" >> $TMPFILE2
X  echo " " >> $TMPFILE2
X  echo 'Love, $What: <@(#) bfile,v	1.5> $' >> $TMPFILE2
X  cat $TMPFILE2 | $SENDMAIL -i $TO
X  rm -f $TMPFILE2
Xfi
X
Xecho "bfile: Saving report to $SAVEFILE."
Xcat $TMPFILE | awk '/###BEGIN/,/###END/' >> $SAVEFILE
Xecho " " >> $SAVEFILE
X
Xrm -f $TMPFILE
X

END_OF_FILE
echo shar: NEWLINE appended to \"'bfile'\"
if test 1634 -ne `wc -c <'bfile'`; then
    echo shar: \"'bfile'\" unpacked with wrong size!
fi
chmod +x 'bfile'
# end of 'bfile'
fi
if test -f 'linux.temp' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'linux.temp'\"
else
echo shar: Extracting \"'linux.temp'\" \(598 characters\)
sed "s/^X//" >'linux.temp' <<'END_OF_FILE'
X### Lines beginning with a '#' will be removed in the bug report.
X### Please post your problem to comp.os.linux and/or verify the problem as
X### a bug yourself before submission.
X
XTo: ml-linux-bugs@dg-rtp.dg.com
XSubject: LINUX BUG REPORT
XDate:
X
XFrom:       <your complete e-mail address>
XRevision:   <replace with rev and patchlevel of Linux kernel>
XSetup:      <one line description of your system's setup>
XFile:       <program or file, along with revision, that's causing problems>
X
XSummary:    <one line summary of problem>
X
XDescription:
X
X  <Description of problem, as many lines as you want>
X
X

END_OF_FILE
echo shar: NEWLINE appended to \"'linux.temp'\"
if test 599 -ne `wc -c <'linux.temp'`; then
    echo shar: \"'linux.temp'\" unpacked with wrong size!
fi
# end of 'linux.temp'
fi
if test -f 'linux.fix.temp' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'linux.fix.temp'\"
else
echo shar: Extracting \"'linux.fix.temp'\" \(795 characters\)
sed "s/^X//" >'linux.fix.temp' <<'END_OF_FILE'
X### Lines beginning with a '#' will be removed in the bug report.
X### This template is to be used as an update to a previous bug report
X### (i.e. to report fixes, patches, or workarounds).Please set the "Summary" 
X### line to the SAME summary as the bug report you are updating!
X### You can make changes to the File: line. Include Setup and Revision info
X### in the description, as this will just be appended to the original bug
X### report (not filed as a seperate report).
X
XTo: ml-linux-bugs@dg-rtp.dg.com
XSubject: LINUX BUG REPORT *UPDATE*
XDate:
X
XFrom:       <your complete e-mail address>
XFile:       <program or file, along with revision, that's causing problems>
X
XSummary:    <same summary line as original bug report>
X
XDescription:
X
X  <Description of problem, as many lines as you want>
X
X

END_OF_FILE
echo shar: NEWLINE appended to \"'linux.fix.temp'\"
if test 796 -ne `wc -c <'linux.fix.temp'`; then
    echo shar: \"'linux.fix.temp'\" unpacked with wrong size!
fi
# end of 'linux.fix.temp'
fi
echo shar: End of shell archive.
exit 0
END--------->8----CUT HERE----ibug.shar------------>8-----------------------


Matt Welsh    welshm@dg-rtp.dg.com        ...!mcnc!rti!dg-rtp!welshm
UNIX-SQA, Data General Corporation RTP        Office: +1 919 248 6070
  "Do not taunt Happy Fun Ball."