Changeset 5035:d0da811c593e
- Timestamp:
- 2007-04-01 14:58:53 (22 months ago)
- Branch:
- HEAD
- Files:
-
- 2 modified
-
doc/muttbug.man (modified) (1 diff)
-
muttbug.sh.in (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
doc/muttbug.man
r3787 r5035 18 18 .\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. 19 19 .\" 20 .TH flea 1 "J anuary 2005" Unix "User Manuals"20 .TH flea 1 "July 2000" Unix "User Manuals" 21 21 .SH NAME 22 flea \- Report a bug (or rather a flea) in mutt. (OBSOLETE) 22 flea \- Report a bug (or rather a flea) in mutt. 23 .SH SYNOPSIS 24 .PP 25 .B flea 23 26 .SH DESCRIPTION 24 27 .PP 25 28 .B flea 26 used to be a shell script which helpedyou to submit a bug report against the29 is a shell script which helps you to submit a bug report against the 27 30 .BR mutt (1) 28 31 mail user agent. 29 32 .PP 30 The mutt bug tracking system broke down under the spam thrown at it and 31 was shut down in January 2005. To report a bug in mutt, please use 32 your system's bug reporting system if mutt came as part of your 33 system, or refer to the mutt web site at 34 .I http://www.mutt.org 35 for more information. 33 If you invoke 34 .BR flea , 35 you'll first be prompted for a short 36 description of the problem you experience. This will be used as the 37 bug report's subject line, so it should be concise, but informative. 38 .PP 39 You are then asked to assign an initial severity level to the 40 problem you observe; 41 .B flea 42 will give you a description which severity level is appropriate or 43 not. 44 .PP 45 Then, you are asked for the location of a core dump (normally named 46 .BR core ) 47 which may have been left over by a crash of your 48 .BR mutt (1). 49 You can just type \(lqno\(rq here, or you can enter the path leading 50 to a core dump. 51 .B flea 52 will try to use either 53 .BR sdb (1), 54 .BR dbx (1), 55 or 56 .BR gdb (1) 57 to extract some information from this core dump which may be helpful 58 to developers in order to determine the reason for the crash. 59 .PP 60 Finally, you are asked whether or not you want to include personal 61 and system 62 .BR mutt (1) 63 configuration files with the bug report. If at all possible, we 64 urge you to answer these questions with \(lqyes\(rq, since a 65 reference configuration makes it incredibly easier to track down a 66 problem. 67 .PP 68 If you are using Debian GNU/Linux, 69 .B flea 70 will now check whether or not 71 .B mutt 72 has been installed as a Debian 73 package on your system, and suggest to file the bug against the 74 .BR mutt (1) 75 and Debian bug tracking systems. This option was added since the 76 .BR mutt (1) 77 project uses another instantiation of the Debian bug tracking 78 system, so submitting bugs against both systems in one pass is 79 simple. 80 .PP 81 You are then dropped into your favorite editor as determined by the 82 .B EDITOR 83 and 84 .B VISUAL 85 environment variables. 86 .PP 87 Please give us details about the problem in the empty space below 88 the line reading \(lqPlease type your report below this line\(rq. 89 We are most interested in precise information on what symptoms you 90 observe and what steps may be used to reproduce the bug. Chances 91 are that problems which can easily be reproduced will be fixed 92 quickly. So please take some time when filling out this part of the 93 template. 94 .PP 95 The remainder of the template contains various kinds of information 96 gathered from your system, including output of the 97 .BR uname (1) 98 command, output from 99 .BR mutt (1) 100 itself, and your system's 101 .BR mutt (1) 102 configuration files. You may wish to browse through this part of 103 the bug report form in order to avoid leaking confidential 104 information to the public. 105 .PP 106 If you leave the editor, 107 .B flea 108 will give you the option to review, re-edit, submit, or abandon your 109 bug report. If you decide to submit it, a mail message containing 110 your report will be sent to <submit@bugs.guug.de>. You'll receive a 111 copy of this message. 112 .PP 113 While your bug report is being processed by the bug tracking system, 114 you will receive various e-mail messages from the bug tracking 115 system informing you about what's going on: Once your bug report has 116 been entered into the bug tracking system, it will be assigned a 117 unique serial number about which you are informed via e-mail. If 118 you wish to submit additional information about the bug, you can 119 just send it to the address 120 .BR \fIserial\fP@bugs.guug.de . 121 .PP 122 Later, you will most likely receive questions from the developers 123 about the problem you observed, and you will eventually be informed 124 that your bug report has been closed. This means that the bug has 125 been fixed at least in the 126 .BR cvs (1) 127 repository. If the answers you receive don't satisfy you, don't 128 hesitate to contact the developers directly under 129 .BR mutt-dev@mutt.org. 130 .PP 131 You can also browse your bug report and all additional information 132 and replies connected to it using the bug tracking system's Web 133 interface under the following URL: 134 http://bugs.guug.de/ 135 .SH 136 ENVIRONMENT 36 137 .PP 37 138 .B flea 38 is now a shell script that prints a short error message and exits. 139 will use the following environment variables: 140 .IP "EMAIL" 141 Your electronic mail address. Will be used to set the bug report's 142 From header, and to send you a copy of the report. 143 .IP "LOGNAME" 144 Your login name. If the 145 .B EMAIL 146 environment variable isn't set, this will be used instead to send 147 you a copy of the report. Setting the sender will be left to 148 .BR sendmail (1) 149 on your system. 150 .IP "REPLYTO" 151 If set, the bug report will contain a Reply-To header with the 152 e-mail address contained in this environment variable. 153 .IP "ORGANIZATION" 154 If set, the bug report will contain an Organization header with the 155 contents of this environment variable. 156 .IP "PAGER" 157 If set, this environment variable will be expected to contain the 158 path to your favorite pager for viewing the bug report. If unset, 159 .BR more (1) 160 will be used. 161 .IP "VISUAL" 162 If set, this environment variable will be expected to contain the 163 path to your favorite visual editor. 164 .IP "EDITOR" 165 If set, this environment variable will be expected to contain the 166 path to your favorite editor. This variable is examined if and only 167 if the 168 .B VISUAL 169 environment variable is unset. If 170 .B EDITOR 171 is unset, 172 .BR vi (1) 173 will be used to edit the bug report. 174 .SH 175 FILES 176 .PP 177 .IP "core" 178 If present, this file may contain a post-mortem memory dump of mutt. 179 It will be inspected using the debugger installed on your system. 180 .SH 181 SEE ALSO 182 .PP 183 .BR dbx (1), 184 .BR gdb (1), 185 .BR lynx (1), 186 .BR mutt (1), 187 .BR muttrc (5), 188 .BR sdb (1), 189 .BR sendmail (1), 190 .BR uname (1), 191 .BR vi (1) 192 .PP 193 The mutt bug tracking system: http://bugs.guug.de/ 39 194 .SH 40 195 AUTHOR -
muttbug.sh.in
r3787 r5035 28 28 # 29 29 30 exec >&2 31 32 echo "$0: No bug tracking system." 33 34 cat << EOF 35 36 The mutt bug tracking system has broken down under the spam sent to 37 it, and has been shut down. While we are working on a new bug 38 database, please use your system's default bug submission mechanism 39 if mutt came as part of your system, or submit your bug reports 40 directly to one of the mailing lists linked from http://www.mutt.org/. 41 42 Please pardon our dust. 30 SUBMIT="submit@bugs.guug.de" 31 DEBIAN_SUBMIT="submit@bugs.debian.org" 32 33 prefix=@prefix@ 34 35 DEBUGGER=@DEBUGGER@ 36 SENDMAIL=@SENDMAIL@ 37 sysconfdir=@sysconfdir@ 38 pkgdatadir=@pkgdatadir@ 39 40 include_file () 41 { 42 echo 43 echo "--- Begin $1" 44 sed -e 's/^-/- -/' $1 | egrep -v '^[ ]*(#|$)' 45 echo "--- End $1" 46 echo 47 } 48 49 debug_gdb () 50 { 51 cat << EOF > $SCRATCH/gdb.rc 52 bt 53 list 54 quit 43 55 EOF 44 45 exit 1 56 $DEBUGGER -n -x $SCRATCH/gdb.rc -c $CORE mutt 57 } 58 59 debug_dbx () 60 { 61 cat << EOF > $SCRATCH/dbx.rc 62 where 63 list 64 quit 65 EOF 66 $DEBUGGER -s $SCRATCH/dbx.rc mutt $CORE 67 } 68 69 debug_sdb () 70 { 71 cat << EOF > $SCRATCH/sdb.rc 72 t 73 w 74 q 75 EOF 76 $DEBUGGER mutt $CORE < $SCRATCH/sdb.rc 77 } 78 79 case `echo -n` in 80 "") n=-n; c= ;; 81 *) n=; c='\c' ;; 82 esac 83 84 85 exec > /dev/tty 86 exec < /dev/tty 87 88 SCRATCH=${TMPDIR-/tmp}/`basename $0`.`hostname`.$$ 89 90 mkdir ${SCRATCH} || \ 91 { 92 echo "`basename $0`: Can't create temporary directory." >& 2 ; 93 exit 1 ; 94 } 95 96 trap "rm -r -f ${SCRATCH} ; trap '' 0 ; exit" 0 1 2 97 98 TEMPLATE=${SCRATCH}/template.txt 99 100 if test -z "$EMAIL" ; then 101 EMAIL="`mutt -Q from 2> /dev/null | sed -e 's/^from=.\(.*\).$/\1/'`" 102 fi 103 104 echo "Please enter your e-mail address [$EMAIL]:" 105 echo $n "> $c" 106 read EMAILTMP 107 108 if test -n "$EMAILTMP" ; then 109 EMAIL="$EMAILTMP" 110 fi 111 112 echo "Please enter a one-line description of the problem you experience:" 113 echo $n "> $c" 114 read SUBJECT 115 116 cat <<EOF 117 What should the severity for this bug report be? 118 119 0) Feature request, or maybe a bug which is very difficult to 120 fix due to major design considerations. 121 122 1) The package fails to perform correctly in some conditions, 123 or on some systems, or fails to comply with current policy 124 documents. Most bugs are in this category. 125 126 2) This bug makes this version of the package unsuitable for 127 a stable release. 128 129 3) Dangerous bug. Makes the package in question unusable by 130 anyone or mostly so, or causes data loss, or introduces a 131 security hole allowing access to the accounts of users who 132 use the package. 133 134 4) Critical bug. Makes unrelated software on the system (or 135 the whole system) break, or causes serious data loss, or 136 introduces a security hole on systems where you install the 137 package. 138 139 EOF 140 echo $n "Severity? [01234] $c" 141 read severity 142 case "$severity" in 143 0|[Ww]) severity=wishlist ;; 144 2|[Ii]) severity=important ;; 145 3|[Gg]) severity=grave ;; 146 4|[Cc]) severity=critical ;; 147 *) severity=normal ;; 148 esac 149 150 if test -x $DEBUGGER ; then 151 test -f core && CORE=core 152 echo "If mutt has crashed, it may have saved some program state in" 153 echo "a file named core. We can include this information with the bug" 154 echo "report if you wish so." 155 echo "Do you want to include information gathered from a core file?" 156 echo "If yes, please enter the path - otherwise just say no: [$CORE]" 157 echo $n "> $c" 158 read _CORE 159 test "$_CORE" && CORE="$_CORE" 160 fi 161 162 echo $n "Do you want to include your personal mutt configuration files? [Y|n] $c" 163 read personal 164 case "$personal" in 165 [nN]*) personal=no ;; 166 *) personal=yes ;; 167 esac 168 169 echo $n "Do you want to include your system's global mutt configuration file? [Y|n] $c" 170 read global 171 case "$global" in 172 [nN]*) global=no ;; 173 *) global=yes ;; 174 esac 175 176 if test -f /etc/debian_version ; then 177 DEBIAN=yes 178 echo $n "Checking whether mutt has been installed as a package... $c" 179 DEBIANVERSION="`dpkg -l mutt | grep '^[ih]' | awk '{print $3}'`" 2> /dev/null 180 if test "$DEBIANVERSION" ; then 181 DPKG=yes 182 else 183 DPKG=no 184 unset DEBIANVERSION 185 fi 186 echo "$DPKG" 187 echo $n "File this bug with Debian? [Y|n] $c" 188 read DPKG 189 case "$DPKG" in 190 [nN]) DPKG=no ;; 191 *) DPKG=yes ;; 192 esac 193 else 194 DEBIAN=no 195 DPKG=no 196 fi 197 198 if rpm -q mutt > /dev/null 2> /dev/null ; then 199 echo "Mutt seems to come from an RPM package." 200 RPMVERSION="`rpm -q mutt`" 201 RPMPACKAGER="`rpm -q -i mutt | sed -n -e 's/^Packager *: *//p'`" 202 fi 203 204 MUTTVERSION="`mutt -v | awk '{print $2; exit; }'`" 205 test "$DPKG" = "yes" && SUBMIT="$SUBMIT, $DEBIAN_SUBMIT" 206 207 exec > ${TEMPLATE} 208 209 test "$EMAIL" && echo "From: $EMAIL" 210 test "$REPLYTO" && echo "Reply-To: $REPLYTO" 211 test "$ORGANIZATION" && echo "Organization: $ORGANIZATION" 212 213 echo "Subject: mutt-$MUTTVERSION: $SUBJECT" 214 echo "To: $SUBMIT" 215 test "$EMAIL" && echo "Bcc: ${EMAIL}" 216 echo 217 echo "Package: mutt" 218 echo "Version: ${DEBIANVERSION-${RPMVERSION-$MUTTVERSION}}" 219 echo "Severity: $severity" 220 echo 221 echo "-- Please type your report below this line" 222 echo 223 echo 224 echo 225 226 if test "$DEBIAN" = "yes" ; then 227 echo "Obtaining Debian-specific information..." > /dev/tty 228 bug -p -s dummy mutt < /dev/null 2> /dev/null | \ 229 sed -n -e "/^-- System Information/,/^---/p" | \ 230 grep -v '^---' 231 else 232 echo "-- System Information" 233 echo "System Version: `uname -a`" 234 test -z "$RPMPACKAGER" || echo "RPM Packager: $RPMPACKAGER"; 235 test -f /etc/redhat-release && echo "RedHat Release: `cat /etc/redhat-release`" 236 test -f /etc/SuSE-release && echo "SuSE Release: `sed 1q /etc/SuSE-release`" 237 # Please provide more of these if you have any. 238 fi 239 240 echo 241 echo "-- Build environment information" 242 echo 243 echo "(Note: This is the build environment installed on the system" 244 echo "muttbug is run on. Information may or may not match the environment" 245 echo "used to build mutt.)" 246 echo 247 echo "- gcc version information" 248 echo "@CC@" 249 @CC@ -v 2>&1 250 echo 251 echo "- CFLAGS" 252 echo @CFLAGS@ 253 254 255 echo 256 echo "-- Mutt Version Information" 257 echo 258 mutt -v 259 260 if test "$CORE" && test -f "$CORE" ; then 261 echo 262 echo "-- Core Dump Analysis Output" 263 echo 264 265 case "$DEBUGGER" in 266 *sdb) debug_sdb $CORE ;; 267 *dbx) debug_dbx $CORE ;; 268 *gdb) debug_gdb $CORE ;; 269 esac 270 271 echo 272 fi 273 274 if test "$personal" = "yes" ; then 275 CANDIDATES=".muttrc-${MUTTVERSION} .muttrc .mutt/muttrc-${MUTTVERSION} .mutt/muttrc" 276 MATCHED="none" 277 for f in $CANDIDATES; do 278 if test -f "${HOME}/$f" ; then 279 MATCHED="${HOME}/$f" 280 break 281 fi 282 done 283 284 if test "$MATCHED" = "none" ; then 285 echo "Warning: Can't find your personal .muttrc." >&2 286 else 287 include_file $MATCHED 288 fi 289 fi 290 291 292 if test "$global" = "yes" ; then 293 CANDIDATES="Muttrc-${MUTTVERSION} Muttrc" 294 DIRECTORIES="$sysconfdir $pkgdatadir" 295 MATCHED="none" 296 for d in $DIRECTORIES ; do 297 for f in $CANDIDATES; do 298 if test -f $d/$f ; then 299 MATCHED="$d/$f" 300 break 301 fi 302 done 303 test "$MATCHED" = "none" || break 304 done 305 306 if test "$MATCHED" = "none" ; then 307 echo "Warning: Can't find global Muttrc." >&2 308 else 309 include_file $MATCHED 310 fi 311 fi 312 313 exec > /dev/tty 314 315 cp $TEMPLATE $SCRATCH/mutt-bug.txt 316 317 input="e" 318 while : ; do 319 if test "$input" = "e" ; then 320 ${VISUAL-${EDITOR-vi}} $SCRATCH/mutt-bug.txt 321 if cmp $SCRATCH/mutt-bug.txt ${TEMPLATE} > /dev/null ; then 322 echo "Warning: Bug report was not modified!" 323 fi 324 fi 325 326 echo $n "Submit, Edit, View, Quit? [S|e|v|q] $c" 327 read _input 328 input="`echo $_input | tr EVSQ evsq`" 329 case $input in 330 e*) ;; 331 v*) ${PAGER-more} $SCRATCH/mutt-bug.txt ;; 332 s*|"") $SENDMAIL -t < $SCRATCH/mutt-bug.txt ; exit ;; 333 q*) exit 334 esac 335 done 336
