summaryrefslogtreecommitdiffstats
path: root/scripts/gnupgbug
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/gnupgbug')
-rw-r--r--scripts/gnupgbug185
1 files changed, 185 insertions, 0 deletions
diff --git a/scripts/gnupgbug b/scripts/gnupgbug
new file mode 100644
index 000000000..7cde6aa16
--- /dev/null
+++ b/scripts/gnupgbug
@@ -0,0 +1,185 @@
+#!/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
+