OpenSS7 STREAMS Utilities -- problem reports.  2007-06-24
$Id$
Copyright (c) 2001-2007  OpenSS7 Corporation. <http://www.openss7.com/>
Copyright (c) 1997-2000  Brian Bidulock <bidulock@openss7.org>
See the end for copying conditions (for this file).

7.2 Problem Reports
===================

7.2.1 Problem Report Guidelines
-------------------------------

Problem reports in the following categories should include a log file
as indicated in the table below:

`./configure'
     A problem with the configuration process occurs that causes the
     `./configure' command to fail.  The problem report must include
     the `config.log' file that was generated by `configure'.

`make compile.log'
     A problem with the build process occurs that causes the `make'
     command to fail.  Perform `make clean' and then `make compile.log'
     and attach the `config.log' and `compile.log' files to the problem
     report.

`make check.log'
     A problem occurs with the `make check' target that causes it to
     fail.  Perform `make check-clean check.log' and attach the
     `config.log', `compile.log' and `check.log' files to the problem
     report.

`sudo make install.log'
     A problem occurs with `sudo make install' that causes it to fail.
     Perform `sudo make uninstall' and `sudo make install.log' and
     attach the `config.log', `compile.log', `check.log', and
     `install.log' files to the problem report.

`[sudo] make installcheck.log'
     A problem occurs with the `make installcheck' target that causes
     the test suite to fail.  Attach the resulting
     `tests/testsuite.log' and `installcheck.log' file to the problem
     report.  There is no need to attach the other files as they are
     included in `tests/testsuite.log'.

`[sudo] make uninstall.log'
     A problem occurs with the `make uninstall' target that causes the
     test suite to fail.  Perform `sudo make uninstall.log' and attach
     the `config.log', `compile.log', `check.log', `install.log',
     `installcheck.log', `tests/testsuite.log' and `uninstall.log' file
     to the problem report.

`[sudo] make remove.log'
     A problem occurs with the `make remove' target that causes the
     test suite to fail.  Perform `sudo make remove.log' and attach the
     `config.log', `compile.log', `check.log', `install.log',
     `installcheck.log', `tests/testsuite.log' and `remove.log' file to
     the problem report.


For other problems that occur during the use of the `OpenSS7 STREAMS
Utilities' package, please write a test case for the test suite that
recreates the problem if one does not yet exist and provide a test
program patch with the problem report.  Also include whatever log files
are generated by the kernel (`cmn_err(9)') or by the `strerr(8)' or
`strace(1)' facilities (`strlog(9)').

7.2.2 Generating Problem Reports
--------------------------------

`The OpenSS7 Project' uses the `GNU GNATS' system for problem
reporting.  Although the `send-pr' tool from the `GNU GNATS' package
can be used for bug reporting to the project's `GNATS' database using
electronic mail, it is not always convenient to download and install the
`GNATS' system to gain access to the `send-pr' tool.

Therefore, the `OpenSS7 STREAMS Utilities' package provides the
`send-pr' shell script that can be used for problem reporting.  The
`send-pr' shell script can invoked directly and is a work-alike for the
`GNU' `send-pr' tool.

The `send-pr' tool takes the same flags and can be used in the same
fashion, however, whereas `send-pr' is an interactive tool(1),
`send-pr' is also able to perform batch processing.  Whereas `send-pr'
takes its field information from local databases or from using the
`query-pr' C-language program to query a remote database, the `send-pr'
tool has the field database internal to the tool.

Problem reports can be generate using `make', see `Problem Report
Targets', in the manual.  An example of how simple it is to generate a
problem report is illustrated in *Note autopr:ex0::.  

     % make pr
     SEND-PR:
     SEND-PR: send-pr:  send-pr was invoked to generate an external report.  An
     SEND-PR: automated problem report has been created in the file named
     SEND-PR: 'problem.pr' in the current directory.  This problem report can
     SEND-PR: be sent to bugs@openss7.org by calling this script as
     SEND-PR: '/home/brian/os7/scripts/send-pr --file="problem.pr"'.
     SEND-PR:
     SEND-PR: It is possible to edit some of the fields before sending on the
     SEND-PR: problem report.  Please remember that there is NO WARRANTY.  See
     SEND-PR: the file 'COPYING' in the top level directory.
     SEND-PR:
     SEND-PR: Please do not send confidential information to the bug report
     SEND-PR: address.  Inspect the file 'problem.pr' for confidential
     SEND-PR: information before mailing.
     SEND-PR:
     % vim problem.pr  # <--- follow instructions at head of file
     % make send-pr

Example 7.6: _Invoking Problem Report Generation_


Using the `make pr' target to generate a problem report has the
advantages that it will assemble any available `*.log' files in the
build directory and attach them to the problem report.

---------- Footnotes ----------

(1) `send-pr' launches the user's EDITOR to edit the problem report
before submitting it.

7.2.3 Automatic Problem Reports
-------------------------------

The `OpenSS7 STREAMS Utilities' package also provides a feature for
automatic problem report generation that meets the problem report
submission guidelines detailed in the preceding sections.

Whenever a logging makefile target (see `Logging Targets', in the
manual) is invoked, if the primary target fails, the `send-pr' shell
script is invoked to automatically generate a problem report file
suitable for the corresponding target (as described above under see
`Problem Report Guidelines', in the manual).  An example is shown in
*Note autopr:ex1::.

     % make compile.log
     ...
     ...
     make[5]: *** [libXNSdrvs_a-ip.o] Error 1
     make[5]: Leaving directory `/u6/buildel4/strxns'
     make[4]: *** [all-recursive] Error 1
     make[4]: Leaving directory `/u6/buildel4/strxns'
     make[3]: *** [all] Error 2
     make[3]: Leaving directory `/u6/buildel4/strxns'
     make[2]: *** [all-recursive] Error 1
     make[2]: Leaving directory `/u6/buildel4'
     make[1]: *** [all] Error 2
     make[1]: Leaving directory `/u6/buildel4'
     SEND-PR:
     SEND-PR: send-pr:  Make target compile.log failed in the compile stage.  An
     SEND-PR: automated problem report has been created in the file named
     SEND-PR: 'problem.pr' in the current directory.  This problem report can
     SEND-PR: be sent to bugs@openss7.org by calling 'make send-pr'.
     SEND-PR:
     SEND-PR: It is possible to edit some of the fields before sending on the
     SEND-PR: problem report.  Please remember that there is NO WARRANTY.  See
     SEND-PR: the file 'COPYING' in the top level directory.
     SEND-PR:
     SEND-PR: Please do not send confidential information to the bug report
     SEND-PR: address.  Inspect the file 'problem.pr' for confidential
     SEND-PR: information before mailing.
     SEND-PR:
     % vim problem.pr  # <--- follow instructions at head of file
     % make send-pr

Example 7.7: _Problem Report from Failed Logging Target_


7.2.4 Stand Alone Problem Reports
---------------------------------

The `OpenSS7 STREAMS Utilities' package installs the `send-pr' script
and its configuration file `send-pr.config' in `${libexecdir}/strutil'
along with the validation `testsuite', see see `Test Suites', in the
manual.  As with the `testsuite', this allows the `send-pr' script to
be used for problem report generation on an installed system that does
not have a build directory.

An example of invoking the package `testsuite' and then generating a
problem report for failed cases is shown in *Note autopr:ex2::.

     % [sudo] /usr/libexec/strutil/testsuite
     % # test cases failed...
     % /usr/libexec/strutil/send-pr
     SEND-PR:
     SEND-PR: send-pr:  send-pr was invoked to generate an external report.  An
     SEND-PR: automated problem report has been created in the file named
     SEND-PR: 'problem.pr' in the current directory.  This problem report can
     SEND-PR: be sent to bugs@openss7.org by calling this script as
     SEND-PR: '/usr/libexec/strutil/send-pr --file problem.pr'.
     SEND-PR:
     SEND-PR: It is possible to edit some of the fields before sending on the
     SEND-PR: problem report.  Please remember that there is NO WARRANTY.  See
     SEND-PR: the file 'COPYING' in the top level directory.
     SEND-PR:
     SEND-PR: Please do not send confidential information to the bug report
     SEND-PR: address.  Inspect the file 'problem.pr' for confidential
     SEND-PR: information before mailing.
     SEND-PR:
     % vim problem.pr  # <--- follow instructions at head of file
     % /usr/libexec/strutil/send-pr --file problem.pr

Example 7.8: _Invoking `send-pr' Directly_


The advantage of the approach shown in the example is that the
`send-pr' script is capable of collecting the `testsuite.log' file and
the failed test cases and debugging scripts from the `testsuite.dir'
directory and including them in the problem report, as well as all
package pertinent information from the installed `send-pr.config'.

7.3 Known Problems
==================

`The OpenSS7 Project' does not ship software with known bugs.  All bugs
are unknown.

Verified behaviour is that behaviour that has been verified by
conformance test suites that are shipped with the `OpenSS7 STREAMS
Utilities' package.

Unverified behaviour may contain unknown bugs.

Please remember that there is *NO WARRANTY*.

See also `Bugs', in the manual, or file `BUGS' in the release directory.

-----

=========================================================================

 Copyright (c) 2001-2007  OpenSS7 Corporation  <http://www.openss7.com/>
 Copyright (c) 1997-2000  Brian Bidulock  <bidulock@openss7.org>

 All Rights Reserved.

 Permission is granted to make and distribute verbatim copies of this
 manual provided the copyright notice and this permission notice are
 preserved on all copies.

 Permission is granted to copy and distribute modified versions of this
 manual under the conditions for verbatim copying, provided that the
 entire resulting derived work is distributed under the terms of a
 permission notice identical to this one

 Since the Linux kernel and libraries are constantly changing, this
 manual page may be incorrect or out-of-date.  The author(s) assume no
 responsibility for errors or omissions, or for damages resulting from
 the use of the information contained herein.  The author(s) may not
 have taken the same level of care in the production of this manual,
 which is licensed free of charge, as they might when working
 professionally.

 Formatted or processed versions of this manual, if unaccompanied by the
 source, must acknowledge the copyright and authors of this work.

-------------------------------------------------------------------------

 U.S. GOVERNMENT RESTRICTED RIGHTS.  If you are licensing this Software
 on behalf of the U.S. Government ("Government"), the following
 provisions apply to you.  If the Software is supplied by the Department
 of Defense ("DoD"), it is classified as "Commercial Computer Software"
 under paragraph 252.227-7014 of the DoD Supplement to the Federal
 Acquisition Regulations ("DFARS") (or any successor regulations) and
 the Government is acquiring only the license rights granted herein (the
 license rights customarily provided to non-Government users).  If the
 Software is supplied to any unit or agency of the Government other than
 DoD, it is classified as "Restricted Computer Software" and the
 Government's rights in the Software are defined in paragraph 52.227-19
 of the Federal Acquisition Regulations ("FAR") (or any successor
 regulations) or, in the cases of NASA, in paragraph 18.52.227-86 of the
 NASA Supplement to the FAR (or any successor regulations).

=========================================================================

 Commercial licensing and support of this software is available from
 OpenSS7 Corporation at a fee.  See http://www.openss7.com/

=========================================================================
vim: ft=README tw=72 nocindent nosmartindent formatoptions+=tcqlorn
