Automatically stores bug reports in specified mail directories.
The bugfiler command automatically intercepts bug reports, summarizes them, and stores them in the appropriate folders in the directory specified by the MailDirectory variable.
The mail delivery program starts the bugfiler command through a line in the /etc/aliases file. The line has the following format:
bugs:"|/usr/lib/bugfiler $HOME/bugstuff"
In the example, the bug reports are placed in the $HOME/bugstuff directory. If no directory is specified, the bugfiler command places the bug reports in the $HOME/mail default directory.
Note: The $HOME/mail directory must be created for the bugfiler command to use as a default directory.
If the BugUserName is other than bugs, the entry in the /etc/aliases file should contain a -b BugUserName flag, as in the following example:
hadley:"|/usr/lib/bugfiler -b hadley"
In this example, hadley is declared the BugUserName and all bug reports are placed in the /home/hadley/mail default directory. All directories used by the bugfiler command must be owned by hadley.
The bugfiler command reads bug reports from standard input, checks the format of each report, then either sends a message acknowledging receipt ($HOME/MailDirectory/.ack file) or indicates improper format ($HOME/MailDirectory/.format file).
Improperly formatted bug reports are filed in the errors directory, which the bugfiler command creates as a subdirectory of the MailDirectory variable. Bug reports must be in the format found in the /usr/lib/bugformat file. Use the sendbug command to start the /usr/lib/bugformat file. The bugfiler command summarizes valid bug reports and files them in the folder specified in the Index: line of the report. The source directory name in the Index: line must match one of the directory names in the mail directory. The bugfiler command appends a line in the following format to the MailDirectory/summary file:
DirectoryName/MessageNumber IndexInformation SubjectInformation
Note: The bugfiler command does not recognize forwarded mail. It notifies the forwarder, not the sender, unless a Reply-To: line is included in the header of the report.
Format of Bug Reports
Bug reports must be submitted in ARPA RFC 822 format. The sendbug command contains information to compose and mail bug reports in the correct format.
The reports require the following header lines for proper indexing:
Item | Description |
---|---|
Date: | Followed by the date the bugfiler command receives the report. |
From: | Followed by the valid return address of the sender. |
Subject: | Followed by a short summary of the problem. |
Index: | Followed by the path of the source directory and source file, the version number, and optionally, the Fix keyword. |
The body of the bug report requires the following lines:
Item | Description |
---|---|
Description: | Followed by a detailed description of the problem, suggestion, or complaint. |
Repeat-By: | Followed by a procedure to repeat the problem. |
Fix: | Followed by a diff command comparing the old and new source files or a description of how to solve the problem. Include the Fix: line only if the Fix keyword is specified in the Index: line. |
Redistribution of Bug Reports
Bug reports can be redistributed according to index information in the MailDirectory/.redist file. The MailDirectory/.redist file is examined for a line beginning with an index name followed by a tab. Following the index name and tab is a comma-separated list of mail addresses to receive copies of bug reports. If the list continues on multiple lines, each line but the last must end with a \ (backslash). The following is an example of index information in the .redist file:
myindex joe@hal,mary@mercutio,martha@banquo,sarah@mephisto,\
dee@hamlet,dewayne@ceasar
Item | Description |
---|---|
-b BugUserName | Specifies a new user ID. If the -b BugUserName flag is not specified, the bugfiler command defaults to the login name. |
-d | Sets debugging on. When the -d flag is specified, the bugfiler command sends error messages to standard output. |
-m MessageMode | Sets message protection. The -m MessageMode flag specifies file permissions, using hexadecimal format, for all files that the bugfiler command creates. |
hadley:"|/usr/lib/bugfiler -d -m 755 -b hadley
/home/hadley/bugdir"
When placed in the /etc/aliases file,
this line starts debugging, sets file permissions to rwxr-xr-x,
declares hadley as the BugUserName, and specifies
the /home/hadley/bugdir directory.Date: Mon, 27 Nov 89 11:26:15 -600
From: a@B
Subject: Read not setting errno correctly
Index: LFS/rdwr.c workstation 3.1
Description: Read not setting errno correctly
Repeat-By: Start an NFS daemon and it receives errors. Errno is
zero.
Item | Description |
---|---|
/etc/ aliases | Contains system-wide aliases for the mail transport system. |
usr/sbin/sendmail | Contains the mail delivery program. |
MailDirectory/summary | Contains the bug report summaries. |
BugUserName/MailDirectory/.ack | Contains the message sent in acknowledgment. |
BugUserName/MailDirectory/.format | Contains the message sent when format errors are detected. |
MailDirectory/.redist | Contains the redistribution list for bug reports. |