mirror of
git://git.gnupg.org/gnupg.git
synced 2024-11-04 20:38:50 +01:00
186 lines
4.0 KiB
Plaintext
186 lines
4.0 KiB
Plaintext
|
#!/bin/sh
|
||
|
|
||
|
#
|
||
|
# File a bug against the GNU Privacy Guard.
|
||
|
#
|
||
|
|
||
|
#
|
||
|
# Copyright (c) 2000 Thomas Roessler <roessler@guug.de>
|
||
|
#
|
||
|
#
|
||
|
# This program is free software; you can redistribute it and/or modify
|
||
|
# it under the terms of the GNU General Public License as published by
|
||
|
# the Free Software Foundation; either version 2 of the License, or
|
||
|
# (at your option) any later version.
|
||
|
#
|
||
|
# This program is distributed in the hope that it will be useful,
|
||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
# GNU General Public License for more details.
|
||
|
#
|
||
|
# You should have received a copy of the GNU General Public License
|
||
|
# along with this program; if not, write to the Free Software
|
||
|
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||
|
#
|
||
|
|
||
|
SUBMIT="submit@bugs.guug.de"
|
||
|
DEBIAN_SUBMIT="submit@bugs.debian.org"
|
||
|
|
||
|
|
||
|
include_file ()
|
||
|
{
|
||
|
echo
|
||
|
echo "--- Begin $1"
|
||
|
sed -e 's/^-/- -/' $1 | egrep -v '^[ ]*(#|$)'
|
||
|
echo "--- End $1"
|
||
|
echo
|
||
|
}
|
||
|
|
||
|
case `echo -n` in
|
||
|
"") n=-n; c= ;;
|
||
|
*) n=; c='\c' ;;
|
||
|
esac
|
||
|
|
||
|
|
||
|
exec > /dev/tty
|
||
|
exec < /dev/tty
|
||
|
|
||
|
SCRATCH=${TMPDIR-/tmp}/`basename $0`.`hostname`.$$
|
||
|
|
||
|
mkdir ${SCRATCH} || \
|
||
|
{
|
||
|
echo "`basename $0`: Can't create temporary directory." >& 2 ;
|
||
|
exit 1 ;
|
||
|
}
|
||
|
|
||
|
trap "rm -r -f ${SCRATCH} ; trap '' 0 ; exit" 0 1 2
|
||
|
|
||
|
TEMPLATE=${SCRATCH}/template.txt
|
||
|
|
||
|
echo "Please enter a one-line description of the problem you experience:"
|
||
|
echo $n "> $c"
|
||
|
read SUBJECT
|
||
|
|
||
|
echo $n "Do you want to include your personal GnuPG configuration files? [Y|n]$c"
|
||
|
read personal
|
||
|
case "$personal" in
|
||
|
[nN]*) personal=no ;;
|
||
|
*) personal=yes ;;
|
||
|
esac
|
||
|
|
||
|
if test -f /etc/debian_version ; then
|
||
|
DEBIAN=yes
|
||
|
echo $n "Checking whether GnuPG has been installed as a package... $c"
|
||
|
GNUPGVERSION="`dpkg -l gnupg | grep ^i | awk '{print $3}'`" 2> /dev/null
|
||
|
if test "$GNUPGVERSION" ; then
|
||
|
DPKG=yes
|
||
|
else
|
||
|
DPKG=no
|
||
|
fi
|
||
|
echo "$DPKG"
|
||
|
if test "$DPKG" = "no" ; then
|
||
|
echo $n "File this bug with Debian? [Y|n]$c"
|
||
|
read $DPKG
|
||
|
case "$DPKG" in
|
||
|
[nN]) DPKG=no ;;
|
||
|
*) DPKG=yes ;;
|
||
|
esac
|
||
|
fi
|
||
|
else
|
||
|
DEBIAN=no
|
||
|
DPKG=no
|
||
|
fi
|
||
|
|
||
|
test "$MUTTVERSION" || MUTTVERSION="`mutt -v | head -1 | awk '{print $2}' | tr -d i`"
|
||
|
test "$DPKG" = "yes" && SUBMIT="$SUBMIT, $DEBIAN_SUBMIT"
|
||
|
|
||
|
|
||
|
exec > ${TEMPLATE}
|
||
|
|
||
|
echo "Subject: mutt-$MUTTVERSION: $SUBJECT"
|
||
|
echo "To: $SUBMIT"
|
||
|
echo "Cc: $LOGNAME"
|
||
|
echo
|
||
|
echo "Package: mutt"
|
||
|
echo "Version: $MUTTVERSION"
|
||
|
echo
|
||
|
echo "-- Please type your report below this line"
|
||
|
echo
|
||
|
echo
|
||
|
echo
|
||
|
|
||
|
if test "$DEBIAN" = "yes" ; then
|
||
|
echo "Obtaining Debian-specific information..." > /dev/tty
|
||
|
bug -p -s dummy mutt | \
|
||
|
sed -n -e "/^-- System Information/,/^---/p" | \
|
||
|
grep -v '^---'
|
||
|
fi
|
||
|
|
||
|
echo
|
||
|
echo "-- Mutt Version Information"
|
||
|
echo
|
||
|
mutt -v
|
||
|
|
||
|
if test "$personal" = "yes" ; then
|
||
|
CANDIDATES=".muttrc-${MUTTVERSION} .muttrc .mutt/muttrc-${MUTTVERSION} .mutt/muttrc"
|
||
|
MATCHED="none"
|
||
|
for f in $CANDIDATES; do
|
||
|
if test -f "${HOME}/$f" ; then
|
||
|
MATCHED="${HOME}/$f"
|
||
|
break
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
if test "$MATCHED" = "none" ; then
|
||
|
echo "Warning: Can't find your personal .muttrc." >&2
|
||
|
else
|
||
|
include_file $MATCHED
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
if test "$global" = "yes" ; then
|
||
|
CANDIDATES="Muttrc-${MUTTVERSION} Muttrc"
|
||
|
DIRECTORIES="/etc /usr/local/share/mutt"
|
||
|
MATCHED="none"
|
||
|
for d in $DIRECTORIES ; do
|
||
|
for f in $CANDIDATES; do
|
||
|
if test -f $d/$f ; then
|
||
|
MATCHED="$d/$f"
|
||
|
break
|
||
|
fi
|
||
|
done
|
||
|
test "$MATCHED" = "none" || break
|
||
|
done
|
||
|
|
||
|
if test "$MATCHED" = "none" ; then
|
||
|
echo "Warning: Can't find global Muttrc." >&2
|
||
|
else
|
||
|
include_file $MATCHED
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
exec > /dev/tty
|
||
|
|
||
|
cp $TEMPLATE $SCRATCH/mutt-bug.txt
|
||
|
|
||
|
input="e"
|
||
|
while : ; do
|
||
|
if test "$input" = "e" ; then
|
||
|
${VISUAL-vi} $SCRATCH/mutt-bug.txt
|
||
|
if cmp $SCRATCH/mutt-bug.txt ${TEMPLATE} > /dev/null ; then
|
||
|
echo "Warning: Bug report was not modified!"
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
echo $n "Submit, Edit, Print, Quit? [S|e|p|q]$c"
|
||
|
read _input
|
||
|
input="`echo $_input | tr EPSQ epsq`"
|
||
|
case $input in
|
||
|
e*) ;;
|
||
|
p*) ${PAGER-more} $SCRATCH/mutt-bug.txt ;;
|
||
|
s*|"") /usr/sbin/sendmail -t < $SCRATCH/mutt-bug.txt ; exit ;;
|
||
|
q*) exit
|
||
|
esac
|
||
|
done
|
||
|
|