home *** CD-ROM | disk | FTP | other *** search
- #! /bin/sh -
- #
- # octave-bug - create a bug report and mail it to the bug-octave
- # mailing list.
- #
- # Patterned after the bashbug script from bash 1.14.
- #
- # John W. Eaton
- # jwe@che.utexas.edu
- # Department of Chemical Engineering
- # The University of Texas at Austin
-
- # Configuration: these variables are filled in at configuration time.
-
- VERSION="%VERSION%"
- MACHINE="%TARGET_HOST_TYPE%"
- F77="%F77%"
- FFLAGS="%FFLAGS%"
- FLIBS="%FLIBS%"
- F2C="%F2C%"
- F2CFLAGS="%F2CFLAGS%"
- CC="%CC%"
- CFLAGS="%CFLAGS%"
- CXX="%CXX%"
- CXXFLAGS="%CXXFLAGS%"
- LDFLAGS="%LDFLAGS%"
- DEFS="%DEFS%"
-
- PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:$PATH
- export PATH
-
- TEMP=/tmp/octave-bug.$$
-
- : ${EDITOR=emacs}
-
- trap 'rm -f $TEMP $TEMP.x; exit 1' 1 2 3 13 15
- trap 'rm -f $TEMP $TEMP.x' 0
-
- UN=
- if (uname) > /dev/null 2>&1
- then
- UN=`uname -a`
- fi
-
- HAVE_FMT=false
- if (fmt < /dev/null) > /dev/null 2>&1
- then
- HAVE_FMT=true
- fi
-
- ss_p=`echo $VERSION | grep "^ss-"`
- if test -n "$ss_p"
- then
- BUGADDR="octave-maintainers@che.utexas.edu"
- else
- BUGADDR="bug-octave@che.utexas.edu"
- fi
-
- SUBJECT="[50 character or so descriptive subject here (for reference)]"
- if test $# -gt 0
- then
- case "$1" in
- -s)
- shift
- if test $# -gt 0
- then
- SUBJECT="$1"
- shift
- else
- echo "usage: octave-bug [-s subject]"
- exit 1
- fi
- ;;
- esac
- fi
-
- cat > $TEMP << EOF
- To: $BUGADDR
- Subject: $SUBJECT
- --------
- Bug report for Octave $VERSION configured for $MACHINE
-
- Description:
- -----------
-
- * Please replace this item with a detailed description of the
- problem. Suggestions or general comments are also welcome.
-
- Repeat-By:
- ---------
-
- * Please replace this item with a description of the sequence of
- events that causes the problem to occur.
-
- Fix:
- ---
-
- * If possible, replace this item with a description of how to
- fix the problem (if you don't have a fix for the problem, don't
- include this section, but please do submit your report anyway).
-
-
-
- Configuration (please do not edit this section):
- -----------------------------------------------
-
- uname output: $UN
- Fortran compiler: $F77
- FFLAGS: $FFLAGS
- F2C: $F2C
- F2CFLAGS: $F2CFLAGS
- FLIBS: $FLIBS
- C compiler: $CC
- CFLAGS: $CFLAGS
- C++ compiler: $CXX
- CXXFLAGS: $CXXFLAGS
- LDFLAGS: $LDFLAGS
- DEFS:
-
- EOF
-
- if $HAVE_FMT
- then
- echo $DEFS | fmt | sed 's/^/ /' >> $TEMP
- else
- echo $DEFS >> $TEMP
- fi
-
- if test $# -gt 0
- then
- if test -f "$1"
- then
- cat >> $TEMP << EOF
-
- User-preferences (please do not edit this section):
- --------------------------------------------------
-
- EOF
- cat $1 >> $TEMP
- fi
- fi
-
- chmod u+w $TEMP
- cp $TEMP $TEMP.x
-
- status=0
-
- if $EDITOR $TEMP
- then
- if cmp -s $TEMP $TEMP.x
- then
- echo "file not changed -- no bug report submitted"
- status=1
- else
-
- # Try to extract the recipient address, in case the To: line in the
- # message template has been changed. Also get cc: lines.
-
- TO_ADDR=`sed -e '/^--------[ \t]*$/q' $TEMP | sed -n -e 's/^[Tt][Oo]://p'`
- CC_ADDR=`sed -e '/^--------[ \t]*$/q' $TEMP | sed -n -e 's/^[Cc][Cc]://p'`
-
- if test -z "$TO_ADDR"
- then
- echo "no valid \`To:' field found in header -- using $BUGADDR instead"
- else
- BUGADDR="$TO_ADDR"
- fi
-
- BUGADDR="$BUGADDR $CC_ADDR"
-
- # Delete the `--------' separator in the message.
-
- # Don't pretty-print this. Odd whitespace kills Ultrix AWK!
-
- awk 'BEGIN{in_header=1;} /^--------[ \t]*$/ {
- if (in_header) { in_header=0; print ""; next; }
- } { print $0; }' $TEMP > $TEMP.x
-
- # Now try to mail it.
-
- ( /bin/mail $BUGADDR < $TEMP.x ) > /dev/null 2>&1
- status=$?
- if test $status -ne 0; then
- ( Mail -s "$SUBJECT" $BUGADDR < $TEMP.x ) > /dev/null 2>&1
- status=$?
- if test $status -ne 0; then
- ( /usr/ucb/mail -s "$SUBJECT" $BUGADDR < $TEMP.x ) > /dev/null 2>&1
- status=$?
- if test $status -ne 0; then
- ( mailx -s "$SUBJECT" $BUGADDR < $TEMP.x ) > /dev/null 2>&1
- status=$?
- fi
- fi
- fi
-
- if test $status -ne 0; then
- echo "unable to send mail -- saving message in \$HOME/dead.octave-bug";
- cat $TEMP >> $HOME/dead.octave-bug;
- exit 1
- else
- echo "bug report sent to: $TO_ADDR"
- echo " cc to: $CC_ADDR"
- fi
- fi
- else
- echo "problems with edit -- no bug report submitted"
- status=1
- fi
-
- exit $status
-