diff options
author | Thorsten Lockert <tholo@cvs.openbsd.org> | 1996-06-27 21:11:44 +0000 |
---|---|---|
committer | Thorsten Lockert <tholo@cvs.openbsd.org> | 1996-06-27 21:11:44 +0000 |
commit | 1110f451a70507ded794d18ee2ba775b73688ccb (patch) | |
tree | fe721b2a22079e342bcffafa5038f7b9044ecba6 | |
parent | c1dcadc45dc7b089aa1bb7d2deec72e596c20444 (diff) |
We now support bug reports using a modified version of send-pr(1) that
will not interfere with a possible local installation of GNATS
-rw-r--r-- | etc/mtree/4.4BSD.dist | 7 | ||||
-rw-r--r-- | gnu/usr.bin/Makefile | 4 | ||||
-rw-r--r-- | gnu/usr.bin/send-pr/COPYING | 339 | ||||
-rw-r--r-- | gnu/usr.bin/send-pr/ChangeLog | 761 | ||||
-rw-r--r-- | gnu/usr.bin/send-pr/INSTALL | 83 | ||||
-rw-r--r-- | gnu/usr.bin/send-pr/MANIFEST | 20 | ||||
-rw-r--r-- | gnu/usr.bin/send-pr/Makefile | 101 | ||||
-rw-r--r-- | gnu/usr.bin/send-pr/Makefile.in | 297 | ||||
-rw-r--r-- | gnu/usr.bin/send-pr/README | 43 | ||||
-rw-r--r-- | gnu/usr.bin/send-pr/aclocal.m4 | 72 | ||||
-rw-r--r-- | gnu/usr.bin/send-pr/categ.texi | 123 | ||||
-rw-r--r-- | gnu/usr.bin/send-pr/categories | 19 | ||||
-rw-r--r-- | gnu/usr.bin/send-pr/configure | 728 | ||||
-rw-r--r-- | gnu/usr.bin/send-pr/configure.in | 75 | ||||
-rw-r--r-- | gnu/usr.bin/send-pr/fields.texi | 519 | ||||
-rw-r--r-- | gnu/usr.bin/send-pr/install-sid.sh | 82 | ||||
-rw-r--r-- | gnu/usr.bin/send-pr/s-usage.texi | 519 | ||||
-rw-r--r-- | gnu/usr.bin/send-pr/send-pr-el.in | 798 | ||||
-rw-r--r-- | gnu/usr.bin/send-pr/send-pr.man | 272 | ||||
-rw-r--r-- | gnu/usr.bin/send-pr/send-pr.sh | 530 | ||||
-rw-r--r-- | gnu/usr.bin/send-pr/send-pr.texi | 657 | ||||
-rw-r--r-- | gnu/usr.bin/send-pr/states.texi | 53 |
22 files changed, 3 insertions, 6099 deletions
diff --git a/etc/mtree/4.4BSD.dist b/etc/mtree/4.4BSD.dist index 620030e2427..4c84ab69dc1 100644 --- a/etc/mtree/4.4BSD.dist +++ b/etc/mtree/4.4BSD.dist @@ -1,4 +1,4 @@ -# $OpenBSD: 4.4BSD.dist,v 1.17 1996/06/18 10:31:26 deraadt Exp $ +# $OpenBSD: 4.4BSD.dist,v 1.18 1996/06/27 21:11:32 tholo Exp $ /set type=dir uname=root gname=wheel mode=0755 # . @@ -807,11 +807,6 @@ quiz.db # ./usr/share/games .. -# ./usr/share/gnats -gnats -# ./usr/share/gnats -.. - # ./usr/share/groff_font groff_font diff --git a/gnu/usr.bin/Makefile b/gnu/usr.bin/Makefile index 339a4f9735a..64647bc7ac5 100644 --- a/gnu/usr.bin/Makefile +++ b/gnu/usr.bin/Makefile @@ -1,8 +1,8 @@ -# $OpenBSD: Makefile,v 1.7 1996/04/23 00:15:44 niklas Exp $ +# $OpenBSD: Makefile,v 1.8 1996/06/27 21:11:33 tholo Exp $ # $NetBSD: Makefile,v 1.35 1996/04/03 21:20:52 chuck Exp $ SUBDIR+= bc cpio cvs dc diff diff3 gawk grep groff -SUBDIR+= gzip rcs sdiff send-pr sort tar texinfo +SUBDIR+= gzip rcs sdiff sendbug sort tar texinfo # some ports don't use the tool chain in /usr/src .if (${MACHINE_ARCH} != "alpha") && (${MACHINE_ARCH} != "mips") diff --git a/gnu/usr.bin/send-pr/COPYING b/gnu/usr.bin/send-pr/COPYING deleted file mode 100644 index 515b6d33342..00000000000 --- a/gnu/usr.bin/send-pr/COPYING +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 675 Mass Ave, Cambridge, MA 02139, USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -he GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - Appendix: How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) 19yy <name of author> - - 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. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/gnu/usr.bin/send-pr/ChangeLog b/gnu/usr.bin/send-pr/ChangeLog deleted file mode 100644 index 8def6a9c6b7..00000000000 --- a/gnu/usr.bin/send-pr/ChangeLog +++ /dev/null @@ -1,761 +0,0 @@ -Thu Aug 3 13:32:39 1995 Brendan Kehoe <brendan@lisa.cygnus.com> - - * Makefile.in (VERSION): Up to 3.95. - -Wed Jul 26 18:26:31 1995 Brendan Kehoe <brendan@lisa.cygnus.com> - - * Makefile.in (install-gnats-dist): Also put in INSTALL and MANIFEST. - -Mon Jul 17 10:11:11 1995 Brendan Kehoe <brendan@lisa.cygnus.com> - - * Makefile.in (VERSION): Up to 3.93. - - * Makefile.in (prefix): Use @prefix@, not /usr/local, for the default. - -Thu Jul 13 13:02:52 1995 Brendan Kehoe <brendan@lisa.cygnus.com> - - * send-pr-el.in (gnats::position-on-field): Add new arg QUIET. - Only give the error if QUIET is nil. - (gnats::field-contents): Pass T to position-on-field. - - * Makefile.in (VERSION): Update to 3.92. - -Wed Jul 12 12:26:49 1995 Brendan Kehoe <brendan@lisa.cygnus.com> - - * Makefile.in (EMACS): Define variable to use ../emacs19/src/emacs - if it's there. - (send-pr.elc): Use that instead of just `emacs'. - -Fri Jul 7 13:43:48 1995 Brendan Kehoe <brendan@lisa.cygnus.com> - - * aclocal.m4: Use AC_MSG_* for AC_LISPDIR. - * configure: Regenerate. - -Thu Jul 6 19:22:53 1995 Brendan Kehoe <brendan@lisa.cygnus.com> - - * send-pr-el.in (gnats::get-config): Also match `.:' for NetBSD. - -Mon Jun 12 08:32:57 1995 Brendan Kehoe (brendan@lisa.cygnus.com) - - * Makefile.in (stamp-gnats): Don't depend on ../gnats/Makefile. - -Fri Mar 24 15:04:58 1995 Jason Merrill <jason@phydeaux.cygnus.com> - - * aclocal.m4 (AC_LISPDIR): Tweak quoting to work with bash. - * configure: Regenerate. - -Mon Feb 13 02:04:13 1995 Brendan Kehoe (brendan@lisa.cygnus.com) - - * send-pr.sh: Be a little more elegant about how we set LOGNAME. - -Sun Feb 12 22:59:44 1995 Brendan Kehoe (brendan@cygnus.com) - - * configure.in: Only set GNATS_SITE and GNATS_ADDR if we aren't - given environment variables with them set. - * configure: Generated new one. - -Fri Feb 3 12:10:35 1995 J.T. Conklin <jtc@rtl.cygnus.com> - - * send-pr.sh: Added missing ` (backquote) to expression used to - determine whether TMPDIR ends in a slash. - -Tue Jan 31 10:48:39 1995 J.T. Conklin <jtc@rtl.cygnus.com> - - * send-pr.sh: Use REPLYTO instead of REPLY_TO. Set REPLYTO to - LOGNAME if it is unset. - -Fri Dec 30 16:52:40 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> - - * Makefile.in (install-norm): Stop make from printing an error - message of send-pr.elc does not exist. - -Thu Oct 6 13:05:19 1994 Brendan Kehoe (brendan@lisa.cygnus.com) - - * send-pr-el.in (gnats::get-config): Go to point-min after running - the shell command on the region. - (send-pr::start-up): Likewise, after inserting the site template. - - * send-pr.sh (TMPDIR): If TMPDIR ends in a slash, cut it off to - avoid emacs send-pr not working. - -Wed Oct 5 13:11:27 1994 Brendan Kehoe (brendan@lisa.cygnus.com) - - * send-pr-el.in (send-pr::start-up): Call insert-template instead - of running `send-pr -P' every time. - (send-pr::template-alist): Declare. - (send-pr::insert-template): New function. - - * send-pr-el.in (gnats::get-config): Check get-buffer before using - looking-at, since shell-command-on-region wipes it out if there's - no output (which will be the case for variables not set in the - config file). - - * send-pr-el.in (gnats::find-safe-default-directory): New function. - -Thu Sep 29 18:37:34 1994 Brendan Kehoe (brendan@lisa.cygnus.com) - - * aclocal.m4 (AC_LISPDIR): Set LISPDIR using commas in the sed, - not slashes. - * configure: Generate a new one. - -Tue Aug 30 13:55:22 1994 Brendan Kehoe (brendan@lisa.cygnus.com) - - * aclocal.m4: Change from Jason, to try to use PREFIX on the - LISPDIR if possible before going with /usr/local. - -Mon Aug 1 11:31:47 1994 Brendan Kehoe (brendan@lisa.cygnus.com) - - * send-pr-el.in (send-pr::start-up): Always start at the beginning - of the buffer when searching for `^SEND-PR:'. - -Sun Jul 17 19:13:17 1994 Jason Molenda (crash@sendai.cygnus.com) - - * categories: add `dos' for real this time. - -Wed May 11 15:46:48 1994 Bill Cox (bill@rtl.cygnus.com) - - * Makefile.in: Delete install commands which attempt to - 'chown' the script to user 'gnats', who not exist in - the end-user's system. - -Fri May 6 17:40:12 1994 Jason Molenda (crash@sendai.cygnus.com) - - * categories: add 'dos', 'gcov', 'gasp', and 'install'. - -Thu Apr 21 12:55:52 1994 James Clark (jjc@jclark.com) - - * send-pr.sh (ORGANIZATION): don't use quotes in the ${ORG-"\t$ORG_C"} - thing. It tickles a bug in bourne shell. - -Wed Apr 6 17:16:28 1994 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr-el.in (gnats::get-config): Use shell-command-on-region - instead of shell-command. - (send-pr::start-up): Ditto. - -Wed Apr 6 17:14:36 1994 Cheryl Bien (bien@aero.org) - - * send-pr.sh (ORIGINATOR): Use awk instead of cut. - -Tue Mar 22 17:12:24 1994 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr.sh: DATADIR is under $(prefix), not $(exec_prefix). - -Sat Jan 15 19:12:45 1994 Jason Merrill (jason@deneb.cygnus.com) - - * aclocal.m4 (AC_LISPDIR): Handle case where $(prefix) is not - specified on the command line. - -Mon Jan 10 17:21:33 1994 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr-el.in (send-pr:submit-pr): If called from command line, - save buffer on C-c C-c. - - * send-pr.sh: Clean up template. - - * Makefile.in, configure.in: Don't use AC_PROG_INSTALL after all. - - * aclocal.m4 (AC_LISPDIR): Check for --with-lispdir option. - -Fri Jan 7 11:43:02 1994 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr-el.in (gnats:change-field): If not called interactively, - just use the default value. - - * Makefile.in (uninstall): Fix. - - * configure.in: Add call to AC_PROG_INSTALL. - - * Makefile.in (INSTALL*): Use it. - - * send-pr.sh: Only modify GNATS_ADDR if USER_GNATS_SITE is different - from GNATS_SITE. - - * send-pr-el.in (send-pr:submit-pr): If the user ran send-pr from the - command line with $EDITOR == emacs, don't submit the PR here. - (send-pr:::spawn-to-send): Variable to control this behavior. - -Thu Jan 6 22:51:15 1994 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr-el.in (send-pr::fields): Default for Submitter-Id should - be SUBMITTER, not DEFAULT_SUBMITTER. - - * aclocal.m4 (AC_PASSWD): New macro to figure out how to read the - passwd database (cat, ypcat, niscat). - - * configure.in: Use it. - - * Makefile.in (PASSWD, send-pr): Use it. - - * send-pr.sh: Use it. - -Fri Dec 10 11:48:44 1993 Jason Merrill (jason@deneb.cygnus.com) - - * Version 3.2 - -Thu Dec 2 09:11:40 1993 Jason Merrill (jason@deneb.cygnus.com) - - * Makefile.in (mostlyclean): Don't delete version.texi. - (realclean): Do delete version.texi. - -Tue Nov 30 15:37:59 1993 Jason Merrill (jason@deneb.cygnus.com) - - * Makefile.in (install-gnats-dist): Use send-pr.1 rather than - send-pr.man. - -Mon Nov 22 15:43:40 1993 Jason Merrill (jason@deneb.cygnus.com) - - * Makefile.in (install-gnats-dist): Make sure $(datadir)/gnats/dist - is writable by user gnats. - -Fri Nov 19 16:53:53 1993 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr-el.in (gnats::emacs-19p): Avoid confusion wrt Epoch. - -Fri Nov 12 16:27:00 1993 Jason Merrill (jason@deneb.cygnus.com) - - Fri Nov 12 15:48:01 1993 "Jonathan I. Kamens" (jik@security.ov.com) - - * send-pr.sh: Deal with categories longer than 12 chars. - -Wed Nov 3 12:22:22 1993 Jason Merrill (jason@deneb.cygnus.com) - - * Makefile.in (install-tools): Always install Cygnus category list. - (install-categories): Always install categories as 'cygnus'. - -Tue Nov 2 21:43:12 1993 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr-el.in (gnats:change-field): If not currently in a field, - deal. - (gnats::current-field): Ditto. - (gnats::set-field): save-excursion. - (gnats::set-mail-field): Ditto. - -Tue Nov 2 18:33:08 1993 Jeffrey Osier (jeffrey@thepub.cygnus.com) - - * .Sanitize: fix filenames - * Makefile.in (send-pr.info): depends on other .texi files - * *.texi: more fixes to bring up to par - -Mon Nov 1 10:05:10 1993 Jeffrey Osier (jeffrey@thepub.cygnus.com) - - * gnats/*.texi, send-pr/*.texi, gnats/man/*.man: up to date - -Wed Oct 27 18:49:39 1993 Jason Merrill (jason@deneb.cygnus.com) - - * Makefile.in (send-pr.info): Fix - (send-pr.dvi): Fix - -Wed Oct 27 14:14:12 1993 Jeffrey Osier (jeffrey@cygnus.com) - - * .Sanitize: reflect new doc strategy - * .Makefile.in: reflect new doc strategy - * send-pr.texi, s-usage.texi, fields.texi, categ.texi, states.texi: - The New Doc Strategy. Some info is also included into - the regular GNATS docs, so it's modular now. - -Tue Oct 26 16:20:08 1993 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr-el.in (send-pr:submit-pr): Use the right site - - * Makefile.in (install-gnats-dist): Lose the -o gnats bunk. - Change $GNATS_ROOT/gnats-dist to $(datadir)/gnats/dist - -Wed Oct 20 18:09:20 1993 Jason Merrill (jason@deneb.cygnus.com) - - * configure.in (MAIL_AGENT): Also look in /usr/ucblib. - - * Makefile.in (uninstall): Don't use {}. - -Tue Oct 19 14:06:56 1993 Jason Merrill (jason@deneb.cygnus.com) - - * Makefile.in (send-pr.el): Subst in SUBMITTER. - (install-gnats-dist): Make it work. - - * send-pr.sh: On second thought, don't try to guess the FQDN at all. - - * send-pr.sh (HOSTNAME): Massage hosts where `hostname` does not - produce the FQDN, but `hostname`.`domainname` does. - - * send-pr-el.in (send-pr:send-pr): On some Emacs 18ses, - switch-to-buffer returns nil when it succeeds. Ignore it. - -Mon Oct 18 16:10:59 1993 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr.sh: Deal with echo -n / echo \c stuff, - massage SunOS 4.1.3 sendmail. - Fix $0/$COMMAND bug in awk script. - - * aclocal.m4: Create, with AC_FIND_PROGRAM and AC_ECHON. - - * Makefile.in (VPATH): Add def. - (GNATS_ROOT, etc): Replace default values with @@ stuff. - (CC, RANLIB): Give default (unused) values. - (most targets): Change @@s to xxs. - (send-pr): Subst in ECHON. - (install-categories): Don't use -o. - -Thu Oct 14 22:12:27 1993 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr.sh: Don't use 'eval' when calling MAIL_AGENT, as it - breaks Ultrix sh and wasn't useful anyway. - -Wed Oct 13 15:55:52 1993 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr.sh (GNATS_SITE): Move after config, subst in. - - * Makefile.in (MAIL_AGENT): Add definition. - (SEND_PR_INSTALL): Dependencies of install. - (send-pr): Subst in MAIL_AGENT. - (install): Use SEND_PR_INSTALL. - (install-norm): Don't install categories file. - (install-categories): New target to install categories file. - (install-gnats-dist): Look for send-pr.texi in the right place. - (stamp-gnats): Deal with MAIL_AGENT and SEND_PR_INSTALL - -Tue Oct 12 15:50:00 1993 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr-el.in (setenv): Define for old emacses - - Tue Oct 12 14:36:28 1993 JT Conklin (conklin@talisman.kaleida.com) - - * send-pr.sh (COMMAND): Add missing quote. - -Fri Oct 1 15:06:01 1993 Jason Merrill (jason@deneb.cygnus.com) - - * Makefile.in (VERSION): Bump to 3.01.5 - -Tue Sep 28 13:35:45 1993 Jason Merrill (jason@deneb.cygnus.com) - - * Makefile.in (install-gnats-dist): Fix creation of send-pr-el.in - - * send-pr-el.in (send-pr::start-up): Clear cruft inserted by - bdamaged .cshrc files - - * Makefile.in (send-pr.elc): New target - (uninstall): Now does something - - * send-pr-el.in (gnats::functionp): Fix ref to free var - -Fri Sep 17 10:22:26 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) - - * Makefile.in (install-gnats): add missing backslash - -Fri Sep 10 17:03:22 1993 Jason Merrill (jason@deneb.cygnus.com) - - * Makefile.in (Makefile): Make it work with stamp-gnats - (DEFAULT_RELEASE): Make more general - -Thu Sep 9 17:58:50 1993 Jason Merrill (jason@deneb.cygnus.com) - - * Makefile.in: Add appropriate defaults for reporting bugs to Cygnus - Remove problem quotes - Depend on ../install.sh - - * send-pr-el.in: Fix various Emacs 18 problems - -Wed Sep 8 16:27:35 1993 Jason Merrill (jason@deneb.cygnus.com) - - * Makefile.in (install-gnats): Remove directory creation stuff - (install-gnats-dist): Ditto - - * send-pr-el.in (gnats:change-field): Allow the caller to specify - a default value [used by update-responsible]. - -Tue Sep 7 14:12:35 1993 Jason Merrill (jason@deneb.cygnus.com) - - * Makefile.in (install-gnats-dist): Unset submitter for gnats-dist - - * send-pr.sh: Made install-sid message more explicit - -Fri Sep 3 14:10:27 1993 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr.sh: Change $LIBDIR to $DATADIR - - * send-pr-el.in (various): Replace libdir with datadir - (send-pr::start-up): Support mail-self-blind - (gnats::mail-position-on-field): Create field if it's not there - (gnats:previous-field): Check for keyword before point first - (gnats::looking-after): Revert from (point-marker) to (point) - - * Makefile.in (stamp-gnats): Depend on Makefile - (send-pr.texi): sed(1) in version number and usage info so that - clients only get single texi file. - (various): Change $(libdir) to $(datadir) - (install): Default to install-gnats, since the rule checks for ../gnats - (stamp-gnats): Replace install dependencies - - * send-pr.texi: Move to send-pr.texi.in, change version number to - @VERSION@ - -Tue Aug 31 12:02:14 1993 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr-el.in (send-pr:submit-pr): Bury the right buffer. - (send-pr::fields): Move all possible values and defaults - into this monolithic table - (send-pr::start-up): Replace all the querys with a mapcar over - send-pr::fields - (gnats::competing-read-and-replace): Lose - (gnats::find-field): Lose - (gnats::position-on-field): Create - (gnats::mail-position-on-field): Create - (gnats::field-contents): Create - (gnats::functionp): Create - (gnats::field-values): Create - (gnats::field-default): Create - (gnats::field-type): Create - (gnats::field-action): Create - (send-pr::maybe-change-field): Create - (gnats:change-field): Create, bind to ^C^F - (gnats::set-field): Create - (gnats::set-mail-field): Create - (gnats:beginning-of-field): Create - (gnats::current-field): Create - (gnats::after-keyword): Fix doc string - (gnats::patch-exec-path): Don't use send-pr::err-buffer-name - (gnats::get-value-from-shell): Ditto - -Fri Aug 27 08:34:58 1993 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr-el.in (gnats::*-keyword): Add grouping - - * send-pr.sh: Accommodate shells that don't support functions. - - * send-pr-el.in (send-pr:submit-pr): Fix behavior on send - -Thu Aug 26 14:31:21 1993 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr-el.in (send-pr::set-sites): Use send-pr:libdir, not - gnats:libdir. - (send-pr::start-up): Put buffer in send-pr-mode. - (send-pr:submit-pr): Make sure err-buffer exists before trying to - use it. - (send-pr:send-pr-mode): Allow whitespace after keyword in - paragraph-separate - - * send-pr.sh (MAIL_AGENT): Use /usr/lib/sendmail rather than /bin/mail - (ORIGINATOR): remove $TEMP when done - (die): New function to massage buggy Sun sh - (EXIT_STATUS): New variable to massage buggy Sun sh - Don't parse To: and CC: headers any more - Check for failure of MAIL_AGENT - -Tue Aug 24 16:57:13 1993 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr-el.in (send-pr:libdir): Use @'s, be const - (send-pr::categories): Remove - (send-pr:::categories): Add (buffer-local) - (send-pr::category-alist): Add - (send-pr:::site): Add - (send-pr::set-categories): Support multiple sites - (send-pr::sites): Don't update without arg - (send-pr::pr-buffer): Add -name to end, fix refs to use buffer - (send-pr::err-buffer): Ditto - (send-pr:send-pr): Always use site name, only ask about erasing - report if it's been modified. - (send-pr::start-up): Check for errors from send-pr -P - Don't kill random buffers - Remove useless progn - (gnats::completing-read-and-replace): Fix doc string - (gnats::set-variable-from-shell): Change to get-var... - Check for errors - - * send-pr.sh (GNATS_ROOT): Put definition on newline so configure - can find it - Ask user whether or not to send the PR even if it's valid - -Mon Aug 23 12:31:00 1993 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr-el.in (gnats::releases): Use send-pr:default-release - - * send-pr.sh (LIBDIR): Try looking under GCC_EXEC_PREFIX for - the gnats stuff if it's not in the right place - Move up TMPDIR stuff so the ORIGINATOR stuff can use $TEMP - Remove 'g' from COMMAND sed pattern - Remove 'p' from options list - - * send-pr.input: Fix C-u M-x send-pr description - -Fri Aug 20 20:34:12 1993 Jason Merrill (jason@rtl.cygnus.com) - - * send-pr.sh: Add long options, add -h, remove -p and -r - -Thu Aug 19 14:59:24 1993 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr-el.in (gnats::push): Move from gnats-el.in - - * Makefile.in (send-pr.el): Subst in $(libdir) and $(GNATS_SITE) - - * send-pr-el.in (send-pr:default-site): Create - (send-pr:send-pr): Ask for site name if arg - (send-pr::start-up): Use site name if non-nil - (send-pr::set-sites): Create list of known sites from listing of - LIBDIR/gnats - - * send-pr.sh (ORIGINATOR): Remove ''s around ^$LOGNAME - Redirect stderr from ypcat to /dev/null - Use $TEMP as a temp file to avoid quoting problems - - * Makefile.in (send-pr): Subst in $(SUBMITTER) - (stamp-gnats): Ditto - - * send-pr.sh (SUBMITTER): Get substed - - * send-pr-el.in (gnats::get-config): Trim newline from echo output - rather than using non-portable -n switch - (send-pr:submit-pr): Indicate when send-pr is done - -Wed Aug 18 15:14:22 1993 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr-el.in (send-pr-mode-map): Move setup into defvar - Reorganize namespace (put some things under send-pr:, others - under gnats:) - (send-pr:start-up): Use mail-default-reply-to - (send-pr:submit-pr): If in a Server buffer, do server-buffer-done - rather than spawning another send-pr. - (gnats::get-config): Add, use - Juggle contents of send-pr.el and gnats.el to avoid duplication - and name clashing (like with gnats-set-categories) - (gnats::set-variable-from-shell): kill the buffer when done - - * send-pr.sh: Don't complain about $SUBMITTER if using -f - Fix typos - -Tue Aug 17 19:31:27 1993 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr.sh: Don't loop if called from Emacs - -Mon Aug 16 14:59:29 1993 Jason Merrill (jason@deneb.cygnus.com) - - * Makefile.in (send-pr.el): Substitute in GNATS_ROOT - - * send-pr-el.in (send-pr-start-up): Set $GNATS_ROOT to GNATS-ROOT - Add definition of GNATS-ROOT - - * send-pr.sh: Use GNATS_ROOT in the environment - -Fri Aug 13 12:00:16 1993 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr.sh: Fix grammar in send-pr template - - * install-sid.sh: Change grep -s to grep > /dev/null for greps - that just don't shut up (i.e. POSIX) - -Tue Aug 10 13:25:35 1993 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr-el.in (send-pr-mode): Change paragraph-separate and - paragraph-start to include "^>[-A-Za-z]:" (PR 3166) - -Mon Aug 9 15:37:00 1993 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr.sh: Added >Fix: field (re PR 1310) - If errors are found, allow user to edit PR again. - Remove [ -z $FORCE ] since $FORCE appears nowhere else - Add contents of CC: field to $GNATS_ADDR before sending (PR 2298) - -Wed Aug 4 20:33:50 1993 Jason Merrill (jason@deneb.cygnus.com) - - * send-pr.sh: Snarf configuration from GNATS_ROOT/gnats-adm/config - if it exists. - - * install-sid.sh: Fixed startup so that calling with no arguments - will print usage info and exit - Added --version switch - -Thu Jul 22 17:00:14 1993 Jason Merrill (jason@wahini.cygnus.com) - - * Makefile.in (install-gnats-dist): now depends on `info' target, - installs send-pr.info* rather than just send-pr.info - -Wed Jul 21 19:14:30 1993 Jason Merrill (jason@wahini.cygnus.com) - - * Makefile.in (install-gnats-dist): remove $(srcdir)/ before - send-pr.info so other-dir installs work. - -Tue May 18 21:45:45 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) - - * Makefile.in: remove all traces of send_pr and install_cid - -Fri Apr 30 08:42:33 1993 Ian Lance Taylor (ian@cygnus.com) - - * Makefile.in (check, installcheck): New, empty, targets. - -Tue Apr 13 16:52:24 1993 Brendan Kehoe (brendan@lisa.cygnus.com) - - * Makefile.in (all-gnats): Add rule, same as install-norm; hack for - now to make top-level builds work that don't pass GNATS=foo down - because they don't need all of GNATS. - -Wed Apr 7 13:41:04 1993 Brendan Kehoe (brendan@lisa.cygnus.com) - - * send-pr.sh (ORGANIZATION): If they don't have an ORGANIZATION - environment variable, then try for DEFAULT_ORGANIZATION, then - $HOME/.organization, before going for their .signature. - - * Makefile.in (install-sid): Use `tmp-inst-sid' instead of - `tmp-install-sid' to avoid filename length limits. - (DEFAULT_ORGANIZATION): New variable. - (send-pr): Substitute it. - (stamp-gnats): Substitute DEFAULT_ORGANIZATION in. - -Tue Mar 30 16:00:01 1993 Brendan Kehoe (brendan@lisa.cygnus.com) - - * send-pr.sh (PRINT_INTERN): Add missing `$'. - -Mon Mar 29 16:46:22 1993 Brendan Kehoe (brendan@lisa.cygnus.com) - - * install-sid.sh (traps): Add them in. - -Thu Mar 25 17:01:43 1993 Brendan Kehoe (brendan@lisa.cygnus.com) - - * send-pr.sh (ORIGINATOR): Look in the NIS maps if they've got - them. In any case, strip off anything following a comma, since - they might have phone nos or other info. - -Wed Mar 24 17:56:15 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com) - - * Makefile.in: define MAKEINFO, define & use TEXI2DVI - -Fri Mar 19 17:44:01 1993 Brendan Kehoe (brendan@lisa.cygnus.com) - - * send-pr-el.in (send-pr-start-up): Check that send-pr-mode worked - (aka, running send-pr worked). - (send-pr-mode): Make sure the category list was set. - (gnats-set-variable-from-shell): Instead of using a temp buffer, - refuse to continue if send-pr couldn't give us a valid categories - list. This will change when the send-pr and gnats elisp stuff are - rationalized properly. - - * send-pr.sh (editing the PR): Use EDIT, not EDITOR. - (SUBMITTER unknown): Fix the message. - -Mon Mar 15 14:31:58 1993 Brendan Kehoe (brendan@lisa.cygnus.com) - - * send-pr.sh (FROM, REPLY_TO): Check for LOGNAME then USER. - -Sat Mar 6 15:26:37 1993 Brendan Kehoe (brendan@lisa.cygnus.com) - - * send-pr.elisp: Rename to send-pr-el.in. - * Makefile.in: Do so throughout. - - * Makefile.in (clean): Also delete send-pr.elc. - -Thu Mar 4 11:35:29 1993 Brendan Kehoe (brendan@lisa.cygnus.com) - - * send-pr.sh (TMPDIR): Wrap with quotes in the test for it not - being set. - -Thu Mar 4 09:58:31 1993 Ian Lance Taylor (ian@cygnus.com) - - * Makefile.in (install-info): New target. - - * Makefile.in (install): Ignore error from chown. Get categories - file from $(srcdir). - -Wed Mar 3 07:43:07 1993 Ian Lance Taylor (ian@cygnus.com) - - * Makefile.in (send-pr.info): Added -I$(srcdir). - -Sat Feb 27 22:46:09 1993 Brendan Kehoe (brendan@lisa.cygnus.com) - - * Makefile.in (install): Use $(GNATS). - (install-norm): Most of the install rule. - (install-gnats-dist): The rest of it. - (install-tools): New rule, just run install-norm. - (install-gnats): The default, run both install-norma nd - install-gnats-dist. - -Wed Feb 24 17:19:57 1993 Jeffrey Osier (jeffrey@fowanton.cygnus.com) - - * send-pr.in->send-pr.input: so it's not erased with make clean - -Tue Feb 23 15:40:14 1993 Brendan Kehoe (brendan@lisa.cygnus.com) - - * Makefile.in (install): Change ownership of files installed to gnats. - -Tue Feb 23 15:30:01 1993 Jeffrey Osier (jeffrey@fowanton.cygnus.com) - - * send-pr.texi: use send-pr.in - - * send-pr.in: New file (included by send-pr.texi and gnats.texi) - -Tue Feb 23 10:45:34 1993 Brendan Kehoe (brendan@lisa.cygnus.com) - - * Makefile.in (install): Chown $(libdir)/gnats to gnats. - -Mon Feb 22 13:26:18 1993 Brendan Kehoe (brendan@lisa.cygnus.com) - - * Makefile.in (install): Install send-pr.1. - - * Makefile.in (install): Drop in the things for gnats-dist. - -Mon Feb 22 01:45:16 1993 Jeffrey Osier (jeffrey@fowanton.cygnus.com) - - * send-pr.man: semi-major cleanup effort.. now in beta - -Mon Feb 22 01:22:48 1993 Jeffrey Osier (jeffrey@fowanton.cygnus.com) - - * INSTALL: now in beta - -Sun Feb 21 23:25:49 1993 Brendan Kehoe (brendan@lisa.cygnus.com) - - * Makefile.in (install): Create the parent of lispdir first. - -Sun Feb 21 17:07:56 1993 Jeffrey Osier (jeffrey@fowanton.cygnus.com) - - * send-pr.texi: more minor tweaking, added portability note - * send-pr.man: ditto - -Sun Feb 21 16:11:08 1993 Jeffrey Osier (jeffrey@fowanton.cygnus.com) - - * send-pr.texi: minor install cleanup - * MANIFEST: New file. - * INSTALL: New file. - * README: Major revision. - -Sat Feb 20 23:47:02 1993 Jeffrey Osier (jeffrey@fowanton.cygnus.com) - - * send-pr.texi: added new alias info - -Sat Feb 20 20:46:23 1993 Brendan Kehoe (brendan@lisa.cygnus.com) - - * send-pr.sh: Set `From:' and `Reply-To:'. - - * Makefile.in (send-pr): Depend upon Makefile, to catch variable - changes. - (install-sid, send-pr.el, send-pr.1): Likewise. - - * install-sid.sh: Copy TMP into the send-pr script, so we don't - break the link we made to send_pr. - - * send-pr.sh: Given an argument, send to the alias `foo-gnats'. - - * Makefile.in (clean): Also remove stamp-gnats. - -Sat Feb 20 19:15:00 1993 Jeffrey Osier (jeffrey@fowanton.cygnus.com) - - * send-pr.texi: recent update, removed installation information - and added a line regarding (autoload) for Emacs version - * send-pr.info: same update - -Sat Feb 20 18:44:09 1993 Brendan Kehoe (brendan@lisa.cygnus.com) - - * Makefile.in (gnats-build): Changed to depend upon stamp-gnats. - (stamp-gnats): New rule, with body of what was in gnats-build. - -Sat Feb 20 18:37:33 1993 Jeffrey Osier (jeffrey@fowanton.cygnus.com) - - * send-pr.texi: added install information - * send-pr.info: New file. - -Sat Feb 20 14:16:56 1993 Brendan Kehoe (brendan@lisa.cygnus.com) - - * Initial entry for GNATS 3.0. - - -Local Variables: -mode: indented-text -left-margin: 8 -fill-column: 74 -version-control: never -End: diff --git a/gnu/usr.bin/send-pr/INSTALL b/gnu/usr.bin/send-pr/INSTALL deleted file mode 100644 index 711c63d8a16..00000000000 --- a/gnu/usr.bin/send-pr/INSTALL +++ /dev/null @@ -1,83 +0,0 @@ - Installation procedures for `send-pr' - -If you receive `send-pr' as part of a larger software distribution, it -will be automatically installed when the full distribution is -installed. The `send-pr' directory, however, is easily installed by -itself by following these steps: - -1. Unpack the distribution into a directory which we will refer to as - SRCDIR. - -2. Edit the `Makefile' to reflect local conventions. - - Specifically, you should edit the variable "prefix" to alter - the installation location. The default is '/usr/local'. All - files are installed under "prefix" (see below). - -3. Run - make all install [ info ] install-info [ clean ] - - from the "build directory". The targets mean the following: - - all Builds `send-pr' and `install-sid' - - install Installs the following: - - send-pr into PREFIX/bin - install-sid into PREFIX/bin - send-pr.1 into PREFIX/man/man1 - categories as PREFIX/lib/gnats/SITE - send-pr-el.in as PREFIX/lib/emacs/lisp/send-pr.el - - info (optional) Builds "send-pr.info" from "send-pr.texi" - (send-pr.info is included with this distribution) - -install-info Installs "send-pr.info" into PREFIX/info - - clean (optional) Removes all intermediary build files that can - be rebuilt from source code - -4. Run - - install-sid SID - - where SID is the submitter identification code you received with - `send-pr'. If you've downloaded `send-pr' from the Net, use "net" - for this value. - - -5. Any users who wish to use the Emacs version of `send-pr' must place - the following line in their ".emacs" files: - - (autoload 'send-pr "send-pr" "Submit a Problem Report." t) - - -6. Create a mail alias for the support site you received `send-pr' - from, and for every site with which you wish to use `send-pr' to - communicate with, each with a suffix of `-gnats'. The support - site(s) will provide the correct addresses toward which these - aliases should point. For instance, edit your mail aliases file - to contain something like: - - # support sites; for use with send-pr - cygnus-gnats: bugs@cygnus.com # Cygnus Support - bumblebee-gnats: bumblebugs@bumblebee.com # Bumblebee BASIC, Inc. - mycompany-gnats: bugs@my.company.com (if you use GNATS locally) - - `send-pr' automatically searches for these aliases when you type - - send-pr cygnus - send-pr bumblebee - send-pr SITE... - - `send-pr' also uses SITE to determine the categories of bugs the site - in question accepts by looking in PREFIX/lib/gnats/SITE - - -7. That's it! See "send-pr.info", "send-pr.texi", and/or "send-pr.1" for - information on using `send-pr'. - - -Copyright (c) 1993, Free Software Foundation, Inc. -See the file COPYING for copyright information concerning this -distribution and all its components. diff --git a/gnu/usr.bin/send-pr/MANIFEST b/gnu/usr.bin/send-pr/MANIFEST deleted file mode 100644 index 35375a6fd49..00000000000 --- a/gnu/usr.bin/send-pr/MANIFEST +++ /dev/null @@ -1,20 +0,0 @@ - MANIFEST for send-pr - -The following files should have accompanied this distribution. - - COPYING copyright information - ChangeLog sourcecode change log - INSTALL installation procedure - Makefile.in Makefile template used by `configure' - MANIFEST list of accompanying files - README introductory information - config/ any specialized configuration files - configure.in input file for `configure' - categories list of valid categories - install-sid.sh script which installs Submitter-Id - send-pr-el.in elisp version of `send-pr' for Emacs - send-pr.man `send-pr' man file, installed as send-pr.1 - send-pr.info `send-pr' Info file - send-pr.sh `send-pr' shell script - command line version - send-pr.texi `send-pr' Texinfo documentation - send-pr.input `send-pr' Texinfo documentation input file diff --git a/gnu/usr.bin/send-pr/Makefile b/gnu/usr.bin/send-pr/Makefile deleted file mode 100644 index 0d4dae7b78e..00000000000 --- a/gnu/usr.bin/send-pr/Makefile +++ /dev/null @@ -1,101 +0,0 @@ -# $NetBSD: Makefile,v 1.15 1995/09/12 19:01:51 jtc Exp $ - -# -# Makefile for building a standalone send-pr. -# - -srcdir= ${.CURDIR} -bindir= /usr/bin -datadir= /usr/share - -# -# Begin CONFIGURATION SECTION -# -VERSION=3.95 - -# Where the GNATS database and master configuration stuff lives. -GNATS_ROOT = - -# Email address to which people should submit bugs. -GNATS_ADDR = gnats-bugs@gnats.netbsd.org - -# The default release for this send-pr. -DEFAULT_RELEASE = <NetBSD-current source date> - -# The default organization for this send-pr. -DEFAULT_ORGANIZATION = - -# The default GNATS site for send-pr. -GNATS_SITE = netbsd - -# The submitter-id for your site. -SUBMITTER = net - -# Command line to use for mailer -MAIL_AGENT = /usr/sbin/sendmail -oi -t - -# Command line to display the passwd database -PASSWD = cat /etc/passwd - -# Echo(1) style -ECHON = bsd - -# -# END OF CONFIGURATION SECTION -# - -BINDIR= ${bindir} -LIBDIR= ${datadir} -NOPROG= -MAN= send-pr.1 - -CLEANFILES= send-pr send-pr.1 send-pr.el install-sid - -all: send-pr send-pr.1 send-pr.el install-sid - -send-pr: send-pr.sh Makefile - sed -e 's,xVERSIONx,$(VERSION),' \ - -e 's,xGNATS_ROOTx,$(GNATS_ROOT),' \ - -e 's,xGNATS_ADDRx,$(GNATS_ADDR),' \ - -e 's,xGNATS_SITEx,$(GNATS_SITE),' \ - -e 's,xSUBMITTERx,$(SUBMITTER),' \ - -e 's,xECHONx,$(ECHON),' \ - -e 's,xMAIL_AGENTx,$(MAIL_AGENT),' \ - -e 's,xPASSWDx,$(PASSWD),' \ - -e 's%xDEFAULT_ORGANIZATIONx%$(DEFAULT_ORGANIZATION)%' \ - -e 's,xDEFAULT_RELEASEx,$(DEFAULT_RELEASE),' \ - -e 's,xDATADIRx,$(datadir),' $(srcdir)/send-pr.sh > $@-t - mv -f $@-t $@ - chmod 755 $@ - -install-sid: install-sid.sh Makefile - sed -e 's,xBINDIRx,$(bindir),g' \ - -e 's,xVERSIONx,$(VERSION),g' $(srcdir)/install-sid.sh > $@-t - mv -f $@-t $@ - chmod 755 $@ - -send-pr.el: send-pr-el.in Makefile - sed -e 's,xVERSIONx,$(VERSION),' \ - -e 's,xGNATS_ROOTx,$(GNATS_ROOT),' \ - -e 's,xGNATS_SITEx,$(GNATS_SITE),' \ - -e 's,xDATADIRx,$(datadir),' \ - -e 's,xSUBMITTERx,$(SUBMITTER),' \ - -e 's,xDEFAULT_RELEASEx,$(DEFAULT_RELEASE),' \ - $(srcdir)/send-pr-el.in \ - > $@-t - mv -f $@-t $@ - -send-pr.1: send-pr.man Makefile - sed -e 's,xGNATS_ROOTx,$(GNATS_ROOT),g' \ - -e 's,xVERSIONx,$(VERSION),g' $(srcdir)/send-pr.man > $@-t - mv -f $@-t $@ - -beforeinstall: - install ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} send-pr \ - ${DESTDIR}${BINDIR} - install ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} install-sid \ - ${DESTDIR}${BINDIR} - install -c -o ${BINOWN} -g ${BINGRP} -m 444 ${.CURDIR}/categories \ - ${DESTDIR}${LIBDIR}/gnats/${GNATS_SITE} - -.include <bsd.prog.mk> diff --git a/gnu/usr.bin/send-pr/Makefile.in b/gnu/usr.bin/send-pr/Makefile.in deleted file mode 100644 index a9b5f4cc3ed..00000000000 --- a/gnu/usr.bin/send-pr/Makefile.in +++ /dev/null @@ -1,297 +0,0 @@ -# Makefile for GNU send-pr. -# Copyright (C) 1993 Free Software Foundation, Inc. -# -# This file is part of GNU GNATS. -# -# GNU GNATS 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, or (at your option) -# any later version. -# -# GNU GNATS 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 GNU GNATS; see the file COPYING. If not, write to -# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - -# Start of system configuration section. - -srcdir = @srcdir@ -VPATH = $(srcdir) - -# Where the GNATS database and master configuration stuff lives. -GNATS_ROOT = @GNATS_ROOT@ - -# Email address to which people should submit bugs. -GNATS_ADDR = @GNATS_ADDR@ - -# The default release for this send-pr. -DEFAULT_RELEASE = @DEFAULT_RELEASE@ - -# The default organization for this send-pr. -DEFAULT_ORGANIZATION = @DEFAULT_ORGANIZATION@ - -# The default GNATS site for send-pr. -GNATS_SITE = @GNATS_SITE@ - -# The submitter-id for your site. -SUBMITTER = @SUBMITTER@ - -# Command line to use for mailer -MAIL_AGENT = @MAIL_AGENT@ - -# Command line to display the passwd database -PASSWD = @PASSWD@ - -# What to install -SEND_PR_INSTALL = install-norm install-categories - -CC = cc - -AR = ar -AR_FLAGS = rc - -# Set RANLIB = echo if your system doesn't have or need ranlib. -RANLIB = ranlib - -# Where to find texinfo.tex to format docn with TeX -TEXIDIR = $(srcdir)/../texinfo - -MAKEINFO = makeinfo -TEXI2DVI = texi2dvi - -INSTALL = $(srcdir)/../install.sh -c -INSTALL_PROGRAM = $(INSTALL) -INSTALL_DATA = $(INSTALL) -m 644 - -CFLAGS = -g -LDFLAGS = -g - -ECHON = @ECHON@ - -EMACS = `if [ -f ./../emacs19/Makefile ] ; then \ - echo "EMACSLOADPATH=\`cd $(srcdir)/../emacs19/lisp ; pwd\` ; \ - export EMACSLOADPATH ; \ - ./../emacs19/src/emacs" ; \ - else \ - echo emacs ; \ - fi` - -prefix = @prefix@ - -exec_prefix = $(prefix) -bindir = $(exec_prefix)/bin -libdir = $(exec_prefix)/lib -tooldir = $(libdir) - -program_transform_name = - -# Edit this to be the location of your emacs lisp files. -lispdir = @LISPDIR@ - -datadir = $(prefix)/lib -mandir = $(prefix)/man -man1dir = $(mandir)/man1 -man2dir = $(mandir)/man2 -man3dir = $(mandir)/man3 -man4dir = $(mandir)/man4 -man5dir = $(mandir)/man5 -man6dir = $(mandir)/man6 -man7dir = $(mandir)/man7 -man8dir = $(mandir)/man8 -man9dir = $(mandir)/man9 -infodir = $(prefix)/info -includedir = $(prefix)/include -docdir = $(datadir)/doc - -# End of system configuration section. - -VERSION = 3.95 - -SHELL = /bin/sh - -#### System configurations, if any, are inserted here. - -DISTFILES= COPYING ChangeLog Makefile.in README configure.in \ -install-sid.sh send-pr-el.in send-pr.man send-pr.texi fields.texi \ -states.texi s-usage.texi categ.texi send-pr.sh - -all: send-pr install-sid send-pr.elc send-pr.1 - -send-pr: send-pr.sh Makefile - sed -e 's,xVERSIONx,$(VERSION),' \ - -e 's,xGNATS_ROOTx,$(GNATS_ROOT),' \ - -e 's,xGNATS_ADDRx,$(GNATS_ADDR),' \ - -e 's,xGNATS_SITEx,$(GNATS_SITE),' \ - -e 's,xSUBMITTERx,$(SUBMITTER),' \ - -e 's,xECHONx,$(ECHON),' \ - -e 's,xMAIL_AGENTx,$(MAIL_AGENT),' \ - -e 's,xPASSWDx,$(PASSWD),' \ - -e 's%xDEFAULT_ORGANIZATIONx%$(DEFAULT_ORGANIZATION)%' \ - -e 's,xDEFAULT_RELEASEx,$(DEFAULT_RELEASE),' \ - -e 's,xDATADIRx,$(datadir),' $(srcdir)/send-pr.sh > $@-t - mv $@-t $@ - chmod 755 $@ - -install-sid: install-sid.sh Makefile - sed -e 's,xBINDIRx,$(bindir),g' \ - -e 's,xVERSIONx,$(VERSION),g' $(srcdir)/install-sid.sh > $@-t - mv $@-t $@ - chmod 755 $@ - -send-pr.el: send-pr-el.in Makefile - sed -e 's,xVERSIONx,$(VERSION),' \ - -e 's,xGNATS_ROOTx,$(GNATS_ROOT),' \ - -e 's,xGNATS_SITEx,$(GNATS_SITE),' \ - -e 's,xDATADIRx,$(datadir),' \ - -e 's,xSUBMITTERx,$(SUBMITTER),' \ - -e 's,xDEFAULT_RELEASEx,$(DEFAULT_RELEASE),' \ - $(srcdir)/send-pr-el.in \ - > $@-t - mv $@-t $@ - -send-pr.elc: send-pr.el - -PWD=`pwd` eval $(EMACS) -batch -q -f batch-byte-compile send-pr.el - -install: $(SEND_PR_INSTALL) -install-tools: install-norm install-categories -install-gnats: install-norm install-gnats-dist install-categories - -install-norm all-gnats: - $(INSTALL_PROGRAM) send-pr $(bindir)/send-pr - $(INSTALL_PROGRAM) install-sid $(bindir)/install-sid - $(INSTALL_DATA) send-pr.1 $(man1dir)/send-pr.1 - $(INSTALL_DATA) send-pr.el $(lispdir)/send-pr.el - if [ -f send-pr.elc ]; then \ - $(INSTALL_DATA) send-pr.elc $(lispdir)/send-pr.elc; \ - else true; fi - -# Install the Cygnus category list for bug reports. -install-categories: - $(INSTALL_DATA) $(srcdir)/categories $(datadir)/gnats/cygnus - -install-gnats-dist: - $(INSTALL_DATA) $(srcdir)/COPYING $(datadir)/gnats/dist/COPYING - $(INSTALL_DATA) $(srcdir)/README $(datadir)/gnats/dist/README - $(INSTALL_DATA) $(srcdir)/INSTALL $(datadir)/gnats/dist/INSTALL - $(INSTALL_DATA) $(srcdir)/MANIFEST $(datadir)/gnats/dist/MANIFEST - sed -e 's/"DEFAULT_RELEASE") ".*"/"DEFAULT_RELEASE") "@''DEFAULT_RELEASE@"/' \ - -e 's/"SUBMITTER") ".*"/"SUBMITTER") "@''SUBMITTER@"/' \ - -e 's/"DATADIR") ".*"/"DATADIR") "@''DATADIR@"/' \ - send-pr.el > $(datadir)/gnats/dist/send-pr-el.inT - mv $(datadir)/gnats/dist/send-pr-el.inT \ - $(datadir)/gnats/dist/send-pr-el.in - sed -e 's/GNATS_ROOT=.*/GNATS_ROOT=/' \ - -e 's/SUBMITTER=.*/SUBMITTER=@''SUBMITTER@/' \ - -e 's/DEFAULT_RELEASE=.*/DEFAULT_RELEASE="@''DEFAULT_RELEASE@"/' \ - -e 's/DEFAULT_ORGANIZATION=.*/DEFAULT_ORGANIZATION=/' \ - -e 's/DATADIR=.*/DATADIR=@''DATADIR@/' \ - send-pr > $(datadir)/gnats/dist/send-pr.sh-t - mv $(datadir)/gnats/dist/send-pr.sh-t \ - $(datadir)/gnats/dist/send-pr.sh - sed -e 's/^BINDIR=.*/BINDIR=@''BINDIR@/' \ - install-sid > $(datadir)/gnats/dist/install-sid.sT - mv $(datadir)/gnats/dist/install-sid.sT \ - $(datadir)/gnats/dist/install-sid.sh - $(INSTALL_DATA) send-pr.1 $(datadir)/gnats/dist/send-pr.1 - for i in `if [ ! -f send-pr.info ];then echo $(srcdir)/;fi`send-pr.info* ; do \ - $(INSTALL_DATA) $$i $(datadir)/gnats/dist/$$i ; \ - done - $(INSTALL_DATA) $(srcdir)/send-pr.texi \ - $(datadir)/gnats/dist/send-pr.texi - $(INSTALL_DATA) $(srcdir)/s-usage.texi \ - $(datadir)/gnats/dist/s-usage.texi - $(INSTALL_DATA) $(srcdir)/categ.texi \ - $(datadir)/gnats/dist/categ.texi - $(INSTALL_DATA) $(srcdir)/fields.texi \ - $(datadir)/gnats/dist/fields.texi - $(INSTALL_DATA) $(srcdir)/states.texi \ - $(datadir)/gnats/dist/states.texi - $(INSTALL_DATA) $(srcdir)/../texinfo/texinfo.tex \ - $(datadir)/gnats/dist/texinfo.tex - -install-info: send-pr.info - for i in send-pr.info* ; do \ - $(INSTALL_DATA) $$i $(infodir)/$$i ; \ - done - -uninstall: - -rm -f $(bindir)/send-pr $(bindir)/install-sid - -rm -f $(datadir)/gnats/$(GNATS_SITE) - -[ x$$GNATS_ROOT = x ] || rm -rf $(datadir)/gnats/dist - -rmdir $(datadir)/gnats - -rm -f $(man1dir)/send-pr.1 - -rm -f $(lispdir)/send-pr.el $(lispdir)/send-pr.elc - -rm -f $(infodir)/send-pr.info* - -TAGS: - -info: send-pr.info -dvi: send-pr.dvi - -version.texi: Makefile - echo "@set VERSION $(VERSION)" > $@-t - mv $@-t $@ - -send-pr.1: Makefile - sed -e 's,xGNATS_ROOTx,$(GNATS_ROOT),g' \ - -e 's,xVERSIONx,$(VERSION),g' $(srcdir)/send-pr.man > $@-t - mv $@-t $@ - -send-pr.info: send-pr.texi version.texi fields.texi s-usage.texi categ.texi - $(MAKEINFO) -I $(srcdir) -o send-pr.info $(srcdir)/send-pr.texi - -send-pr.dvi: version.texi - $(TEXI2DVI) $(srcdir)/send-pr.texi - -# When building GNATS, this target is used to communicate information -# known only to the GNATS configuration. -gnats-build: stamp-gnats - -stamp-gnats: Makefile - sed -e 's,^GNATS_ROOT =.*,GNATS_ROOT = $(GNATS_ROOT),' \ - -e 's,^GNATS_ADDR =.*,GNATS_ADDR = $(GNATS_ADDR),' \ - -e 's,^GNATS_SITE =.*,GNATS_SITE = $(GNATS_SITE),' \ - -e 's,^DEFAULT_RELEASE =.*,DEFAULT_RELEASE = $(DEFAULT_RELEASE),' \ - -e 's%^DEFAULT_ORGANIZATION =.*%DEFAULT_ORGANIZATION = $(DEFAULT_ORGANIZATION)%' \ - -e 's,^SUBMITTER =.*,SUBMITTER = $(SUBMITTER),' \ - -e 's,^VERSION =.*,VERSION = $(VERSION),' \ - -e 's,^MAIL_AGENT =.*,MAIL_AGENT = $(MAIL_AGENT),' \ - -e 's,^SEND_PR_INSTALL =.*,SEND_PR_INSTALL = $(GNATS_INSTALL),' \ - Makefile > Makefile.tmp \ - && mv Makefile.tmp Makefile \ - && touch stamp-gnats - -# Clean things up. - -clean: mostlyclean - -rm -f send-pr install-sid send-pr.1 send-pr.el send-pr.elc stamp-gnats - -rm -f *.dvi - -mostlyclean: - -rm -f *.toc *.log *.vr *.fn *.cp *.tp *.ky *.pg - -distclean: clean - -rm -f Makefile config.status - -rm -rf =* ./"#"* *~* - -rm -f *.orig *.rej - -realclean: distclean - -rm -f TAGS send-pr.info* send-pr.??s version.texi - -# FIXME -dist: - echo need to do something for dist - -check: -installcheck: - -# Prevent GNU make v3 from overflowing arg limit on SysV. -.NOEXPORT: - -Makefile: $(srcdir)/Makefile.in - $(SHELL) config.status; \ - if [ -f ../gnats/Makefile ]; then cd ../gnats; $(MAKE) config-send-pr; fi diff --git a/gnu/usr.bin/send-pr/README b/gnu/usr.bin/send-pr/README deleted file mode 100644 index b479179555f..00000000000 --- a/gnu/usr.bin/send-pr/README +++ /dev/null @@ -1,43 +0,0 @@ - send-pr - sends bug reports to a central support site - -`send-pr' uses electronic mail to submit support questions and -software bugs to a central site. No piece of software is perfect, and -software organizations understand this `send-pr' is designed to allow -users who have problems to submit reports of these problems to sites -responsible for supporting the software in question, in a defined form -which can be read by an electronically managed database. - -`send-pr' is part of a suite of programs known collectively as GNATS, -an acronym for Problem Report Management System. GNATS consists of -several programs which, used in concert, formulate and partially -administer a database of Problem Reports, or PRs, at a central support -site. A PR goes through several states in its lifetime; GNATS tracks -the PR and all information associated with it through each state and -finally acts as an archive for PRs which have been resolved. - -The same engine can be used to submit bugs to any number of support -sites by setting up aliases for each of them; `send-pr' error-checks -each PR as it is sent to be sure that the category specified matches a -category supported by the site in question. - -`send-pr' invokes an editor on a problem report template (after trying -to fill in some fields with reasonable default values). When you exit -the editor, `send-pr' sends the completed form to the support site. -At the support site, the PR is assigned a unique number and is stored -in the GNATS database according to its category and customer-id. GNATS -automatically replies with an acknowledgement, citing the category and -the PR number. - -See the Texinfo file `send-pr.texi' or the Info file `send-pr.info' -for detailed installation and usage information. - -See the file MANIFEST for a list of the files which should have -accompanied this distribution. - -See `send-pr.texi', `send-pr.info', or the file INSTALL for the -installation procedure for `send-pr'. - - -Copyright (c) 1993, Free Software Foundation, Inc. -See the file COPYING for copyright information concerning this -distribution and all its components. diff --git a/gnu/usr.bin/send-pr/aclocal.m4 b/gnu/usr.bin/send-pr/aclocal.m4 deleted file mode 100644 index b90ccf3714f..00000000000 --- a/gnu/usr.bin/send-pr/aclocal.m4 +++ /dev/null @@ -1,72 +0,0 @@ -define([AC_FIND_PROGRAM],dnl -[if test x$3 = x; then _PATH=$PATH; else _PATH=$3; fi -if test -z "[$]$1"; then - # Extract the first word of `$2', so it can be a program name with args. - set dummy $2; word=[$]2 - echo checking for $word - IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:" - for dir in $_PATH; do - test -z "$dir" && dir=. - if test -f $dir/$word; then - $1=$dir/$word - break - fi - done - IFS="$saveifs" -fi -test -n "[$]$1" && test -n "$verbose" && echo " setting $1 to [$]$1" -AC_SUBST($1)dnl -])dnl -dnl -define([AC_ECHON],dnl -[echo checking for echo -n -if test "`echo -n foo`" = foo ; then - ECHON=bsd - test -n "$verbose" && echo ' using echo -n' -elif test "`echo 'foo\c'`" = foo ; then - ECHON=sysv - test -n "$verbose" && echo ' using echo ...\\c' -else - ECHON=none - test -n "$verbose" && echo ' using plain echo' -fi])dnl -dnl -define([AC_LISPDIR],dnl -[AC_MSG_CHECKING(checking for Emacs Lisp files) -if test -n "$with_lispdir"; then - LISPDIR=${with_lispdir} -else - for f in ${prefix-/usr/local}/lib/emacs/site-lisp \ - ${prefix-/usr/local}/lib/emacs/lisp; do - if test -d $f; then - if test -n "$prefix"; then - LISPDIR=`echo $f | sed "s,^$prefix,"'$(prefix),'` - else - LISPDIR=$f - fi - break - fi - done -fi -if test -z "$LISPDIR"; then -dnl # Change this default when Emacs 19 has been around for a while - LISPDIR='$(prefix)/lib/emacs/lisp' -fi -AC_MSG_RESULT(${LISPDIR}) -AC_SUBST(LISPDIR)dnl -])dnl -dnl -define([AC_PASSWD],dnl -[echo checking how to access passwd database -PASSWD="cat /etc/passwd" -if test -f /bin/domainname && test -n "`/bin/domainname`"; then - if test -f /usr/bin/niscat && - /usr/bin/niscat passwd.org_dir > /dev/null 2>&1; then - PASSWD="/usr/bin/niscat passwd.org_dir" - elif test -f /usr/bin/ypcat && /usr/bin/ypcat passwd > /dev/null 2>&1; then - PASSWD="/usr/bin/ypcat passwd" - fi -fi -test -n "$verbose" && echo " setting PASSWD to ${PASSWD}" -AC_SUBST(PASSWD)dnl -])dnl diff --git a/gnu/usr.bin/send-pr/categ.texi b/gnu/usr.bin/send-pr/categ.texi deleted file mode 100644 index b02243e1a02..00000000000 --- a/gnu/usr.bin/send-pr/categ.texi +++ /dev/null @@ -1,123 +0,0 @@ -@node Valid Categories -@unnumberedsec Valid Categories -@cindex valid categories -@cindex example of a list of valid categories - -@table @code -@item bfd -@sc{gnu} binary file descriptor library. - -@item bifrabulator -This one doesn't actually exist. - -@item binutils -@sc{gnu} utilities for binary files (@code{ar}, @code{nm}, @code{size}@dots{}). - -@item bison -@sc{gnu} parser generator. - -@item byacc -Free parser generator. - -@item config -Cygnus Support Software configuration and installation. - -@item cvs -Concurrent Version System. - -@item diff -@sc{gnu} @code{diff} program. - -@item doc -Documentation and manuals. - -@item emacs -@sc{gnu} Emacs editor and related functions. - -@item flex -@sc{gnu} lexical analyzer. - -@item g++ -@sc{gnu} C++ compiler. - -@item gas -@sc{gnu} assembler. - -@item gcc -@sc{gnu} C compiler. - -@item gdb -@sc{gnu} source code debugger. - -@item glob -The filename globbing functions. - -@item gprof -@sc{gnu} profiler. - -@item grep -@sc{gnu} @code{grep} program. - -@item info -@sc{gnu} @code{info} hypertext reader. - -@item ispell -@sc{gnu} spelling checker. - -@item kerberos -Kerberos authentication system. - -@item ld -@sc{gnu} linker. - -@item libc -Cygnus Support C Support Library. - -@item libg++ -@sc{gnu} C++ class library. - -@item libiberty -@sc{gnu} @samp{libiberty} library. - -@item libm -Cygnus Support C Math Library. - -@item make -@sc{gnu} @code{make} program. - -@item makeinfo -@sc{gnu} utility to build Info files from Texinfo documents. - -@item mas -@sc{gnu} Motorola syntax assembler. - -@item newlib -Cygnus Support C Support and Math Libraries. - -@item patch -@sc{gnu} bug patch program. - -@item gnats -@sc{gnu} Problem Report Management System. - -@item rcs -Revision Control System. - -@item readline -@sc{gnu} @code{readline} library. - -@item send-pr -@sc{gnu} Problem Report submitting program. - -@item test -Category to use when testing @code{send-pr}. - -@item texindex -@sc{gnu} documentation indexing utility. - -@item texinfo -@sc{gnu} documentation macros. - -@item other -Anything which is not covered by the above categories. -@end table diff --git a/gnu/usr.bin/send-pr/categories b/gnu/usr.bin/send-pr/categories deleted file mode 100644 index 118b57f2b51..00000000000 --- a/gnu/usr.bin/send-pr/categories +++ /dev/null @@ -1,19 +0,0 @@ -kern -misc -lib -bin -port-alpha -port-amiga -port-arm32 -port-atari -port-hp300 -port-i386 -port-m68k -port-mac -port-mvme68k -port-pc532 -port-pmax -port-sparc -port-sun3 -port-vax -standards diff --git a/gnu/usr.bin/send-pr/configure b/gnu/usr.bin/send-pr/configure deleted file mode 100644 index 5ca80cb7beb..00000000000 --- a/gnu/usr.bin/send-pr/configure +++ /dev/null @@ -1,728 +0,0 @@ -#! /bin/sh - -# Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.3 -# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc. -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Defaults: -ac_help= -ac_default_prefix=/usr/local -# Any additions from configure.in: - -# Initialize some variables set by options. -# The variables have the same names as the options, with -# dashes changed to underlines. -build=NONE -cache_file=./config.cache -exec_prefix=NONE -host=NONE -no_create= -nonopt=NONE -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -target=NONE -verbose= -x_includes=NONE -x_libraries=NONE - -# Initialize some other variables. -subdirs= - -ac_prev= -for ac_option -do - - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -build | --build | --buil | --bui | --bu | --b) - ac_prev=build ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*) - build="$ac_optarg" ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; - - -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; - - -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=PREFIX install architecture-dependent files in PREFIX - [same as prefix] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR ---enable and --with options recognized:$ac_help -EOF - exit 0 ;; - - -host | --host | --hos | --ho) - ac_prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.3" - exit 0 ;; - - -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "with_${ac_package}='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; - - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } - ;; - - *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" - ;; - - esac -done - -if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>./config.log - -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 - -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; - esac -done - -# NLS nuisances. -# Only set LANG and LC_ALL to C if already set. -# These must not be set unconditionally because not all systems understand -# e.g. LANG=C (notably SCO). -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LANG+set}" = set; then LANG=C; export LANG; fi - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h - -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=send-pr.sh - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } - else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } - fi -fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` - -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5' -ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5' - -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - - - - -echo checking for echo -n -if test "`echo -n foo`" = foo ; then - ECHON=bsd - test -n "$verbose" && echo ' using echo -n' -elif test "`echo 'foo\c'`" = foo ; then - ECHON=sysv - test -n "$verbose" && echo ' using echo ...\\c' -else - ECHON=none - test -n "$verbose" && echo ' using plain echo' -fi -echo $ac_n "checking checking for Emacs Lisp files""... $ac_c" 1>&6 -if test -n "$with_lispdir"; then - LISPDIR=${with_lispdir} -else - for f in ${prefix-/usr/local}/lib/emacs/site-lisp \ - ${prefix-/usr/local}/lib/emacs/lisp; do - if test -d $f; then - if test -n "$prefix"; then - LISPDIR=`echo $f | sed "s,^$prefix,"'$(prefix),'` - else - LISPDIR=$f - fi - break - fi - done -fi -if test -z "$LISPDIR"; then - LISPDIR='$(prefix)/lib/emacs/lisp' -fi -echo "$ac_t""${LISPDIR}" 1>&6 - -echo checking how to access passwd database -PASSWD="cat /etc/passwd" -if test -f /bin/domainname && test -n "`/bin/domainname`"; then - if test -f /usr/bin/niscat && - /usr/bin/niscat passwd.org_dir > /dev/null 2>&1; then - PASSWD="/usr/bin/niscat passwd.org_dir" - elif test -f /usr/bin/ypcat && /usr/bin/ypcat passwd > /dev/null 2>&1; then - PASSWD="/usr/bin/ypcat passwd" - fi -fi -test -n "$verbose" && echo " setting PASSWD to ${PASSWD}" - - -if test -z "${GNATS_SITE}"; then - GNATS_SITE=cygnus -fi -SUBMITTER=unknown -if test -z "${GNATS_ADDR}"; then - GNATS_ADDR=bugs@cygnus.com -fi -DEFAULT_ORGANIZATION= - -if test x/usr/lib:/usr/sbin:/usr/ucblib = x; then _PATH=$PATH; else _PATH=/usr/lib:/usr/sbin:/usr/ucblib; fi -if test -z "$SENDMAIL"; then - # Extract the first word of `sendmail', so it can be a program name with args. - set dummy sendmail; word=$2 - echo checking for $word - IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:" - for dir in $_PATH; do - test -z "$dir" && dir=. - if test -f $dir/$word; then - SENDMAIL=$dir/$word - break - fi - done - IFS="$saveifs" -fi -test -n "$SENDMAIL" && test -n "$verbose" && echo " setting SENDMAIL to $SENDMAIL" - -if test -n "$SENDMAIL" ; then - MAIL_AGENT="$SENDMAIL -oi -t" -else - MAIL_AGENT=false -fi - -if test -f ${srcdir}/../release-info ; then - DEFAULT_RELEASE=`. ${srcdir}/../release-info ; echo ${RELEASE_TAG}` -else - DEFAULT_RELEASE='gnats-$(VERSION)' -fi - -# Get GNATS_ROOT from environment, if possible - -if test -n "$with_gnats_root"; then - GNATS_ROOT=$with_gnats_root -fi - -if test -z "${GNATS_ROOT}"; then - GNATS_ROOT=${prefix-/usr/local}/lib/gnats/gnats-root - _PR=${GNATS_ROOT} -fi - -if test x = x; then _PATH=$PATH; else _PATH=; fi -if test -z "$SEND_PR"; then - # Extract the first word of `send-pr', so it can be a program name with args. - set dummy send-pr; word=$2 - echo checking for $word - IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:" - for dir in $_PATH; do - test -z "$dir" && dir=. - if test -f $dir/$word; then - SEND_PR=$dir/$word - break - fi - done - IFS="$saveifs" -fi -test -n "$SEND_PR" && test -n "$verbose" && echo " setting SEND_PR to $SEND_PR" - -if test -n "${SEND_PR}"; then - test -n "${_PR}" && eval `grep '^GNATS_ROOT=' ${SEND_PR}` - eval `grep '^SUBMITTER=' ${SEND_PR}` - eval `egrep '^GNATS_(ADDR|SITE)=' ${SEND_PR}` - eval `egrep '^DEFAULT_ORGANIZATION=' ${SEND_PR}` -fi - -# If the config file exists, it may have more recent info than send-pr -echo checking for GNATS configuration file -test -f ${GNATS_ROOT}/gnats-adm/config && . ${GNATS_ROOT}/gnats-adm/config - -if test -n "${_PR}" -a "${GNATS_ROOT}" = "${_PR}"; then - GNATS_ROOT= -fi - -if test -n "$verbose"; then - echo " setting GNATS_ROOT to $GNATS_ROOT" - echo " setting GNATS_SITE to $GNATS_SITE" - echo " setting GNATS_ADDR to $GNATS_ADDR" - echo " setting SUBMITTER to $SUBMITTER" - echo " setting DEFAULT_RELEASE to $DEFAULT_RELEASE" - echo " setting DEFAULT_ORGANIZATION to $DEFAULT_ORGANIZATION" - echo " setting MAIL_AGENT to $MAIL_AGENT" -fi - -trap '' 1 2 15 -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \ - >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -fi - -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -cat > conftest.defs <<\EOF -s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%-D\1=\2%g -s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g -s%\[%\\&%g -s%\]%\\&%g -s%\$%$$%g -EOF -DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` -rm -f conftest.defs - - -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} - -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS <<EOF -#! /bin/sh -# Generated automatically by configure. -# Run this file to recreate the current configuration. -# This directory was configured as follows, -# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# -# $0 $ac_configure_args -# -# Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. - -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option -do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.3" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac -done - -ac_given_srcdir=$srcdir - -trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 - -# Protect against being on the right side of a sed subst in config.status. -sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g; - s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF -$ac_vpsub -$extrasub -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@GNATS_ROOT@%$GNATS_ROOT%g -s%@GNATS_ADDR@%$GNATS_ADDR%g -s%@GNATS_SITE@%$GNATS_SITE%g -s%@DEFAULT_RELEASE@%$DEFAULT_RELEASE%g -s%@DEFAULT_ORGANIZATION@%$DEFAULT_ORGANIZATION%g -s%@MAIL_AGENT@%$MAIL_AGENT%g -s%@SUBMITTER@%$SUBMITTER%g -s%@ECHON@%$ECHON%g -s%@LISPDIR@%$LISPDIR%g -s%@PASSWD@%$PASSWD%g -s%@SENDMAIL@%$SENDMAIL%g -s%@SEND_PR@%$SEND_PR%g - -CEOF -EOF -cat >> $CONFIG_STATUS <<EOF - -CONFIG_FILES=\${CONFIG_FILES-"Makefile"} -EOF -cat >> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - # Adjust relative srcdir, etc. for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; - esac - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file -fi; done -rm -f conftest.subs - - - -exit 0 -EOF -chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 - diff --git a/gnu/usr.bin/send-pr/configure.in b/gnu/usr.bin/send-pr/configure.in deleted file mode 100644 index e7bd25d7ffd..00000000000 --- a/gnu/usr.bin/send-pr/configure.in +++ /dev/null @@ -1,75 +0,0 @@ -AC_INIT(send-pr.sh) - -AC_SUBST(GNATS_ROOT)dnl -AC_SUBST(GNATS_ADDR)dnl -AC_SUBST(GNATS_SITE)dnl -AC_SUBST(DEFAULT_RELEASE)dnl -AC_SUBST(DEFAULT_ORGANIZATION)dnl -AC_SUBST(MAIL_AGENT)dnl -AC_SUBST(SUBMITTER)dnl -AC_SUBST(ECHON)dnl - -AC_ECHON -AC_LISPDIR -AC_PASSWD - -if test -z "${GNATS_SITE}"; then - GNATS_SITE=cygnus -fi -SUBMITTER=unknown -if test -z "${GNATS_ADDR}"; then - GNATS_ADDR=bugs@cygnus.com -fi -DEFAULT_ORGANIZATION= - -AC_FIND_PROGRAM(SENDMAIL,sendmail,/usr/lib:/usr/sbin:/usr/ucblib) -if test -n "$SENDMAIL" ; then - MAIL_AGENT="$SENDMAIL -oi -t" -else - MAIL_AGENT=false -fi - -if test -f ${srcdir}/../release-info ; then - DEFAULT_RELEASE=`. ${srcdir}/../release-info ; echo ${RELEASE_TAG}` -else - DEFAULT_RELEASE='gnats-$(VERSION)' -fi - -# Get GNATS_ROOT from environment, if possible - -if test -n "$with_gnats_root"; then - GNATS_ROOT=$with_gnats_root -fi - -if test -z "${GNATS_ROOT}"; then - GNATS_ROOT=${prefix-/usr/local}/lib/gnats/gnats-root - _PR=${GNATS_ROOT} -fi - -AC_FIND_PROGRAM(SEND_PR,send-pr) -if test -n "${SEND_PR}"; then - test -n "${_PR}" && eval `grep '^GNATS_ROOT=' ${SEND_PR}` - eval `grep '^SUBMITTER=' ${SEND_PR}` - eval `egrep '^GNATS_(ADDR|SITE)=' ${SEND_PR}` - eval `egrep '^DEFAULT_ORGANIZATION=' ${SEND_PR}` -fi - -# If the config file exists, it may have more recent info than send-pr -echo checking for GNATS configuration file -test -f ${GNATS_ROOT}/gnats-adm/config && . ${GNATS_ROOT}/gnats-adm/config - -if test -n "${_PR}" -a "${GNATS_ROOT}" = "${_PR}"; then - GNATS_ROOT= -fi - -if test -n "$verbose"; then - echo " setting GNATS_ROOT to $GNATS_ROOT" - echo " setting GNATS_SITE to $GNATS_SITE" - echo " setting GNATS_ADDR to $GNATS_ADDR" - echo " setting SUBMITTER to $SUBMITTER" - echo " setting DEFAULT_RELEASE to $DEFAULT_RELEASE" - echo " setting DEFAULT_ORGANIZATION to $DEFAULT_ORGANIZATION" - echo " setting MAIL_AGENT to $MAIL_AGENT" -fi - -AC_OUTPUT(Makefile) diff --git a/gnu/usr.bin/send-pr/fields.texi b/gnu/usr.bin/send-pr/fields.texi deleted file mode 100644 index 582bbf99f1a..00000000000 --- a/gnu/usr.bin/send-pr/fields.texi +++ /dev/null @@ -1,519 +0,0 @@ -@node Fields -@section Problem Report format -@cindex Problem Report format -@cindex format -@cindex database similarities -@cindex fields - -The format of a PR is designed to reflect the nature of @sc{gnats} as a -database. Information is arranged into @dfn{fields}, and kept in -individual records (Problem Reports). - -Problem Report fields are denoted by a keyword which begins with -@samp{>} and ends with @samp{:}, as in @samp{>Confidential:}. Fields -belong to one of three data types: - -@table @asis -@cindex Problem Report data types -@cindex @emph{Enumerated} data types -@item @sc{Enumerated} -One of a specific set of values, which vary according to the field. The -value for each keyword must be on the same line as the keyword. These -values are not configurable (yet). - -@ifset SENDPR -For each @sc{Enumerated} keyword, the possible choices are listed in the -@code{send-pr} template as a comment. -@end ifset -The following fields are @sc{Enumerated} format; see the descriptions of -fields below for explanations of each field in detail: - -@smallexample -@group ->Confidential: >Severity: >Priority: ->Class: >State: >Number: -@end group -@end smallexample - -@cindex @emph{Text} data types -@item @sc{Text} -One single line of text which must begin and end on the same line (i.e., -before a newline) as the keyword. See the descriptions of fields below -for explanations of each field in detail. The following fields are -@sc{Text} format: - -@smallexample -@group ->Submitter-Id: >Originator: >Synopsis: ->Category: >Release: >Responsible: ->Arrival-Date: -@end group -@end smallexample - -@cindex @emph{MultiText} data types -@item @sc{MultiText} -Text of any length may occur in this field. @sc{MultiText} may span -multiple lines and may also include blank lines. A @sc{MultiText} field -ends only when another keyword appears. See the descriptions of fields -below for explanations of each field in detail. - -The following fields are @sc{MultiText} format: - -@smallexample -@group ->Organization: >Environment: >Description: ->How-To-Repeat: >Fix: >Audit-Trail: ->Unformatted: -@end group -@end smallexample - -@end table - -A Problem Report contains two different types of fields: @dfn{Mail -Header} fields, which are used by the mail handler for delivery, and -@dfn{Problem Report} fields, which contain information relevant to the -Problem Report and its submitter. A Problem Report is essentially a -specially formatted electronic mail message. - -@ifclear SENDPR -@subheading Example Problem Report -@end ifclear - -The following is an example Problem Report. Mail headers are at the -top, followed by @sc{gnats} fields, which begin with @samp{>} and end -with @samp{:}. The @samp{Subject:} line in the mail header and the -@samp{>Synopsis:} field are usually duplicates of each other. - -@cindex sample Problem Report -@cindex example Problem Report -@cindex Problem Report template -@cartouche -@smallexample -@group -Message-Id: @var{message-id} -Date: @var{date} -From: @var{address} -Reply-To: @var{address} -To: @var{bug-address} -Subject: @var{subject} - ->Number: @var{gnats-id} ->Category: @var{category} ->Synopsis: @var{synopsis} ->Confidential: yes @emph{or} no ->Severity: critical, serious, @emph{or} non-critical ->Priority: high, medium @emph{or} low ->Responsible: @var{responsible} ->State: open, analyzed, suspended, feedback, @emph{or} closed ->Class: sw-bug, doc-bug, change-request, support, -@ifset SENDPR -@emph{or} duplicate -@end ifset -@ifclear SENDPR -duplicate, @emph{or} mistaken -@end ifclear ->Submitter-Id: @var{submitter-id} ->Arrival-Date: @var{date} ->Originator: @var{name} ->Organization: @var{organization} ->Release: @var{release} ->Environment: - @var{environment} ->Description: - @var{description} ->How-To-Repeat: - @var{how-to-repeat} ->Fix: - @var{fix} ->Audit-Trail: -@var{appended-messages@dots{}} -State-Changed-From-To: @var{from}-@var{to} -State-Changed-When: @var{date} -State-Changed-Why: - @var{reason} -Responsible-Changed-From-To: @var{from}-@var{to} -Responsible-Changed-When: @var{date} -Responsible-Changed-Why: - @var{reason} ->Unformatted: - @var{miscellaneous} -@end group -@end smallexample -@end cartouche - -@menu -* Mail header fields:: -* Problem Report fields:: -@end menu - -@c ---------------------- -@node Mail header fields -@subsection Mail header fields -@cindex mail header fields -@cindex Internet standard RFC-822 - -A Problem Report may contain any mail header field described in the -Internet standard RFC-822. However, only the fields which identify the -sender and the subject are required by @code{send-pr}: - -@table @code -@cindex @code{To:} header -@item To: -The preconfigured mail address for the Support Site where the PR is to -be sent, automatically supplied by @code{send-pr}. - -@cindex @code{Subject:} header -@item Subject: -A terse description of the problem. This field normally contains the -same information as the @samp{>Synopsis:} field. - -@cindex @code{From:} header -@item From: -Usually supplied automatically by the originator's mailer; should -contain the originator's electronic mail address. - -@cindex @code{Reply-To:} header -@item Reply-To: -A return address to which electronic replies can be sent; in most cases, -the same address as the @code{From:} field. -@end table - -@ifclear SENDPR -@cindex @code{Received-By:} headers -One of the configurable options for @sc{gnats} is whether or not to -retain @w{@samp{Received-By:}} headers, which often consume a lot of -space and are not often used. @xref{Local configuration,,Changing your -local configuration}. -@end ifclear - -@c ---------------------- -@node Problem Report fields -@subsection Problem Report fields -@cindex GNATS database fields -@cindex field format - -@c FIXME - this node is loooooooooooooooong... - -@subheading Field descriptions - -The following fields are present whenever a PR is submitted via the -program @code{send-pr}. @sc{gnats} adds additional fields when the PR -arrives at the Support Site; explanations of these follow this list. - -@cindex fields - list -@cindex GNATS fields - list -@table @code -@item >Submitter-Id: -@cindex @code{Submitter-Id} field -@cindex @code{>Submitter-Id:} -(@sc{Text}) A unique identification code assigned by the Support Site. -It is used to identify all Problem Reports coming from a particular -site. (Submitters without a value for this field can invoke -@code{send-pr} with the @samp{--request-id} option to apply for one from -the support organization. Problem Reports from those not affiliated -with the support organization should use the default value of @samp{net} -for this field.) - -@item >Originator: -@cindex @code{Originator} field -@cindex @code{>Originator:} -(@sc{Text}) Originator's real name. The default is the value of the -originator's environment variable @code{NAME}. - -@item >Organization: -@cindex @code{>Organization:} -@cindex @code{Organization} field -(@sc{MultiText}) The originator's organization. The default value is -set with the variable @w{@code{DEFAULT_ORGANIZATION}} in the -@ifclear SENDPR -@file{config} file (@pxref{config,,The @code{config} file}). -@end ifclear -@ifset SENDPR -@code{send-pr} shell script. -@end ifset - -@item >Confidential: -@cindex @code{Confidential} field -@cindex @code{>Confidential:} -@cindex confidentiality in PRs -@cindex PR confidentiality -(@sc{Enumerated}) Use of this field depends on the originator's -relationship with the support organization; contractual agreements often -have provisions for preserving confidentiality. Conversely, a lack of a -contract often means that any data provided will not be considered -confidential. Submitters should be advised to contact the support -organization directly if this is an issue. - -If the originator's relationship to the support organization provides -for confidentiality, then if the value of this field is @samp{yes} the -support organization treats the PR as confidential; any code samples -provided are not made publicly available (e.g., in regression test -suites). The default value is @samp{yes}. - -@item >Synopsis: -@cindex @code{Synopsis} field -@cindex @code{>Synopsis:} -(@sc{Text}) One-line summary of the problem. @w{@code{send-pr}} copies -this information to the @samp{Subject:} line when you submit a Problem -Report. - -@item >Severity: -@cindex @code{Severity} field -@cindex @code{>Severity:} -(@sc{Enumerated}) The severity of the problem. Accepted values include: - -@table @code -@cindex @emph{critical} severity problems -@item critical -The product, component or concept is completely non-operational or some -essential functionality is missing. No workaround is known. - -@cindex @emph{serious} severity problems -@item serious -The product, component or concept is not working properly or significant -functionality is missing. Problems that would otherwise be considered -@samp{critical} are rated @samp{serious} when a workaround is known. - -@cindex @emph{non-critical} severity problems -@item non-critical -The product, component or concept is working in general, but lacks -features, has irritating behavior, does something wrong, or doesn't -match its documentation. -@end table -@noindent -The default value is @samp{serious}. -@sp 1 - -@item >Priority: -@cindex @code{Priority} field -@cindex @code{>Priority:} -(@sc{Enumerated}) How soon the originator requires a solution. Accepted -values include: - -@table @code -@cindex @emph{high} priority problems -@item high -A solution is needed as soon as possible. - -@cindex @emph{medium} priority problems -@item medium -The problem should be solved in the next release. - -@cindex @emph{low} priority problems -@item low -The problem should be solved in a future release. -@end table -@noindent -The default value is @samp{medium}. -@sp 1 - -@item >Category: -@cindex @code{Category} field -@cindex @code{>Category:} -(@sc{Text}) The name of the product, component or concept where -the problem lies. The values for this field are defined by the Support -Site. -@ifclear SENDPR -@xref{categories,,The @code{categories} file}, for details. -@end ifclear - -@item >Class: -@cindex @code{Class} field -@cindex @code{>Class:} -(@sc{Enumerated}) The class of a problem can be one of the following: - -@table @code -@cindex @emph{sw-bug} class -@item sw-bug -A general product problem. (@samp{sw} stands for ``software''.) - -@cindex @emph{doc-bug} class -@item doc-bug -A problem with the documentation. - -@cindex @emph{change-request} class -@item change-request -A request for a change in behavior, etc. - -@cindex @emph{support} class -@item support -A support problem or question. - -@cindex @emph{duplicate} class -@item duplicate (@var{pr-number}) -Duplicate PR. @var{pr-number} should be the number of the original PR. - -@ifclear SENDPR -@cindex @emph{mistaken} class -@item mistaken -No problem, user error or misunderstanding. This value is valid only at -the Support Site. -@end ifclear -@end table - -@noindent -The default is @samp{sw-bug}. -@sp 1 - -@item >Release: -@cindex @code{Release} field -@cindex @code{>Release:} -(@sc{Text}) Release or version number of the product, component or -concept. - -@item >Environment: -@cindex @code{Environment} field -@cindex @code{>Environment:} -(@sc{MultiText}) Description of the environment where the problem occured: -machine architecture, operating system, host and target types, -libraries, pathnames, etc. - -@item >Description: -@cindex @code{Description} field -@cindex @code{>Description:} -(@sc{MultiText}) Precise description of the problem. - -@item >How-To-Repeat: -@cindex @code{How-To-Repeat} field -@cindex @code{>How-To-Repeat:} -(@sc{MultiText}) Example code, input, or activities to reproduce the -problem. The support organization uses example code both to reproduce -the problem and to test whether the problem is fixed. Include all -preconditions, inputs, outputs, conditions after the problem, and -symptoms. Any additional important information should be included. -Include all the details that would be necessary for someone else to -recreate the problem reported, however obvious. Sometimes seemingly -arbitrary or obvious information can point the way toward a solution. -See also @ref{Helpful hints,,Helpful hints}. - -@item >Fix: -@cindex @code{Fix} field -@cindex @code{>Fix:} -(@sc{MultiText}) A description of a solution to the problem, or a patch -which solves the problem. (This field is most often filled in at the -Support Site; we provide it to the submitter in case she has solved the -problem.) - -@end table - -@noindent -@sc{gnats} adds the following fields when the PR arrives at the Support -Site: - -@table @code -@cindex @code{Number} field -@cindex @code{>Number:} -@item >Number: -(@sc{Enumerated}) The incremental identification number for this PR. -@ifclear SENDPR -This is included in the automated reply to the submitter (if that -feature of @sc{gnats} is activated; @pxref{Local configuration,,Changing -your local configuration}). It is also included in the copy of the PR -that is sent to the maintainer. -@end ifclear - -The @samp{>Number:} field is often paired with the @samp{>Category:} -field as - -@smallexample -@var{category}/@var{number} -@end smallexample - -@noindent -in subsequent email messages. This is for historical reasons, as well -as because Problem Reports are stored in subdirectories which are named -by category. - -@cindex @code{State} field -@cindex @code{>State:} -@item >State: -(@sc{Enumerated}) The current state of the PR. Accepted values are: - -@table @code -@item open -The PR has been filed and the responsible person notified. - -@item analyzed -The responsible person has analyzed the problem. - -@item feedback -The problem has been solved, and the originator has been given a patch -or other fix. - -@item closed -The changes have been integrated, documented, and tested, and the -originator has confirmed that the solution works. - -@item suspended -Work on the problem has been postponed. -@end table - -@noindent -The initial state of a PR is @samp{open}. @xref{States,,States of -Problem Reports}. - -@cindex @code{Responsible} field -@cindex @code{>Responsible:} -@item >Responsible: -(@sc{Text}) The person responsible for this category. -@ifclear SENDPR -@sc{gnats} retrieves this information from the @file{categories} file -(@pxref{categories,,The @code{categories} file}). -@end ifclear - -@item >Arrival-Date: -@cindex @code{>Arrival-Date:} -@cindex @code{Arrival-Date} field -(@sc{Text}) The time that this PR was received by @sc{gnats}. The date -is provided automatically by @sc{gnats}. - -@item >Audit-Trail: -@cindex @code{>Audit-Trail:} -@cindex @code{Audit-Trail} field -(@sc{MultiText}) Tracks related electronic mail as well as changes in -the @samp{>State:} and @samp{>Responsible:} fields with the sub-fields: - -@table @code -@cindex @code{State-Changed-<From>-<To>:} in @code{>Audit-Trail:} -@item @w{State-Changed-<From>-<To>: @var{oldstate}>-<@var{newstate}} -The old and new @samp{>State:} field values. - -@cindex @code{Responsible-Changed-<From>-<To>:} in @code{>Audit-Trail:} -@item @w{Responsible-Changed-<From>-<To>: @var{oldresp}>-<@var{newresp}} -The old and new @samp{>Responsible:} field values. - -@cindex @code{State-Changed-By:} in @code{>Audit-Trail:} -@cindex @code{Responsible-Changed-By:} in @code{>Audit-Trail:} -@item State-Changed-By: @var{name} -@itemx Responsible-Changed-By: @var{name} -The name of the maintainer who effected the change. - -@cindex @code{State-Changed-When:} in @code{>Audit-Trail:} -@cindex @code{Responsible-Changed-When:} in @code{>Audit-Trail:} -@item State-Changed-When: @var{timestamp} -@itemx Responsible-Changed-When: @var{timestamp} -The time the change was made. - -@cindex @code{State-Changed-Why:} in @code{>Audit-Trail:} -@cindex @code{Responsible-Changed-Why:} in @code{>Audit-Trail:} -@item State-Changed-Why: @var{reason@dots{}} -@itemx Responsible-Changed-Why: @var{reason@dots{}} -The reason for the change. -@end table - -@noindent -@cindex subsequent mail -@cindex other mail -@cindex appending PRs -@cindex saving related mail -@cindex related mail -The @samp{>Audit-Trail:} field also contains any mail messages received -by @sc{gnats} related to this PR, in the order received. - -@item >Unformatted: -@cindex @code{>Unformatted:} -@cindex @code{Unformatted} field -(@sc{MultiText}) Any random text found outside the fields in the -original Problem Report. -@end table - diff --git a/gnu/usr.bin/send-pr/install-sid.sh b/gnu/usr.bin/send-pr/install-sid.sh deleted file mode 100644 index 3478c2ac542..00000000000 --- a/gnu/usr.bin/send-pr/install-sid.sh +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/sh -# Drop in the SUBMITTER id into a site's installed send-pr script. -# Copyright (C) 1993 Free Software Foundation, Inc. -# Contributed by Brendan Kehoe (brendan@cygnus.com), based on a -# version written by Heinz G. Seidl (hgs@ide.com). -# -# This file is part of GNU GNATS. -# -# GNU GNATS 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, or (at your option) -# any later version. -# -# GNU GNATS 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 GNU GNATS; see the file COPYING. If not, write to -# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - -COMMAND=`echo $0 | sed -e 's,.*/,,g'` -USAGE="Usage: $COMMAND [--install-dir=prefix] [--help] [--version] submitter-id" - -VERSION=xVERSIONx - -BINDIR=xBINDIRx - -SUBMITTER= -TEMP=/tmp/sp$$ - -if [ $# -eq 0 ]; then - echo "$USAGE" - exit 1 -fi - -while [ $# -gt 0 ]; do - case "$1" in - -install-dir=*|--install-dir=*|--install-di=*|--install-d=*|--install-=*|--install=*|--instal=*|--insta=*|--inst=*|--ins=*|--in=*|--i=*) - I=`echo "$1" | sed 's/-*i[a-z\-]*=//'` - BINDIR=$I/bin ;; - --version) echo $COMMAND version $VERSION ; exit 1 ;; - -*) echo "$USAGE" ; exit 1 ;; - *) SUBMITTER=$1 ;; - esac - shift -done - -path=`echo $0 | sed -e "s;${COMMAND};;"` - -[ -z "$path" ] && path=. - -if [ -f $BINDIR/send-pr ]; then - SPPATH=$BINDIR/send-pr -elif [ -f $path/send-pr ]; then - SPPATH=$path/send-pr -else - echo "$COMMAND: cannot find \`$BINDIR/send-pr' or \`$path/send-pr'" >&2 - exit 1 -fi - -trap 'rm -f $TEMP ; exit 0' 0 -trap 'echo "$COM: Aborting ..."; rm -f $TEMP ; exit 1' 1 2 3 13 15 - -sed -e "s/^SUBMITTER=.*/SUBMITTER=${SUBMITTER}/" $SPPATH > $TEMP - -if grep $SUBMITTER $TEMP > /dev/null; then - cp $SPPATH $SPPATH.orig && - rm -f $SPPATH && - cp $TEMP $SPPATH && - chmod a+rx $SPPATH && - rm -f $TEMP $SPPATH.orig || - { echo "$COMMAND: unable to replace send-pr" >&2 ; exit 1; } -else - echo "$COMMAND: something went wrong when sed-ing the submitter into send-pr" >&2 - exit 1 -fi - -echo "$COMMAND: \`$SUBMITTER' is now the default submitter ID for send-pr" - -exit 0 diff --git a/gnu/usr.bin/send-pr/s-usage.texi b/gnu/usr.bin/send-pr/s-usage.texi deleted file mode 100644 index 06fefee5cd7..00000000000 --- a/gnu/usr.bin/send-pr/s-usage.texi +++ /dev/null @@ -1,519 +0,0 @@ -@c This is the usage section for send-pr. It is called as -@c chapter (Invoking send-pr) by send-pr.texi, and also as -@c section (Submitting Problem Reports) by gnats.texi (chapter/section -@c identifiers are adjusted accordingly) - -@c FIXME! This still seems jumbled... - -You can invoke @code{send-pr} from a shell prompt or from within -@sc{gnu} Emacs using @w{@samp{M-x send-pr}}. - -@menu -* using send-pr:: Creating new Problem Reports -* send-pr in Emacs:: Using send-pr from within Emacs -* send-pr from the shell:: Invoking send-pr from the shell -* Helpful hints:: -@end menu - -@node using send-pr -@section Creating new Problem Reports - -@c FIXME - this is a long node -Invoking @code{send-pr} presents a PR @dfn{template} with a number of -fields already filled in. Complete the template as thoroughly as -possible to make a useful bug report. Submit only one bug with each PR. - -@cindex template -A template consists of three sections: - -@table @dfn -@item Comments -The top several lines of a blank template consist of a series of -comments that provide some basic instructions for completing the Problem -Report, as well as a list of valid entries for the @samp{>Category:} -field. These comments are all preceded by the string @samp{SEND-PR:} -and are erased automatically when the PR is submitted. The -instructional comments within @samp{<} and @samp{>} are also removed. -(Only these comments are removed; lines you provide that happen to have -those characters in them, such as examples of shell-level redirection, -are not affected.) - -@item Mail Header -@code{send-pr} creates a standard mail header. @code{send-pr} completes -all fields except the @samp{Subject:} line with default values. -(@xref{Fields,,Problem Report format}.) - -@item @sc{gnats} fields -These are the informational fields that @sc{gnats} uses to route your -Problem Report to the responsible party for further action. They should -be filled out as completely as possible. (@xref{Fields,,Problem Report -format}. Also see @ref{Helpful hints,,Helpful hints}.) -@end table - -@ifset SENDPR -@noindent -For examples of a Problem Report template and complete Problem Report, -see @ref{An Example}. -@end ifset - -The default template contains your preconfigured @samp{>Submitter-Id:}. -@code{send-pr} attempts to determine values for the @samp{>Originator:} -and @samp{>Organization:} fields (@pxref{Fields,,Problem Report -format}). @code{send-pr} also attempts to find out some information -about your system and architecture, and places this information in the -@samp{>Environment:} field if it finds any. - -You may submit problem reports to different Support Sites from the -default site by specifying the alternate site when you invoke -@code{send-pr}. Each @code{site} has its own list of categories for -which it accepts Problem Reports. -@c FIXME! This should go in.. -@c For a list of sites to whom @code{send-pr} is configured to send -@c Problem Reports, type @w{@samp{send-pr -S}}. -@ifset SENDPR -(@xref{default site,,Setting a default @var{site}}.) -@end ifset - -@code{send-pr} also provides the mail header section of the template -with default values in the @samp{To:}, @samp{From:}, and -@samp{Reply-To:} fields. The @samp{Subject:} field is empty. - -The template begins with a comment section: - -@cindex template comment section -@cindex comment section in the PR template -@smallexample -@group -SEND-PR: -*- send-pr -*- -SEND-PR: Lines starting with `SEND-PR' will be removed -SEND-PR: automatically as well as all comments (the text -SEND-PR: below enclosed in `<' and `>'). -SEND-PR: -SEND-PR: Please consult the document `Reporting Problems -SEND-PR: Using send-pr' if you are not sure how to fill out -SEND-PR: a problem report. -SEND-PR: -SEND-PR: Choose from the following categories: -@end group -@end smallexample - -@noindent -and also contains a list of valid @code{>Category:} values for the -Support Site to whom you are submitting this Problem Report. One (and -only one) of these values should be placed in the @code{>Category:} -field. -@ifset SENDPR -A complete sample bug report, from template to completed PR, is shown in -@ref{An Example}. For a complete list of valid categories, type -@w{@samp{send-pr -L}} at your prompt. @xref{Valid Categories,,Valid -Categories}, for a sample list of categories, . -@end ifset - -@c FIXME.. this sounds awkward -The mail header is just below the comment section. Fill out the -@samp{Subject:} field, if it is not already completed using the value of -@samp{>Synopsis:}. The other mail header fields contain default values. - -@cindex mail header section -@smallexample -@group -To: @var{support-site} -Subject: @emph{complete this field} -From: @var{your-login}@@@var{your-site} -Reply-To: @var{your-login}@@@var{your-site} -X-send-pr-version: send-pr @value{VERSION} -@end group -@end smallexample - -@noindent -where @var{support-site} is an alias for the Support Site you wish to -submit this PR to. - -The rest of the template contains @sc{gnats} fields. Each field is -either automatically completed with valid information (such as your -@samp{>Submitter-Id:}) or contains a one-line instruction specifying the -information that field requires in order to be correct. For example, -the @samp{>Confidential:} field expects a value of @samp{yes} or -@samp{no}, and the answer must fit on one line; similarly, the -@samp{>Synopsis:} field expects a short synopsis of the problem, which -must also fit on one line. Fill out the fields as completely as -possible. @xref{Helpful hints,,Helpful hints}, for suggestions as to -what kinds of information to include. - -In this example, words in @emph{italics} are filled in with -pre-configured information: - -@cindex @code{send-pr} fields -@smallexample -@group ->Submitter-Id: @emph{your submitter-id} ->Originator: @emph{your name here} ->Organization: - @emph{your organization} ->Confidential:<[ yes | no ] (one line)> ->Synopsis: <synopsis of the problem (one line)> ->Severity: <[non-critical | serious | critical](one line)> ->Priority: <[ low | medium | high ] (one line)> ->Category: <name of the product (one line)> ->Class: <[sw-bug | doc-bug | change-request | support]> ->Release: <release number or tag (one line)> ->Environment: - <machine, os, target, libraries (multiple lines)> - ->Description: - <precise description of the problem (multiple lines)> ->How-To-Repeat: - <code/input/activities to reproduce (multiple lines)> ->Fix: - <how to correct or work around the problem, if known - (multiple lines)> -@end group -@end smallexample - -@cindex @code{Submitter-Id} field -@cindex @code{>Submitter-Id:} -When you finish editing the Problem Report, @code{send-pr} mails it to -the address named in the @samp{To:} field in the mail header. -@code{send-pr} checks that the complete form contains a valid -@samp{>Category:}. - -@ifset SENDPR -Your copy of @code{send-pr} should have already been customized on -installation to reflect your @samp{>Submitter-Id:}. (@xref{Installing -send-pr, , Installing @code{send-pr} on your system}.) If you don't -know your @samp{>Submitter-Id:}, you can request it using -@w{@samp{send-pr --request-id}}. If your organization is not affiliated -with the site you send Problem Reports to, a good generic -@samp{>Submitter-Id:} to use is @samp{net}. -@end ifset - -@cindex bad Problem Reports -@cindex errors -@cindex invalid Problem Reports -If your PR has an invalid value in one of the @sc{Enumerated} fields -(@pxref{Fields,,Problem Report format}), @code{send-pr} places the PR in -a temporary file named @samp{/tmp/pbad@var{nnnn}} on your machine. -@var{nnnn} is the process identification number given to your current -@code{send-pr} session. If you are running @code{send-pr} from the -shell, you are prompted as to whether or not you wish to try editing the -same Problem Report again. If you are running @code{send-pr} from -Emacs, the Problem Report is placed in the buffer -@w{@samp{*send-pr-error*}}; you can edit this file and then submit it -with - -@smallexample -M-x gnats-submit-pr -@end smallexample - -@cindex subsequent mail -@cindex other mail -@cindex appending PRs -@cindex saving related mail -@cindex related mail -Any further mail concerning this Problem Report should be carbon-copied -to the @sc{gnats} mailing address as well, with the category and -identification number in the @samp{Subject:} line of the message. - -@smallexample -Subject: Re: PR @var{category}/@var{gnats-id}: @var{original message subject} -@end smallexample - -@noindent -Messages which arrive with @samp{Subject:} lines of this form are -automatically appended to the Problem Report in the @samp{>Audit-Trail:} -field in the order received. - -@c --------------------------------------------------------------- -@node send-pr in Emacs -@section Using @code{send-pr} from within Emacs -@cindex using @code{send-pr} from within Emacs -@cindex @code{send-pr} within Emacs -@cindex invoking @code{send-pr} from Emacs -@cindex interactive interface - -You can use an interactive @code{send-pr} interface from within @sc{gnu} -Emacs to fill out your Problem Report. We recommend that you -familiarize yourself with Emacs before using this feature -(@pxref{Introduction,,Introduction,emacs,GNU Emacs}). - -Call @code{send-pr} with @w{@samp{M-x send-pr}}.@footnote{If typing -@w{@samp{M-x send-pr}} doesn't work, see your system administrator for -help loading @code{send-pr} into Emacs.} @code{send-pr} responds with a -Problem Report template preconfigured for the Support Site from which -you received @code{send-pr}. (If you use @code{send-pr} locally, the -default Support Site is probably your local site.) - -You may also submit problem reports to different Support Sites from the -default site. To use this feature, invoke @code{send-pr} with - -@smallexample -C-u M-x send-pr -@end smallexample - -@code{send-pr} prompts you for the name of a @var{site}. @var{site} is -an alias on your local machine which points to an alternate Support -Site. - -@cindex Emacs -@code{send-pr} displays the template and prompts you in the minibuffer -with the line: -@smallexample ->Category: other -@end smallexample - -@noindent -Delete the default value @samp{other} @emph{in the minibuffer} and -replace it with the keyword corresponding to your problem (the list of -valid categories is in the topmost section of the PR template). For -example, if the problem you wish to report has to do with the @sc{gnu} C -compiler, and your support organization accepts bugs submitted for this -program under the category @samp{gcc}, delete @samp{other} and then type -@w{@samp{gcc[@key{RET}]}}. @code{send-pr} replaces the line - -@smallexample ->Category: <name of the product (one line)> -@end smallexample - -@noindent -in the template with - -@smallexample ->Category: gcc -@end smallexample - -@noindent -and moves on to another field. - -@cindex completion in Emacs -@cindex name completion in Emacs -@w{@code{send-pr}} provides name completion in the minibuffer. For -instance, you can also type @w{@samp{gc[@key{TAB}]}}, and @code{send-pr} -attempts to complete the entry for you. Typing @w{@samp{g[@key{TAB}]}} -may not have the same effect if several possible entries begin with -@samp{g}. In that case @code{send-pr} cannot complete the entry because -it cannot determine whether you mean @samp{gcc} or, for example, -@samp{gdb}, if both of those are possible categories. -@w{@code{send-pr}} continues to prompt you for a valid entry until you -enter one. - -@w{@code{send-pr}} prompts you interactively to enter each field for -which there is a range of specific choices. If you attempt to enter a -value which is not in the range of acceptable entries, @code{send-pr} -responds with @w{@samp{[No match]}} and allows you to change the entry -until it contains an acceptable value. This avoids unusable information -(at least in these fields) and also avoids typographical errors which -could cause problems later. - -@code{send-pr} prompts you for the following fields: - -@c FIXME - should these go before the discussion on completion? -@example -@group ->Category: ->Confidential: (@emph{default}: no) ->Severity: (@emph{default}: serious) ->Priority: (@emph{default}: medium) ->Class: (@emph{default}: sw-bug) ->Release: ->Synopsis: (@emph{this value is copied to @code{Subject:}}) -@end group -@end example - -@noindent -After you complete these fields, @w{@code{send-pr}} places the cursor in -the @samp{>Description:} field and displays the message - -@smallexample -To send the problem report use: C-c C-c -@end smallexample - -@noindent -in the minibuffer. At this point, edit the file in the main buffer to -reflect your specific problem, putting relevant information in the -proper fields. -@ifset SENDPR -@xref{An Example}, for a sample Problem Report. -@end ifset - -@w{@samp{send-pr}} provides a few key bindings to make moving -around in a template buffer more simple: - -@table @code -@item C-c C-f -@itemx M-x change-field -Changes the field under the cursor. @code{edit-pr} prompts you for a -new value. - -@item M-C-b -@itemx M-x gnats-backward-field -Moves the cursor to the beginning of the value of the current field. - -@item M-C-f -@itemx M-x gnats-forward-field -Moves the cursor to the end of the value of the current field. - -@item M-p -@itemx M-x gnats-previous-field -Moves the cursor back one field to the beginning of the value of the -previous field. - -@item M-n -@itemx M-x gnats-next-field -Moves the cursor forward one field to the beginning of the value of the -next field. -@end table - -@code{send-pr} takes over again when you type @samp{C-c C-c} to send the -message. @code{send-pr} reports any errors in a separate buffer, which -remains in existence until you send the PR properly (or, of course, -until you explicitly kill the buffer). - -For detailed instructions on using Emacs, see -@ref{Introduction,,,emacs,GNU Emacs}. - -@node send-pr from the shell -@section Invoking @code{send-pr} from the shell -@cindex command line options -@cindex invoking @code{send-pr} from the shell -@cindex shell invocation - -@c FIXME! Add [ -S ] right after [ -L ]... -@smallexample -send-pr [ @var{site} ] - [ -f @var{problem-report} | --file @var{problem-report} ] - [ -t @var{mail-address} | --to @var{mail-address} ] - [ --request-id ] - [ -L | --list ] [ -P | --print ] - [ -V | --version] [ -h | --help ] -@end smallexample - -@var{site} is an alias on your local machine which points to an address -used by a Support Site. If this argument is not present, the default -@var{site} is usually the site which you received @code{send-pr} from, -or your local site if you use @sc{gnats} locally. -@ifset SENDPR -(@xref{default site,,Setting a default @var{site}}.) -@end ifset - -Invoking @code{send-pr} with no options calls the editor named in your -environment variable @code{EDITOR} on a default PR template. If the -environment variable @code{PR_FORM} is set, its value is used as a file -name which contains a valid template. If @code{PR_FORM} points to a -missing or unreadable file, or if the file is empty, @code{send-pr} -generates an error message and opens the editor on a default template. - -@table @code -@item -f @var{problem-report} -@itemx --file @var{problem-report} -Specifies a file, @var{problem-report}, where a completed Problem Report -already exists. @code{send-pr} sends the contents of the file without -invoking an editor. If @var{problem-report} is @samp{-}, -@w{@code{send-pr}} reads from standard input. - -@item -t @var{mail-address} -@itemx --to @var{mail-address} -Sends the PR to @var{mail-address}. The default is preset when -@code{send-pr} is configured. @emph{This option is not recommended}; -instead, use the argument @var{site} on the command line. - -@item --request-id -Sends a request for a @code{>Submitter-Id:} to the Support Site. - -@item -L -@item --list -@cindex listing valid categories -Prints the list of valid @code{>Category:} values on standard output. -No mail is sent. - -@ignore -@item -S -@itemx --sites -Displays a list of valid @var{site} values on standard output. No mail -is sent. -@end ignore - -@item -P -@itemx --print -Displays the PR template. If the variable @code{PR_FORM} is set in your -environment, the file it specifies is printed. If @code{PR_FORM} is not -set, @code{send-pr} prints the standard blank form. If the file -specified by @code{PR_FORM} doesn't exist, @code{send-pr} displays an -error message. No mail is sent. - -@item -V -@itemx --version -Displays the @code{send-pr} version number and a usage summary. No mail -is sent. - -@item -h -@itemx --help -Displays a usage summary for @code{send-pr}. No mail is sent. -@end table - -@node Helpful hints -@section Helpful hints -@cindex helpful hints -@cindex Using and Porting GNU CC -@cindex effective problem reporting -@cindex kinds of helpful information -@cindex information to submit -@cindex Report all the facts! - -There is no orthodox standard for submitting effective bug reports, -though you might do well to consult the section on submitting bugs for -@sc{gnu} @code{gcc} in @ref{Bugs, , Reporting Bugs, gcc, Using and -Porting GNU CC}, by Richard Stallman. This section contains -instructions on what kinds of information to include and what kinds of -mistakes to avoid. - -In general, common sense (assuming such an animal exists) dictates the -kind of information that would be most helpful in tracking down and -resolving problems in software. -@itemize @bullet -@item -Include anything @emph{you} would want to know if you were looking at -the report from the other end. There's no need to include every minute -detail about your environment, although anything that might be different -from someone else's environment should be included (your path, for -instance). - -@item -Narratives are often useful, given a certain degree of restraint. If a -person responsible for a bug can see that A was executed, and then B and -then C, knowing that sequence of events might trigger the realization of -an intermediate step that was missing, or an extra step that might have -changed the environment enough to cause a visible problem. Again, -restraint is always in order (``I set the build running, went to get a -cup of coffee (Columbian, cream but no sugar), talked to Sheila on the -phone, and then THIS happened@dots{}'') but be sure to include anything -relevant. - -@item -Richard Stallman writes, ``The fundamental principle of reporting bugs -usefully is this: @strong{report all the facts}. If you are not sure -whether to state a fact or leave it out, state it!'' This holds true -across all problem reporting systems, for computer software or social -injustice or motorcycle maintenance. It is especially important in the -software field due to the major differences seemingly insignificant -changes can make (a changed variable, a missing semicolon, etc.). - -@item -Submit only @emph{one} problem with each Problem Report. If you have -multiple problems, use multiple PRs. This aids in tracking each problem -and also in analyzing the problems associated with a given program. - -@item -It never hurts to do a little research to find out if the bug you've -found has already been reported. Most software releases contain lists -of known bugs in the Release Notes which come with the software; see -your system administrator if you don't have a copy of these. - -@item -The more closely a PR adheres to the standard format, the less -interaction is required by a database administrator to route the -information to the proper place. Keep in mind that anything that -requires human interaction also requires time that might be better spent -in actually fixing the problem. It is therefore in everyone's best -interest that the information contained in a PR be as correct as -possible (in both format and content) at the time of submission. -@end itemize diff --git a/gnu/usr.bin/send-pr/send-pr-el.in b/gnu/usr.bin/send-pr/send-pr-el.in deleted file mode 100644 index a7e90409cb8..00000000000 --- a/gnu/usr.bin/send-pr/send-pr-el.in +++ /dev/null @@ -1,798 +0,0 @@ -;;;; -*-emacs-lisp-*- -;;;;--------------------------------------------------------------------------- -;;;; EMACS interface for send-pr (by Heinz G. Seidl, hgs@cygnus.com) -;;;; Slightly hacked by Brendan Kehoe (brendan@cygnus.com). -;;;; -;;;; This file is part of the Problem Report Management System (GNATS) -;;;; Copyright 1992, 1993 Cygnus Support -;;;; -;;;; 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 Library General Public -;;;; License along with this program; if not, write to the Free -;;;; Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -;;;; -;;;;--------------------------------------------------------------------------- -;;;; -;;;; This file contains the EMACS interface to the Problem Report Management -;;;; System (GNATS): -;;;; -;;;; - The `send-pr' command and the `send-pr-mode' for sending -;;;; Problem Reports (PRs). -;;;; -;;;; For more information about how to send a PR see send-pr(1). -;;;; -;;;;--------------------------------------------------------------------------- -;;;; -;;;; Configuration: the symbol `DEFAULT-RELEASE' can be replaced by -;;;; site/release specific strings during the configuration/installation -;;;; process. -;;;; -;;;; Install this file in your EMACS library directory. -;;;; -;;;;--------------------------------------------------------------------------- - -(provide 'send-pr) - -;;;;--------------------------------------------------------------------------- -;;;; Customization: put the following forms into your default.el file -;;;; (or into your .emacs) -;;;;--------------------------------------------------------------------------- - -;(autoload 'send-pr-mode "send-pr" -; "Major mode for sending problem reports." t) - -;(autoload 'send-pr "send-pr" -; "Command to create and send a problem report." t) - -;;;;--------------------------------------------------------------------------- -;;;; End of Customization Section -;;;;--------------------------------------------------------------------------- - -(autoload 'server-buffer-done "server") -(defvar server-buffer-clients nil) -(defvar mail-self-blind nil) -(defvar mail-default-reply-to nil) - -(defconst send-pr::version "xVERSIONx") - -(defvar gnats:root "xGNATS_ROOTx" - "*The top of the tree containing the GNATS database.") - -;;;;--------------------------------------------------------------------------- -;;;; hooks -;;;;--------------------------------------------------------------------------- - -(defvar text-mode-hook nil) ; we define it here in case it's not defined -(defvar send-pr-mode-hook text-mode-hook "Called when send-pr is invoked.") - -;;;;--------------------------------------------------------------------------- -;;;; Domains and default values for (some of) the Problem Report fields; -;;;; constants and definitions. -;;;;--------------------------------------------------------------------------- - -(defconst gnats::emacs-19p - (not (or (and (boundp 'epoch::version) epoch::version) - (string-lessp emacs-version "19"))) - "Is this emacs v19?") - -;;; This has to be here rather than at the bottom of this file with -;;; the other utility functions because it is used by -;;; gnats::get-config, which is called when send-pr.el is being -;;; loaded (see the "defconst" below), before the whole file has been -;;; loaded. - -(defun gnats::find-safe-default-directory (&optional buffer) -"If the directory referred to by `default-directory' for the current -buffer (or for optional argument BUFFER) does not exist, set it to the home -directory of the current user if that exists, or to `/'. - -Returns the final value of default-directory in the buffer." - (let ((homedir (expand-file-name "~/"))) - (save-excursion - (if buffer (set-buffer buffer)) - (if (not (file-exists-p default-directory)) - (if (file-exists-p homedir) - (setq default-directory homedir) - (setq default-directory "/"))) - default-directory))) - -;;; These may be changed during configuration/installation or by the individual -;;; user in his/her .emacs file. -;;; -(defun gnats::get-config (var) - (let ((shell-file-name "/bin/sh") - (buf (generate-new-buffer " *GNATS config*")) - ret) - (save-excursion - (set-buffer buf) - (shell-command-on-region - (point-min) (point-max) - (concat ". " gnats:root "/gnats-adm/config; echo $" var ) t) - (goto-char (point-min)) - ; We have to use get-buffer, since shell-command-on-region will wipe - ; out the buffer if there's no output from the command. - (if (or (not (get-buffer "*Shell Command Output*")) - (looking-at "/bin/sh:\\|\.:\\|\n")) - (setq ret nil) - (setq ret (buffer-substring (point-min) (- (point-max) 1))))) - (kill-buffer buf) - ret)) - -;; const because it must match the script's value -(defconst send-pr:datadir (or (gnats::get-config "DATADIR") "xDATADIRx") - "*Where the `gnats' subdirectory containing category lists lives.") - -(defvar send-pr::sites nil - "List of GNATS support sites; computed at runtime.") -(defvar send-pr:default-site - (or (gnats::get-config "GNATS_SITE") "xGNATS_SITEx") - "Default site to send bugs to.") -(defvar send-pr:::site send-pr:default-site - "The site to which a problem report is currently being submitted, or NIL -if using the default site (buffer local).") - -(defvar send-pr:::categories nil - "Buffer local list of available categories, derived at runtime from -send-pr:::site and send-pr::category-alist.") -(defvar send-pr::category-alist nil - "Alist of GNATS support sites and the categories supported at each; computed -at runtime.") - -;;; Ideally we would get all the following values from a central database -;;; during runtime instead of having them here in the code. -;;; -(defconst send-pr::fields - (` (("Category" send-pr::set-categories - (, (or (gnats::get-config "DEFAULT_CATEGORY") nil)) enum) - ("Class" (("sw-bug") ("doc-bug") ("change-request") ("support")) - (, (or (gnats::get-config "DEFAULT_CLASS") 0)) enum) - ("Confidential" (("yes") ("no")) - (, (or (gnats::get-config "DEFAULT_CONFIDENTIAL") 1)) enum) - ("Severity" (("non-critical") ("serious") ("critical")) - (, (or (gnats::get-config "DEFAULT_SEVERITY") 1)) enum) - ("Priority" (("low") ("medium") ("high")) - (, (or (gnats::get-config "DEFAULT_PRIORITY") 1)) enum) - ("Release" nil - (, (or (gnats::get-config "DEFAULT_RELEASE") "xDEFAULT_RELEASEx")) - text) - ("Submitter-Id" nil - (, (or (gnats::get-config "SUBMITTER") "xSUBMITTERx")) text) - ("Synopsis" nil nil text - (lambda (a b c) (gnats::set-mail-field "Subject" c))))) - "AList, keyed on the name of the field, of: -1) The field name. -2) The list of completions. This can be a list, a function to call, or nil. -3) The default value. -4) The type of the field. -5) A sub-function to call when changed.") - -(defvar gnats::fields nil) - -(defmacro gnats::push (i l) - (` (setq (, l) (cons (,@ (list i l)))))) - -(defun send-pr::set-categories (&optional arg) - "Get the list of categories for the current site out of -send-pr::category-alist if there or from send-pr if not. With arg, force -update." - ;; - (let ((entry (assoc send-pr:::site send-pr::category-alist))) - (or (and entry (null arg)) - (let ((oldpr (getenv "GNATS_ROOT")) cats) - (send-pr::set-sites arg) - (setenv "GNATS_ROOT" gnats:root) - (setq cats (gnats::get-value-from-shell - "send-pr" "-CL" send-pr:::site)) - (setenv "GNATS_ROOT" oldpr) - (if entry (setcdr entry cats) - (setq entry (cons send-pr:::site cats)) - (gnats::push entry send-pr::category-alist)))) - (setq send-pr:::categories (cdr entry)))) - -(defun send-pr::set-sites (&optional arg) - "Get the list of sites (by listing the contents of DATADIR/gnats) and assign -it to send-pr::sites. With arg, force update." - (or (and (null arg) send-pr::sites) - (progn - (setq send-pr::sites nil) - (mapcar - (function - (lambda (file) - (or (memq t (mapcar (function (lambda (x) (string= x file))) - '("." ".." "pr-edit" "pr-addr"))) - (not (file-readable-p file)) - (gnats::push (list (file-name-nondirectory file)) - send-pr::sites)))) - (directory-files (format "%s/gnats" send-pr:datadir) t)) - (setq send-pr::sites (reverse send-pr::sites))))) - -(defconst send-pr::pr-buffer-name "*send-pr*" - "Name of the temporary buffer, where the problem report gets composed.") - -(defconst send-pr::err-buffer-name "*send-pr-error*" - "Name of the temporary buffer, where send-pr error messages appear.") - -(defvar send-pr:::err-buffer nil - "The error buffer used by the current PR buffer.") - -(defvar send-pr:::spawn-to-send nil - "Whether or not send-pr-mode should spawn a send-pr process to send the PR.") - -(defconst gnats::indent 16 "Indent for formatting the value.") - -;;;;--------------------------------------------------------------------------- -;;;; `send-pr' - command for creating and sending of problem reports -;;;;--------------------------------------------------------------------------- - -(fset 'send-pr 'send-pr:send-pr) -(defun send-pr:send-pr (&optional site) - "Create a buffer and read in the result of `send-pr -P'. -When finished with editing the problem report use \\[send-pr:submit-pr] -to send the PR with `send-pr -b -f -'." - ;; - (interactive - (if current-prefix-arg - (list (completing-read "Site: " (send-pr::set-sites 'recheck) nil t - send-pr:default-site)))) - (or site (setq site send-pr:default-site)) - (let ((buf (get-buffer send-pr::pr-buffer-name))) - (if (or (not buf) - (progn (switch-to-buffer buf) - (cond ((or (not (buffer-modified-p buf)) - (y-or-n-p "Erase previous problem report? ")) - (erase-buffer) t) - (t nil)))) - (send-pr::start-up site)))) - -(defun send-pr::start-up (site) - (switch-to-buffer (get-buffer-create send-pr::pr-buffer-name)) - (setq default-directory (expand-file-name "~/")) - (auto-save-mode auto-save-default) - (let ((oldpr (getenv "GNATS_ROOT")) - (case-fold-search nil)) - (setenv "GNATS_ROOT" gnats:root) - (send-pr::insert-template site) - (setenv "GNATS_ROOT" oldpr) - (goto-char (point-min)) - (if (looking-at "send-pr:") - (cond ((looking-at "send-pr: .* does not have a categories list") - (setq send-pr::sites nil) - (error "send-pr: the GNATS site %s does not have a categories list" site)) - (t (error (buffer-substring (point-min) (point-max))))) - (save-excursion - ;; Clear cruft inserted by bdamaged .cshrcs - (goto-char 1) - (re-search-forward "^SEND-PR:") - (delete-region 1 (match-beginning 0))))) - (set-buffer-modified-p nil) - (send-pr:send-pr-mode) - (setq send-pr:::site site) - (setq send-pr:::spawn-to-send t) - (send-pr::set-categories) - (if (null send-pr:::categories) - (progn - (and send-pr:::err-buffer (kill-buffer send-pr:::err-buffer)) - (kill-buffer nil) - (message "send-pr: no categories found")) - (if (eq mail-default-reply-to t) - (setq mail-default-reply-to (getenv "REPLYTO"))) - (and mail-default-reply-to - (gnats::set-mail-field "Reply-To" mail-default-reply-to)) - (and mail-self-blind - (gnats::set-mail-field "BCC" (user-login-name))) - (mapcar 'send-pr::maybe-change-field send-pr::fields) - (gnats::position-on-field "Description") - (message (substitute-command-keys - "To send the problem report use: \\[send-pr:submit-pr]")))) - -(defvar send-pr::template-alist nil - "An alist containing the output of send-pr -P <sitename> for various sites.") - -(defun send-pr::insert-template (site) - (let ((elt (assoc site send-pr::template-alist))) - (if elt - (save-excursion (insert (cdr elt))) - (shell-command (concat "send-pr -P " site) t) - (save-excursion - (setq send-pr::template-alist - (cons (cons site (buffer-substring (point-min) (point-max))) - send-pr::template-alist)))))) - -(fset 'do-send-pr 'send-pr:submit-pr) ;backward compat -(defun send-pr:submit-pr () - "Pipe the contents of the buffer *send-pr* to `send-pr -f -.' unless this -buffer was loaded with emacsclient, in which case save the buffer and exit." - ;; - (interactive) - (cond - ((and (boundp 'server-buffer-clients) - server-buffer-clients) - (let ((buffer (current-buffer)) - (version-control nil) (buffer-backed-up nil)) - (save-buffer buffer) - (kill-buffer buffer) - (server-buffer-done buffer))) - (send-pr:::spawn-to-send - (or (and send-pr:::err-buffer - (buffer-name send-pr:::err-buffer)) - (setq send-pr:::err-buffer - (get-buffer-create send-pr::err-buffer-name))) - (let ((err-buffer send-pr:::err-buffer) mesg ok) - (save-excursion (set-buffer err-buffer) (erase-buffer)) - (message "running send-pr...") - (let ((oldpr (getenv "GNATS_ROOT"))) - (setenv "GNATS_ROOT" gnats:root) - (call-process-region (point-min) (point-max) "send-pr" - nil err-buffer nil send-pr:::site - "-b" "-f" "-") - (setenv "GNATS_ROOT" oldpr)) - (message "running send-pr...done") - ;; stupidly we cannot check the return value in EMACS 18.57, thus we need - ;; this kluge to find out whether send-pr succeeded. - (if (save-excursion - (set-buffer err-buffer) - (goto-char (point-min)) - (setq mesg (buffer-substring (point-min) (- (point-max) 1))) - (search-forward "problem report sent" nil t)) - (progn (message mesg) - (kill-buffer err-buffer) - (delete-auto-save-file-if-necessary) - (set-buffer-modified-p nil) - (bury-buffer)) - (pop-to-buffer err-buffer)) - )) - (t - (save-buffer) - (message "Exit emacs to send the PR.")))) - -;;;;--------------------------------------------------------------------------- -;;;; send-pr:send-pr-mode mode -;;;;--------------------------------------------------------------------------- - -(defvar send-pr-mode-map - (let ((map (make-sparse-keymap))) - (define-key map "\C-c\C-c" 'send-pr:submit-pr) - (define-key map "\C-c\C-f" 'gnats:change-field) - (define-key map "\M-n" 'gnats:next-field) - (define-key map "\M-p" 'gnats:previous-field) - (define-key map "\C-\M-f" 'gnats:forward-field) - (define-key map "\C-\M-b" 'gnats:backward-field) - map) - "Keymap for send-pr mode.") - -(defconst gnats::keyword "^>\\([-a-zA-Z]+\\):") -(defconst gnats::before-keyword "[ \t\n\f]*[\n\f]+>\\([-a-zA-Z]+\\):") -(defconst gnats::after-keyword "^>\\([-a-zA-Z]+\\):[ \t\n\f]+") - -(fset 'send-pr-mode 'send-pr:send-pr-mode) -(defun send-pr:send-pr-mode () - "Major mode for submitting problem reports. -For information about the form see gnats(1) and send-pr(1). -Special commands: \\{send-pr-mode-map} -Turning on send-pr-mode calls the value of the variable send-pr-mode-hook, -if it is not nil." - (interactive) - (gnats::patch-exec-path) - (put 'send-pr:send-pr-mode 'mode-class 'special) - (kill-all-local-variables) - (setq major-mode 'send-pr:send-pr-mode) - (setq mode-name "send-pr") - (use-local-map send-pr-mode-map) - (set-syntax-table text-mode-syntax-table) - (setq local-abbrev-table text-mode-abbrev-table) - (setq buffer-offer-save t) - (make-local-variable 'send-pr:::site) - (make-local-variable 'send-pr:::categories) - (make-local-variable 'send-pr:::err-buffer) - (make-local-variable 'send-pr:::spawn-to-send) - (make-local-variable 'paragraph-separate) - (setq paragraph-separate (concat (default-value 'paragraph-separate) - "\\|" gnats::keyword "[ \t\n\f]*$")) - (make-local-variable 'paragraph-start) - (setq paragraph-start (concat (default-value 'paragraph-start) - "\\|" gnats::keyword)) - (run-hooks 'send-pr-mode-hook) - t) - -;;;;--------------------------------------------------------------------------- -;;;; Functions to read and replace field values. -;;;;--------------------------------------------------------------------------- - -(defun gnats::position-on-field (field &optional quiet) - (goto-char (point-min)) - (if (not (re-search-forward (concat "^>" field ":") nil t)) - (if quiet - nil - (error "Field `>%s:' not found." field)) - (re-search-forward "[ \t\n\f]*") - (if (looking-at gnats::keyword) - (backward-char 1)) - t)) - -(defun gnats::mail-position-on-field (field) - (let (end - (case-fold-search t)) - (goto-char (point-min)) - (re-search-forward "^$") - (setq end (match-beginning 0)) - (goto-char (point-min)) - (if (not (re-search-forward (concat "^" field ":") end 'go-to-end)) - (insert field ": \n") - (re-search-forward "[ \t\n\f]*")) - (skip-chars-backward "\n") - t)) - -(defun gnats::field-contents (field &optional elem move) - (let (pos) - (unwind-protect - (save-excursion - (if (not (gnats::position-on-field field t)) - nil - (setq pos (point-marker)) - (if (or (looking-at "<.*>$") (eolp)) - t - (looking-at ".*$") ; to set match-{beginning,end} - (gnats::nth-word - (buffer-substring (match-beginning 0) (match-end 0)) - elem)))) - (and move pos (goto-char pos))))) - -(defun gnats::functionp (thing) - (or (and (symbolp thing) (fboundp thing)) - (and (listp thing) (eq (car thing) 'lambda)))) - -(defun gnats::field-values (field) - "Return the possible (known) values for field FIELD." - (let* ((fields (if (eq major-mode 'gnats:gnats-mode) gnats::fields - send-pr::fields)) - (thing (elt (assoc field fields) 1))) - (cond ((gnats::functionp thing) (funcall thing)) - ((listp thing) thing) - (t (error "ACK"))))) - -(defun gnats::field-default (field) - "Return the default value for field FIELD." - (let* ((fields (if (eq major-mode 'gnats:gnats-mode) gnats::fields - send-pr::fields)) - (thing (elt (assoc field fields) 2))) - (cond ((stringp thing) thing) - ((null thing) "") - ((numberp thing) (car (elt (gnats::field-values field) thing))) - ((gnats::functionp thing) - (funcall thing (gnats::field-contents field))) - ((eq thing t) (gnats::field-contents field)) - (t (error "ACK"))))) - -(defun gnats::field-type (field) - "Return the type of field FIELD." - (let* ((fields (if (eq major-mode 'gnats:gnats-mode) gnats::fields - send-pr::fields)) - (thing (elt (assoc field fields) 3))) - thing)) - -(defun gnats::field-action (field) - "Return the extra handling function for field FIELD." - (let* ((fields (if (eq major-mode 'gnats:gnats-mode) gnats::fields - send-pr::fields)) - (thing (elt (assoc field fields) 4))) - (cond ((null thing) 'ignore) - ((gnats::functionp thing) thing) - (t (error "ACK"))))) - -;;;;--------------------------------------------------------------------------- -;;;; Point movement functions -;;;;--------------------------------------------------------------------------- - -(or (fboundp 'defsubst) (fset 'defsubst 'defun)) - -(defun send-pr::maybe-change-field (field) - (setq field (car field)) - (let ((thing (gnats::field-contents field))) - (and thing (eq t thing) - (not (eq 'multi-text (gnats::field-type field))) - (gnats:change-field field)))) - -(defun gnats:change-field (&optional field default) - "Change the value of the field containing the cursor. With arg, ask the -user for the field to change. From a program, the function takes optional -arguments of the field to change and the default value to use." - (interactive) - (or field current-prefix-arg (setq field (gnats::current-field))) - (or field - (setq field - (completing-read "Field: " - (if (eq major-mode 'gnats:gnats-mode) - gnats::fields - send-pr::fields) - nil t))) - (gnats::position-on-field field) - (sit-for 0) - (let* ((old (gnats::field-contents field)) - new) - (if (null old) - (error "ACK") - (if (or (interactive-p) t) - (let ((prompt (concat ">" field ": ")) - (domain (gnats::field-values field)) - (type (gnats::field-type field))) - (or default (setq default (gnats::field-default field))) - (setq new - (if (eq type 'enum) - (completing-read prompt domain nil t - (if gnats::emacs-19p (cons default 0) - default)) - (read-string prompt (if gnats::emacs-19p (cons default 1) - default))))) - (setq new default)) - (gnats::set-field field new) - (funcall (gnats::field-action field) field old new) - new))) - -(defun gnats::set-field (field value) - (save-excursion - (gnats::position-on-field field) - (delete-horizontal-space) - (looking-at ".*$") - (replace-match - (concat (make-string (- gnats::indent (length field) 2) ?\40 ) value) t))) - -(defun gnats::set-mail-field (field value) - (save-excursion - (gnats::mail-position-on-field field) - (delete-horizontal-space) - (looking-at ".*$") - (replace-match (concat " " value) t))) - -(defun gnats::before-keyword (&optional where) - "Returns t if point is in some white space before a keyword. -If where is nil, then point is not changed; if where is t then point is moved -to the beginning of the keyword, otherwise it is moved to the beginning -of the white space it was in." - ;; - (if (looking-at gnats::before-keyword) - (prog1 t - (cond ((eq where t) - (re-search-forward "^>") (backward-char)) - ((not (eq where nil)) - (re-search-backward "[^ \t\n\f]") (forward-char)))) - nil)) - -(defun gnats::after-keyword (&optional where) - "Returns t if point is in some white space after a keyword. -If where is nil, then point is not changed; if where is t then point is moved -to the beginning of the keyword, otherwise it is moved to the end of the white -space it was in." - ;; - (if (gnats::looking-after gnats::after-keyword) - (prog1 t - (cond ((eq where t) - (re-search-backward "^>")) - ((not (eq where nil)) - (re-search-forward "[^ \t\n\f]") (backward-char)))) - nil)) - -(defun gnats::in-keyword (&optional where) - "Returns t if point is within a keyword. -If where is nil, then point is not changed; if where is t then point is moved -to the beginning of the keyword." - ;; - (let ((old-point (point-marker))) - (beginning-of-line) - (cond ((and (looking-at gnats::keyword) - (< old-point (match-end 0))) - (prog1 t - (if (eq where t) - t - (goto-char old-point)))) - (t (goto-char old-point) - nil)))) - -(defun gnats::forward-bofield () - "Moves point to the beginning of a field. Assumes that point is in the -keyword." - ;; - (if (re-search-forward "[ \t\n\f]+[^ \t\n\f]" (point-max) '-) - (backward-char) - t)) - -(defun gnats::backward-eofield () - "Moves point to the end of a field. Assumes point is in the keyword." - ;; - (if (re-search-backward "[^ \t\n\f][ \t\n\f]+" (point-min) '-) - (forward-char) - t)) - -(defun gnats::forward-eofield () - "Moves point to the end of a field. Assumes that point is in the field." - ;; - ;; look for the next field - (if (re-search-forward gnats::keyword (point-max) '-) - (progn (beginning-of-line) (gnats::backward-eofield)) - (re-search-backward "[^ \t\n\f][ \t\n\f]*" (point-min) '-) - (forward-char))) - -(defun gnats::backward-bofield () - "Moves point to the beginning of a field. Assumes that point is in the -field." - ;; - ;;look for previous field - (if (re-search-backward gnats::keyword (point-min) '-) - (gnats::forward-bofield) - t)) - - -(defun gnats:forward-field () - "Move point forward to the end of the field or to the beginning of the next -field." - ;; - (interactive) - (if (or (gnats::before-keyword t) (gnats::in-keyword t) - (gnats::after-keyword t)) - (gnats::forward-bofield) - (gnats::forward-eofield))) - -(defun gnats:backward-field () - "Move point backward to the beginning/end of a field." - ;; - (interactive) - (backward-char) - (if (or (gnats::before-keyword t) (gnats::in-keyword t) - (gnats::after-keyword t)) - (gnats::backward-eofield) - (gnats::backward-bofield))) - -(defun gnats:next-field () - "Move point to the beginning of the next field." - ;; - (interactive) - (if (or (gnats::before-keyword t) (gnats::in-keyword t) - (gnats::after-keyword t)) - (gnats::forward-bofield) - (if (re-search-forward gnats::keyword (point-max) '-) - (gnats::forward-bofield) - t))) - -(defun gnats:previous-field () - "Move point to the beginning of the previous field." - ;; - (interactive) - (backward-char) - (if (or (gnats::after-keyword t) (gnats::in-keyword t) - (gnats::before-keyword t)) - (progn (re-search-backward gnats::keyword (point-min) '-) - (gnats::forward-bofield)) - (gnats::backward-bofield))) - -(defun gnats:beginning-of-field () - "Move point to the beginning of the current field." - (interactive) - (cond ((gnats::in-keyword t) - (gnats::forward-bofield)) - ((gnats::after-keyword 0)) - (t - (gnats::backward-bofield)))) - -(defun gnats::current-field () - (save-excursion - (if (cond ((or (gnats::in-keyword t) (gnats::after-keyword t)) - (looking-at gnats::keyword)) - ((re-search-backward gnats::keyword nil t))) - (buffer-substring (match-beginning 1) (match-end 1)) - nil))) - -;;;;--------------------------------------------------------------------------- -;;;; Support functions -;;;;--------------------------------------------------------------------------- - -(defun gnats::looking-after (regex) - "Returns t if point is after regex." - ;; - (let* ((old-point (point)) - (start (if (eobp) - old-point - (forward-char) (point)))) - (cond ((re-search-backward regex (point-min) t) - (goto-char old-point) - (cond ((eq (match-end 0) start) - t)))))) - -(defun gnats::nth-word (string &optional elem) - "Returns the elem-th word of the string. -If elem is nil, then the first wort is returned, if elem is 0 then -the whole string is returned." - ;; - (if (integerp elem) - (cond ((eq elem 0) string) - ((eq elem 1) (gnats::first-word string)) - ((equal string "") "") - ((>= elem 2) - (let ((i 0) (value "")) - (setq string ; strip leading blanks - (substring string (or (string-match "[^ \t]" string) 0))) - (while (< i elem) - (setq value - (substring string 0 - (string-match "[ \t]*$\\|[ \t]+" string))) - (setq string - (substring string (match-end 0))) - (setq i (+ i 1))) - value))) - (gnats::first-word string))) - -(defun gnats::first-word (string) - (setq string - (substring string (or (string-match "[^ \t]" string) 0))) - (substring string 0 (string-match "[ \t]*$\\|[ \t]+" string))) - -;;;;--------------------------------------------------------------------------- - -(defun gnats::patch-exec-path () - ;; - "Replaces `//' by `/' in `exec-path'." - ;; - ;(make-local-variable 'exec-path) - (let ((err-buffer (get-buffer-create " *gnats::patch-exec-path*")) - (ret)) - (setq exec-path (save-excursion (set-buffer err-buffer) - (prin1 exec-path err-buffer) - (goto-char (point-min)) - (replace-string "//" "/") - (goto-char (point-min)) - (setq ret (read err-buffer)) - (kill-buffer err-buffer) - ret - )))) - -(defun gnats::get-value-from-shell (&rest command) - "Execute shell command to get a list of valid values for `variable'." - ;; - (let ((err-buffer (get-buffer-create " *gnats::get-value-from-shell*"))) - (save-excursion - (set-buffer err-buffer) - (unwind-protect - (condition-case var - (progn - (apply 'call-process - (car command) nil err-buffer nil (cdr command)) - (goto-char (point-min)) - (if (looking-at "[-a-z]+: ") - (error (buffer-substring (point-min) (point-max)))) - (read err-buffer)) - (error nil)) - (kill-buffer err-buffer))))) - -(or (fboundp 'setenv) - (defun setenv (variable &optional value) - "Set the value of the environment variable named VARIABLE to VALUE. -VARIABLE should be a string. VALUE is optional; if not provided or is -`nil', the environment variable VARIABLE will be removed. -This function works by modifying `process-environment'." - (interactive "sSet environment variable: \nsSet %s to value: ") - (if (string-match "=" variable) - (error "Environment variable name `%s' contains `='" variable) - (let ((pattern (concat "\\`" (regexp-quote (concat variable "=")))) - (case-fold-search nil) - (scan process-environment)) - (while scan - (cond - ((string-match pattern (car scan)) - (if (eq nil value) - (setq process-environment (delq (car scan) - process-environment)) - (setcar scan (concat variable "=" value))) - (setq scan nil)) - ((null (setq scan (cdr scan))) - (setq process-environment - (cons (concat variable "=" value) - process-environment))))))))) - -;;;; end of send-pr.el diff --git a/gnu/usr.bin/send-pr/send-pr.man b/gnu/usr.bin/send-pr/send-pr.man deleted file mode 100644 index c865e8df964..00000000000 --- a/gnu/usr.bin/send-pr/send-pr.man +++ /dev/null @@ -1,272 +0,0 @@ -.\" -*- nroff -*- -.\" -.\" $OpenBSD: send-pr.man,v 1.2 1996/03/30 15:30:07 niklas Exp $ -.\" -.\" --------------------------------------------------------------------------- -.\" man page for send-pr (by Heinz G. Seidl, hgs@cygnus.com) -.\" updated Feb 1993 for GNATS 3.00 by Jeffrey Osier, jeffrey@cygnus.com -.\" -.\" This file is part of the Problem Report Management System (GNATS) -.\" Copyright 1992 Cygnus Support -.\" -.\" 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 Library General Public -.\" License along with this program; if not, write to the Free -.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA -.\" -.\" --------------------------------------------------------------------------- -.nh -.TH SEND-PR 1 xVERSIONx "February 1993" -.SH NAME -send-pr \- send problem report (PR) to a central support site -.SH SYNOPSIS -.B send-pr -[ -.I site -] -[ -.B \-f -.I problem-report -] -[ -.B \-t -.I mail-address -] -.br -.in +0.8i -[ -.B \-P -] -[ -.B \-L -] -[ -.B \-\-request-id -] -[ -.B \-V -] -.SH DESCRIPTION -.B send-pr -is a tool used to submit -.I problem reports -.\" SITE ADMINISTRATORS - change this if you use a local default -(PRs) to a central support site. In most cases the correct -.I site -will be the default. This argument indicates the support site which -is responsible for the category of problem involved. Some sites may -use a local address as a default. -.I site -values are defined by using the -.BR aliases (5). -.LP -.B send-pr -invokes an editor on a problem report template (after trying to fill -in some fields with reasonable default values). When you exit the -editor, -.B send-pr -sends the completed form to the -.I Problem Report Management System -(\fBGNATS\fR) at a central support site. At the support site, the PR -is assigned a unique number and is stored in the \fBGNATS\fR database -according to its category and submitter-id. \fBGNATS\fR automatically -replies with an acknowledgement, citing the category and the PR -number. -.LP -To ensure that a PR is handled promptly, it should contain your (unique) -\fIsubmitter-id\fR and one of the available \fIcategories\fR to identify the -problem area. (Use -.B `send-pr -L' -to see a list of categories.) -.LP -The -.B send-pr -template at your site should already be customized with your -submitter-id (running `\|\fBinstall-sid\fP \fIsubmitter-id\fP\|' to -accomplish this is part of the installation procedures for -.BR send-pr ). -If this hasn't been done, see your system administrator for your -submitter-id, or request one from your support site by invoking -.B `send-pr \-\-request\-id'. -If your site does not distinguish between different user sites, or if -you are not affiliated with the support site, use -.B `net' -for this field. -.LP -The more precise your problem description and the more complete your -information, the faster your support team can solve your problems. -.SH OPTIONS -.TP -.BI \-f " problem-report" -specify a file (\fIproblem-report\fR) which already contains a -complete problem report. -.B send-pr -sends the contents of the file without invoking the editor. If -the value for -.I problem-report -is -.BR `\|\-\|' , -then -.B send-pr -reads from standard input. -.TP -.BI \-t " mail-address" -Change mail address at the support site for problem reports. The -default -.I mail-address -is the address used for the default -.IR site . -Use the -.I site -argument rather than this option in nearly all cases. -.TP -.B \-P -print the form specified by the environment variable -.B PR_FORM -on standard output. If -.B PR_FORM -is not set, print the standard blank PR template. No mail is sent. -.TP -.B -L -print the list of available categories. No mail is sent. -.TP -.B \-\-request\-id -sends mail to the default support site, or -.I site -if specified, with a request for your -.IR submitter-id . -If you are -not affiliated with -.IR site , -use a -.I submitter-id -of -.BR net \|'. -.TP -.B \-V -Display the -.B send-pr -version number. -.LP -Note: use -.B send-pr -to submit problem reports rather than mailing them directly. Using -both the template and -.B send-pr -itself will help ensure all necessary information will reach the -support site. -.SH ENVIRONMENT -The environment variable -.B EDITOR -specifies the editor to invoke on the template. -.br -default: -.B vi -.sp -If the environment variable -.B PR_FORM -is set, then its value is used as the file name of the template for -your problem-report editing session. You can use this to start with a -partially completed form (for example, a form with the identification -fields already completed). -.SH "HOW TO FILL OUT A PROBLEM REPORT" -Problem reports have to be in a particular form so that a program can -easily manage them. Please remember the following guidelines: -.IP \(bu 3m -describe only -.B one problem -with each problem report. -.IP \(bu 3m -For follow-up mail, use the same subject line as the one in the automatic -acknowledgent. It consists of category, PR number and the original synopsis -line. This allows the support site to relate several mail messages to a -particular PR and to record them automatically. -.IP \(bu 3m -Please try to be as accurate as possible in the subject and/or synopsis line. -.IP \(bu 3m -The subject and the synopsis line are not confidential. This is -because open-bugs lists are compiled from them. Avoid confidential -information there. -.LP -See the GNU -.B Info -file -.B send-pr.info -or the document \fIReporting Problems With send-pr\fR\ for detailed -information on reporting problems -.SH "HOW TO SUBMIT TEST CASES, CODE, ETC." -Submit small code samples with the PR. Contact the support site for -instructions on submitting larger test cases and problematic source -code. -.SH FILES -.ta \w'/tmp/pbad$$ 'u -/tmp/p$$ copy of PR used in editing session -.br -/tmp/pf$$ copy of empty PR form, for testing purposes -.br -/tmp/pbad$$ file for rejected PRs -.SH EMACS USER INTERFACE -An Emacs user interface for -.B send-pr -with completion of field values is part of the -.B send-pr -distribution (invoked with -.BR "M-x send-pr" ). -See the file -.B send-pr.info -or the ASCII file -.B INSTALL -in the top level directory of the distribution for configuration and -installation information. The Emacs LISP template file is -.B send-pr-el.in -and is installed as -.BR send-pr.el . -.SH INSTALLATION AND CONFIGURATION -See -.B send-pr.info -or -.B INSTALL -for installation instructions. -.SH SEE ALSO -.I Reporting Problems Using send-pr -(also installed as the GNU Info file -.BR send-pr.info ). -.LP -.BR gnats (l), -.BR query-pr (1), -.BR edit-pr (1), -.BR gnats (8), -.BR queue-pr (8), -.BR at-pr (8), -.BR mkcat (8), -.BR mkdist (8). -.SH AUTHORS -Jeffrey Osier, Brendan Kehoe, Jason Merrill, Heinz G. Seidl (Cygnus -Support) -.SH COPYING -Copyright (c) 1992, 1993 Free Software Foundation, Inc. -.PP -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. -.PP -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. -.PP -Permission is granted to copy and distribute translations of this -manual into another language, under the above conditions for modified -versions, except that this permission notice may be included in -translations approved by the Free Software Foundation instead of in -the original English. - diff --git a/gnu/usr.bin/send-pr/send-pr.sh b/gnu/usr.bin/send-pr/send-pr.sh deleted file mode 100644 index 0ee74f88030..00000000000 --- a/gnu/usr.bin/send-pr/send-pr.sh +++ /dev/null @@ -1,530 +0,0 @@ -#!/bin/sh -# Submit a problem report to a GNATS site. -# Copyright (C) 1993 Free Software Foundation, Inc. -# Contributed by Brendan Kehoe (brendan@cygnus.com), based on a -# version written by Heinz G. Seidl (hgs@cygnus.com). -# -# This file is part of GNU GNATS. -# -# GNU GNATS 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, or (at your option) -# any later version. -# -# GNU GNATS 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 GNU GNATS; see the file COPYING. If not, write to -# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - -# The version of this send-pr. -VERSION=xVERSIONx - -# The submitter-id for your site. -SUBMITTER=xSUBMITTERx - -# Where the GNATS directory lives, if at all. -[ -z "$GNATS_ROOT" ] && -GNATS_ROOT=xGNATS_ROOTx - -# The default mail address for PR submissions. -GNATS_ADDR=xGNATS_ADDRx - -# Where the gnats category tree lives. -DATADIR=xDATADIRx - -# If we've been moved around, try using GCC_EXEC_PREFIX. -[ ! -d $DATADIR/gnats -a -d "$GCC_EXEC_PREFIX" ] && - DATADIR=${GCC_EXEC_PREFIX}../../../lib - -# The default release for this host. -DEFAULT_RELEASE="xDEFAULT_RELEASEx" - -# The default organization. -DEFAULT_ORGANIZATION="xDEFAULT_ORGANIZATIONx" - -# The default site to look for. -GNATS_SITE=xGNATS_SITEx - -# Newer config information? -[ -f ${GNATS_ROOT}/gnats-adm/config ] && . ${GNATS_ROOT}/gnats-adm/config - -# What mailer to use. This must come after the config file, since it is -# host-dependent. -MAIL_AGENT="xMAIL_AGENTx" - -# How to read the passwd database. -PASSWD="xPASSWDx" - -ECHON=xECHONx - -if [ $ECHON = bsd ] ; then - ECHON1="echo -n" - ECHON2= -elif [ $ECHON = sysv ] ; then - ECHON1=echo - ECHON2='\c' -else - ECHON1=echo - ECHON2= -fi - -# - -if [ -z "$TMPDIR" ]; then - TMPDIR=/tmp -else - if [ "`echo $TMPDIR | grep '/$'`" != "" ]; then - TMPDIR="`echo $TMPDIR | sed -e 's,/$,,'`" - fi -fi - -TEMP=$TMPDIR/p$$ -BAD=$TMPDIR/pbad$$ -REF=$TMPDIR/pf$$ - -# find a user name -if [ "$LOGNAME" = "" ]; then - if [ "$USER" != "" ]; then - LOGNAME="$USER" - else - LOGNAME="UNKNOWN" - fi -fi - -FROM="$LOGNAME" -if [ -z "$REPLYTO" ]; then - REPLYTO="$LOGNAME" -fi - -# Find out the name of the originator of this PR. -if [ -n "$NAME" ]; then - ORIGINATOR="$NAME" -elif [ -f $HOME/.fullname ]; then - ORIGINATOR="`sed -e '1q' $HOME/.fullname`" -else - ORIGINATOR=`$PASSWD | sed -e /"$LOGNAME"/'{s/^[^:]*:[^:]*:[^:]*:[^:]*:\([^,:;]*\).*$/\1/' -e q -e } -e d` - case "$ORIGINATOR" in - *'&'*) - TEMP=`echo $LOGNAME | tr '[a-z]' '[A-Z]'` - TEMP=`echo $TEMP $LOGNAME | sed 's/^\(.\)[^ ]* ./\1/'` - ORIGINATOR=`echo "$ORIGINATOR" | sed "s/&/$TEMP/"` - ;; - esac -fi - -if [ -n "$ORGANIZATION" ]; then - if [ -f "$ORGANIZATION" ]; then - ORGANIZATION="`cat $ORGANIZATION`" - fi -else - if [ -n "$DEFAULT_ORGANIZATION" ]; then - ORGANIZATION="$DEFAULT_ORGANIZATION" - elif [ -f $HOME/.organization ]; then - ORGANIZATION="`cat $HOME/.organization`" - elif [ -f $HOME/.signature ]; then - ORGANIZATION="`cat $HOME/.signature`" - fi -fi - -# If they don't have a preferred editor set, then use -if [ -z "$VISUAL" ]; then - if [ -z "$EDITOR" ]; then - EDIT=vi - else - EDIT="$EDITOR" - fi -else - EDIT="$VISUAL" -fi - -# Find out some information. -SYSTEM=`( [ -f /bin/uname ] && /bin/uname -a ) || \ - ( [ -f /usr/bin/uname ] && /usr/bin/uname -a ) || echo ""` -ARCH=`[ -f /bin/arch ] && /bin/arch` -MACHINE=`[ -f /bin/machine ] && /bin/machine` - -COMMAND=`echo $0 | sed -e 's,.*/,,'` -USAGE="Usage: $COMMAND [-PVL] [-t address] [-f filename] [--request-id] -[--version]" -REMOVE= -BATCH= - -while [ $# -gt 0 ]; do - case "$1" in - -r) ;; # Ignore for backward compat. - -t | --to) if [ $# -eq 1 ]; then echo "$USAGE"; exit 1; fi - shift ; GNATS_ADDR="$1" - EXPLICIT_GNATS_ADDR=true - ;; - -f | --file) if [ $# -eq 1 ]; then echo "$USAGE"; exit 1; fi - shift ; IN_FILE="$1" - if [ "$IN_FILE" != "-" -a ! -r "$IN_FILE" ]; then - echo "$COMMAND: cannot read $IN_FILE" - exit 1 - fi - ;; - -b | --batch) BATCH=true ;; - -p | -P | --print) PRINT=true ;; - -L | --list) FORMAT=norm ;; - -l | -CL | --lisp) FORMAT=lisp ;; - --request-id) REQUEST_ID=true ;; - -h | --help) echo "$USAGE"; exit 0 ;; - -V | --version) echo "$VERSION"; exit 0 ;; - -*) echo "$USAGE" ; exit 1 ;; - *) if [ -z "$USER_GNATS_SITE" ]; then - if [ ! -r "$DATADIR/gnats/$1" ]; then - echo "$COMMAND: the GNATS site $1 does not have a categories list." - exit 1 - else - # The site name is the alias they'll have to have created. - USER_GNATS_SITE=$1 - fi - else - echo "$USAGE" ; exit 1 - fi - ;; - esac - shift -done - -if [ -n "$USER_GNATS_SITE" ] && [ "$USER_GNATS_SITE" != "$GNATS_SITE" ]; then - GNATS_SITE=$USER_GNATS_SITE - GNATS_ADDR=$USER_GNATS_SITE-gnats -fi - -if [ "$SUBMITTER" = "unknown" -a -z "$REQUEST_ID" -a -z "$IN_FILE" ]; then - cat << '__EOF__' -It seems that send-pr is not installed with your unique submitter-id. -You need to run - - install-sid YOUR-SID - -where YOUR-SID is the identification code you received with `send-pr'. -`send-pr' will automatically insert this value into the template field -`>Submitter-Id'. If you've downloaded `send-pr' from the Net, use `net' -for this value. If you do not know your id, run `send-pr --request-id' to -get one from your support site. -__EOF__ - exit 1 -fi - -if [ -r "$DATADIR/gnats/$GNATS_SITE" ]; then - CATEGORIES=`grep -v '^#' $DATADIR/gnats/$GNATS_SITE | sort` -else - echo "$COMMAND: could not read $DATADIR/gnats/$GNATS_SITE for categories list." - exit 1 -fi - -if [ -z "$CATEGORIES" ]; then - echo "$COMMAND: the categories list for $GNATS_SITE was empty!" - exit 1 -fi - -case "$FORMAT" in - lisp) echo "$CATEGORIES" | \ - awk 'BEGIN {printf "( "} {printf "(\"%s\") ",$0} END {printf ")\n"}' - exit 0 - ;; - norm) l=`echo "$CATEGORIES" | \ - awk 'BEGIN {max = 0; } { if (length($0) > max) { max = length($0); } } - END {print max + 1;}'` - c=`expr 70 / $l` - if [ $c -eq 0 ]; then c=1; fi - echo "$CATEGORIES" | \ - awk 'BEGIN {print "Known categories:"; i = 0 } - { printf ("%-'$l'.'$l's", $0); if ((++i % '$c') == 0) { print "" } } - END { print ""; }' - exit 0 - ;; -esac - -ORIGINATOR_C='<name of the PR author (one line)>' -ORGANIZATION_C='<organization of PR author (multiple lines)>' -CONFIDENTIAL_C='<[ yes | no ] (one line)>' -SYNOPSIS_C='<synopsis of the problem (one line)>' -SEVERITY_C='<[ non-critical | serious | critical ] (one line)>' -PRIORITY_C='<[ low | medium | high ] (one line)>' -CATEGORY_C='<name of the product (one line)>' -CLASS_C='<[ sw-bug | doc-bug | change-request | support ] (one line)>' -RELEASE_C='<release number or tag (one line)>' -ENVIRONMENT_C='<machine, os, target, libraries (multiple lines)>' -DESCRIPTION_C='<precise description of the problem (multiple lines)>' -HOW_TO_REPEAT_C='<code/input/activities to reproduce the problem (multiple lines)>' -FIX_C='<how to correct or work around the problem, if known (multiple lines)>' - -# Catch some signals. ($xs kludge needed by Sun /bin/sh) -xs=0 -trap 'rm -f $REF $TEMP; exit $xs' 0 -trap 'echo "$COMMAND: Aborting ..."; rm -f $REF $TEMP; xs=1; exit' 1 2 3 13 15 - -# If they told us to use a specific file, then do so. -if [ -n "$IN_FILE" ]; then - if [ "$IN_FILE" = "-" ]; then - # The PR is coming from the standard input. - if [ -n "$EXPLICIT_GNATS_ADDR" ]; then - sed -e "s;^[Tt][Oo]:.*;To: $GNATS_ADDR;" > $TEMP - else - cat > $TEMP - fi - else - # Use the file they named. - if [ -n "$EXPLICIT_GNATS_ADDR" ]; then - sed -e "s;^[Tt][Oo]:.*;To: $GNATS_ADDR;" $IN_FILE > $TEMP - else - cat $IN_FILE > $TEMP - fi - fi -else - - if [ -n "$PR_FORM" -a -z "$PRINT_INTERN" ]; then - # If their PR_FORM points to a bogus entry, then bail. - if [ ! -f "$PR_FORM" -o ! -r "$PR_FORM" -o ! -s "$PR_FORM" ]; then - echo "$COMMAND: can't seem to read your template file (\`$PR_FORM'), ignoring PR_FORM" - sleep 1 - PRINT_INTERN=bad_prform - fi - fi - - if [ -n "$PR_FORM" -a -z "$PRINT_INTERN" ]; then - cp $PR_FORM $TEMP || - ( echo "$COMMAND: could not copy $PR_FORM" ; xs=1; exit ) - else - for file in $TEMP $REF ; do - cat > $file << '__EOF__' -SEND-PR: -*- send-pr -*- -SEND-PR: Lines starting with `SEND-PR' will be removed automatically, as -SEND-PR: will all comments (text enclosed in `<' and `>'). -SEND-PR: -SEND-PR: Please consult the send-pr man page `send-pr(1)' or the Texinfo -SEND-PR: manual if you are not sure how to fill out a problem report. -SEND-PR: -SEND-PR: Choose from the following categories: -SEND-PR: -__EOF__ - - # Format the categories so they fit onto lines. - l=`echo "$CATEGORIES" | \ - awk 'BEGIN {max = 0; } { if (length($0) > max) { max = length($0); } } - END {print max + 1;}'` - c=`expr 61 / $l` - if [ $c -eq 0 ]; then c=1; fi - echo "$CATEGORIES" | \ - awk 'BEGIN {printf "SEND-PR: "; i = 0 } - { printf ("%-'$l'.'$l's", $0); - if ((++i % '$c') == 0) { printf "\nSEND-PR: " } } - END { printf "\nSEND-PR:\n"; }' >> $file - - cat >> $file << __EOF__ -To: $GNATS_ADDR -Subject: -From: $FROM -Reply-To: $REPLYTO -X-send-pr-version: $VERSION - - ->Submitter-Id: $SUBMITTER ->Originator: $ORIGINATOR ->Organization: -${ORGANIZATION- $ORGANIZATION_C} ->Confidential: $CONFIDENTIAL_C ->Synopsis: $SYNOPSIS_C ->Severity: $SEVERITY_C ->Priority: $PRIORITY_C ->Category: $CATEGORY_C ->Class: $CLASS_C ->Release: ${DEFAULT_RELEASE-$RELEASE_C} ->Environment: - $ENVIRONMENT_C -`[ -n "$SYSTEM" ] && echo System: $SYSTEM` -`[ -n "$ARCH" ] && echo Architecture: $ARCH` -`[ -n "$MACHINE" ] && echo Machine: $MACHINE` ->Description: - $DESCRIPTION_C ->How-To-Repeat: - $HOW_TO_REPEAT_C ->Fix: - $FIX_C -__EOF__ - done - fi - - if [ "$PRINT" = true -o "$PRINT_INTERN" = true ]; then - cat $TEMP - xs=0; exit - fi - - chmod u+w $TEMP - if [ -z "$REQUEST_ID" ]; then - eval $EDIT $TEMP - else - ed -s $TEMP << '__EOF__' -/^Subject/s/^Subject:.*/Subject: request for a customer id/ -/^>Category/s/^>Category:.*/>Category: send-pr/ -w -q -__EOF__ - fi - - if cmp -s $REF $TEMP ; then - echo "$COMMAND: problem report not filled out, therefore not sent" - xs=1; exit - fi -fi - -# -# Check the enumeration fields - -# This is a "sed-subroutine" with one keyword parameter -# (with workaround for Sun sed bug) -# -SED_CMD=' -/$PATTERN/{ -s||| -s|<.*>|| -s|^[ ]*|| -s|[ ]*$|| -p -q -}' - - -while [ -z "$REQUEST_ID" ]; do - CNT=0 - - # 1) Confidential - # - PATTERN=">Confidential:" - CONFIDENTIAL=`eval sed -n -e "\"$SED_CMD\"" $TEMP` - case "$CONFIDENTIAL" in - ""|yes|no) CNT=`expr $CNT + 1` ;; - *) echo "$COMMAND: \`$CONFIDENTIAL' is not a valid value for \`Confidential'." ;; - esac - # - # 2) Severity - # - PATTERN=">Severity:" - SEVERITY=`eval sed -n -e "\"$SED_CMD\"" $TEMP` - case "$SEVERITY" in - ""|non-critical|serious|critical) CNT=`expr $CNT + 1` ;; - *) echo "$COMMAND: \`$SEVERITY' is not a valid value for \`Severity'." - esac - # - # 3) Priority - # - PATTERN=">Priority:" - PRIORITY=`eval sed -n -e "\"$SED_CMD\"" $TEMP` - case "$PRIORITY" in - ""|low|medium|high) CNT=`expr $CNT + 1` ;; - *) echo "$COMMAND: \`$PRIORITY' is not a valid value for \`Priority'." - esac - # - # 4) Category - # - PATTERN=">Category:" - CATEGORY=`eval sed -n -e "\"$SED_CMD\"" $TEMP` - FOUND= - for C in $CATEGORIES - do - if [ "$C" = "$CATEGORY" ]; then FOUND=true ; break ; fi - done - if [ -n "$FOUND" ]; then - CNT=`expr $CNT + 1` - else - if [ -z "$CATEGORY" ]; then - echo "$COMMAND: you must include a Category: field in your report." - else - echo "$COMMAND: \`$CATEGORY' is not a known category." - fi - fi - # - # 5) Class - # - PATTERN=">Class:" - CLASS=`eval sed -n -e "\"$SED_CMD\"" $TEMP` - case "$CLASS" in - ""|sw-bug|doc-bug|change-request|support) CNT=`expr $CNT + 1` ;; - *) echo "$COMMAND: \`$CLASS' is not a valid value for \`Class'." - esac - # - # 6) Release - # - PATTERN=">Release:" - RELEASE=`eval sed -n -e "\"$SED_CMD\"" $TEMP` - if [ -z "$RELEASE" ]; then - echo "$COMMAND: you must include a Release: field in your report." - else - CNT=`expr $CNT + 1` - fi - - [ $CNT -lt 6 -a -z "$BATCH" ] && - echo "Errors were found with the problem report." - - while true; do - if [ -z "$BATCH" ]; then - $ECHON1 "a)bort, e)dit or s)end? $ECHON2" - read input - else - if [ $CNT -eq 6 ]; then - input=s - else - input=a - fi - fi - case "$input" in - a*) - if [ -z "$BATCH" ]; then - echo "$COMMAND: the problem report remains in $BAD and is not sent." - mv $TEMP $BAD - else - echo "$COMMAND: the problem report is not sent." - fi - xs=1; exit - ;; - e*) - eval $EDIT $TEMP - continue 2 - ;; - s*) - break 2 - ;; - esac - done -done -# -# Remove comments and send the problem report -# (we have to use patterns, where the comment contains regex chars) -# -# /^>Originator:/s;$ORIGINATOR;; -sed -e " -/^SEND-PR:/d -/^>Organization:/,/^>[A-Za-z-]*:/s;$ORGANIZATION_C;; -/^>Confidential:/s;<.*>;; -/^>Synopsis:/s;$SYNOPSIS_C;; -/^>Severity:/s;<.*>;; -/^>Priority:/s;<.*>;; -/^>Category:/s;$CATEGORY_C;; -/^>Class:/s;<.*>;; -/^>Release:/,/^>[A-Za-z-]*:/s;$RELEASE_C;; -/^>Environment:/,/^>[A-Za-z-]*:/s;$ENVIRONMENT_C;; -/^>Description:/,/^>[A-Za-z-]*:/s;$DESCRIPTION_C;; -/^>How-To-Repeat:/,/^>[A-Za-z-]*:/s;$HOW_TO_REPEAT_C;; -/^>Fix:/,/^>[A-Za-z-]*:/s;$FIX_C;; -" $TEMP > $REF - -if $MAIL_AGENT < $REF; then - echo "$COMMAND: problem report sent" - xs=0; exit -else - echo "$COMMAND: mysterious mail failure." - if [ -z "$BATCH" ]; then - echo "$COMMAND: the problem report remains in $BAD and is not sent." - mv $REF $BAD - else - echo "$COMMAND: the problem report is not sent." - fi - xs=1; exit -fi diff --git a/gnu/usr.bin/send-pr/send-pr.texi b/gnu/usr.bin/send-pr/send-pr.texi deleted file mode 100644 index d46a0ad6534..00000000000 --- a/gnu/usr.bin/send-pr/send-pr.texi +++ /dev/null @@ -1,657 +0,0 @@ -\input texinfo @c -*-texinfo-*- -@setfilename send-pr.info -@settitle Reporting Problems Using send-pr - -@setchapternewpage odd - -@include version.texi -@set SENDPR - -@ifinfo -@format -START-INFO-DIR-ENTRY -* send-pr: (send-pr). Reporting problems--using send-pr -END-INFO-DIR-ENTRY -@end format -@end ifinfo - -@ifinfo -Copyright @copyright{} 1993, 1994 Free Software Foundation, Inc. - -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. - -@ignore -Permission is granted to process this file through TeX and print the -results, provided the printed document carries a copying permission -notice identical to this one except for the removal of this paragraph -(this paragraph not being relevant to the printed manual). - -@end ignore - -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided also that -the entire resulting derived work is distributed under the terms of a -permission notice identical to this one. - -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions. -@end ifinfo - -@titlepage -@finalout -@title Reporting Problems -@subtitle Using @code{send-pr}, version @value{VERSION} -@subtitle October 1993 -@author Jeffrey M. Osier -@author Cygnus Support -@page - -@vskip 0pt plus 1filll - -Copyright @copyright{} 1993, 1994 Free Software Foundation, Inc. - -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 also that -the entire resulting derived work is distributed under the terms of a -permission notice identical to this one. - -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions. - -@end titlepage - -@c --------------------------------------------------------------- -@node Top -@top Overview -@cindex foreword to @code{send-pr} -@cindex overview to @code{send-pr} -@cindex introduction to @code{send-pr} - -This manual documents @code{send-pr}, -@ifinfo -version @value{VERSION}, -@end ifinfo -which uses electronic mail to submit support questions and problem -reports to a central Support Site. No body of work is perfect, and -support organizations understand this; @code{send-pr} is designed to -allow users who have problems to submit reports of these problems to -sites responsible for supporting the products in question, in a defined -form which can be read by an electronically managed database. - -@cindex GNATS -@code{send-pr} is part of a suite of programs known collectively as -@sc{gnats}, the @sc{gnu} Problem Report Management System. @sc{gnats} -consists of several programs which, used in concert, formulate and -partially administer a database of @dfn{Problem Reports}, or @dfn{PRs}, -at a central Support Site. A PR goes through several states in its -lifetime; @sc{gnats} tracks the PR and all information associated with it -through each state and finally acts as an archive for PRs which have -been @dfn{closed}. - -Because @code{send-pr} exists as a shell (@file{/bin/sh}) script and as -an Elisp file for use with @sc{gnu} Emacs, it can be used from any -machine on your network which can run a shell script and/or Emacs. - -In general, you can use any editor and mailer to submit valid Problem -Reports, as long as the format required by @sc{gnats} is preserved. -@code{send-pr} automates the process, however, and ensures that certain -fields necessary for automatic processing are present. @code{send-pr} -is strongly recommended for all initial problem-oriented correspondence -with your Support Site. The organization you submit Problem Reports to -supplies an address to which further information can be sent; the person -responsible for the category of the problem you report contacts you -directly. - -@menu -* send-pr in detail:: Details about send-pr and GNATS -* Invoking send-pr:: Editing and sending PRs -* An Example:: A working example -* Installing send-pr:: Installing send-pr on your system -* Index:: -@end menu - -@node send-pr in detail -@chapter Details about send-pr and GNATS - -@cindex details about @code{send-pr} -@cindex Problem Reports -A @dfn{Problem Report} is a message that describes a problem you are -having with a body of work. @code{send-pr} organizes this message into -a form which can be understood and automatically processed by @sc{gnats}, -the @sc{gnu} Problem Report Management System. A Problem Report is -organized into @dfn{fields} which contain data describing you, your -organization, and the problem you are announcing (@pxref{Fields,,Problem -Report format}). Problem Reports go through several defined states in -their lifetimes, from @dfn{open} to @dfn{closed} (@pxref{States,,States -of Problem Reports}). - -@menu -* States:: States of Problem Reports -* Fields:: Problem Report format -@end menu - -@include states.texi - -@include fields.texi - -@node Invoking send-pr -@chapter Editing and sending PRs -@cindex editing and sending PRs -@cindex sending PRs -@cindex invoking send-pr -@cindex using send-pr -@cindex generating new PRs - -@include s-usage.texi - -@node An Example -@chapter An Example -@cindex an example -@cindex example PR -@cindex Cygnus Support -@cindex GNU software support - -Cygnus Support in Mountain View, CA, uses @sc{gnats} and @code{send-pr} -extensively for their support activities. As a support company, Cygnus -finds problem tracking to be a crucial part of everyday business. -Cygnus supports the @sc{gnu} compiling tools (including @sc{gnats} and -@code{send-pr}) over several many platforms - -With each shipment of the Cygnus Support Developer's Kit, customers -receive the latest version of @code{send-pr}, which contains an -up-to-date listing of valid categories (values for the @code{>Category:} -field). Using these tools, Cygnus' customers can communicate their -problems to Cygnus effectively and receive automatic confirmation of -receipt as well as notification of changes in the status of their -reported problems. Much of Cygnus' support mechanism relies on -electronic mail. - -As an example, let's pretend we're a customer of Cygnus Support, and -that we're having a problem compiling some of our software using the -@sc{gnu} C compiler, which Cygnus supports. - -Assume that we're getting an error in our @code{bifrabulator} program -wherein the @samp{prestidigitation} routines don't match with the -@samp{whatsitsname}. We've made sure we're following the rules of the -program and checked the Release Notes from Cygnus and found that the bug -isn't already known. In other words, we're pretty sure we've found a -bug. - -@cindex Imaginary Software, Ltd. -Our first step is to call @code{send-pr}. It really doesn't matter -whether we use @code{send-pr} from the shell or from within Emacs. -Indeed, if we use Emacs as a primary editor, calling @code{send-pr} from -the shell is likely to start @code{send-pr} in an Emacs buffer anyway. -So, since our company, @emph{Imaginary Software, Ltd.}, uses @sc{gnu} -software extensively, we're pretty familiar with Emacs, so from within -Emacs we type -@smallexample -M-x send-pr -@end smallexample -@noindent -and we're greeted with the following screen: - -@cindex default PR template -@cindex example of a default template -@cindex blank PR template -@cindex @code{bifrabulator} -@cartouche -@smallexample -SEND-PR: -*- text -*- -SEND-PR: Lines starting with `SEND-PR' will be removed -SEND-PR: automatically as well as all comments (the text -SEND-PR: below enclosed in `<' and `>'). -SEND-PR: Please consult the manual if you are not sure -SEND-PR: how to fill out a problem report. -SEND-PR: -SEND-PR: Choose from the following categories: -SEND-PR: -SEND-PR: bfd binutils bison -SEND-PR: byacc clib config cvs diff -SEND-PR: doc emacs flex g++ gas -SEND-PR: gcc gdb glob gprof grep -SEND-PR: info ispell kerberos ld libg++ -SEND-PR: libiberty make makeinfo mas newlib -SEND-PR: other patch rcs readline send-pr -SEND-PR: test texindex texinfo texinfo.tex -SEND-PR: bifrabulator <---@emph{note: this one is fake} -SEND-PR: -To: cygnus-bugs@@cygnus.com -Subject: -From: jeffrey@@imaginary.com -Reply-To: jeffrey@@imaginary.com -X-send-pr-version: send-pr @value{VERSION} - ->Submitter-Id: imaginary ->Originator: Jeffrey Osier ->Organization: -Imaginary Software, Ltd. ->Confidential: <[ yes | no ] (one line)> ->Synopsis: <synopsis of the problem (one line)> ->Severity: <[ non-critical | serious | critical ] (one line)> ->Priority: <[ low | medium | high ] (one line)> ->Category: <name of the product (one line)> ->Class: <[sw-bug|doc-bug|change-request|support](oneline)> ->Release: <release number or tag (one line)> ->Environment: - <machine, os, target, libraries (multiple lines)> -System: SunOS imaginary.com 4.1.1 1 sun4 -Architecture: sun4 - ->Description: - <precise description of the problem (multiple lines)> ->How-To-Repeat: - <code/input/activities to reproduce (multiple lines)> ->Fix: -@iftex -@hrule -@end iftex ------Emacs: *send-pr* (send-pr Fill)----All------------------ -@iftex -@hrule -@end iftex ->Category: other[] -@end smallexample -@end cartouche -@page -We know from past experience that we need to set certain information into -each field, so we compile all the information we know about our problem. -We have some sample code which we know should work, even though it -doesn't, so we'll include that. Below is the completed PR; we send this -using @kbd{C-c C-c}. (The comments have been truncated). - -@cindex completed Problem Report -@cindex example of a completed PR -@cartouche -@smallexample -SEND-PR: Lines starting with `SEND-PR' will be removed -SEND-PR: automatically as well as all comments (the text -SEND-PR: @dots{} -SEND-PR: -To: cygnus-bugs@@cygnus.com -Subject: bifrabulator routines don't match -From: jeffrey@@imaginary.com -Reply-To: jeffrey@@imaginary.com -X-send-pr-version: send-pr @value{VERSION} - ->Submitter-Id: imaginary ->Originator: Jeffrey Osier ->Organization: -Imaginary Software, Ltd. ->Confidential: no ->Synopsis: bifrabulator routines don't match ->Severity: serious ->Priority: medium ->Category: bifrabulator ->Class: sw-bug ->Release: progressive-930101 ->Environment: -System: SunOS imaginary.com 4.1.1 1 sun4 -Architecture: sun4 (SPARC) - ->Description: - the following code I fed into the bifrabulator came back - with a strange error. apparently, the prestidigitation - routine doesn't match with the whatsitsname in all cases. - ->How-To-Repeat: - call the bifrabulator on the following code. - @emph{code sample@dots{}} - ->Fix: -@iftex -@hrule -@end iftex ------Emacs: *send-pr* (send-pr Fill)----All------------------ -@iftex -@hrule -@end iftex -To send the problem report use: C-c C-c -@end smallexample -@end cartouche - -We type @kbd{C-c C-c}, and off it goes. Now, we depend on Cygnus -Support to figure out the answer to our problem. - -Soon afterward, we get the following message from Cygnus: - -@smallexample -@group -From: gnats (GNATS management) -Sender: gnats-admin -Reply-To: hacker@@cygnus.com -To: jeffrey@@imaginary.com -Subject: Re: bifrabulator/1425: routines don't match - -Thank you very much for your problem report. -It has the internal identification: g++/1425. -The individual assigned to look at your bug is: hacker -(F.B. Hacker) - -Category: bifrabulator -Responsible: hacker -Synopsis: bifrabulator routines don't match -Arrival-Date: Sat Feb 30 03:12:55 1993 -@end group -@end smallexample - -@noindent -This is our receipt that the bug has been accepted and forwarded to the -responsible party. - -@noindent -A while later, we get the analysis: - -@smallexample -@group -To: jeffrey@@imaginary.com -From: hacker@@cygnus.com -Subject: Re: bifrabulator/1425: routines don't match -Reply-To: hacker@@cygnus.com - -Got your message, Jeff. It seems that the bifrabulator was -confusing the prestidigitation routines with the realitychecker -when lexically parsing the whatsitsname. - -I'm working on robustisizing the bifrabulator now. - -How about lunch next week? --- -F.B. Hacker -Cygnus Support, Mountain View, CA 415 903 1400 -#include <std-disclaimer.h> -@end group -@end smallexample - -@noindent -About the same time, we get another message from Cygnus. - -@cindex state change example -@cindex example of a state change -@smallexample -@group -From: hacker@@cygnus.com -To: jeffrey@@imaginary.com -Subject: Re: bifrabulator/1425: doesn't match prestidig -Reply-To: hacker@@cygnus.com - - - `F.B. Hacker' changed the state to `analyzed'. - -State-Changed-From-To: open-analyzed -State-Changed-By: hacker -State-Changed-When: Fri Feb 31 1993 08:59:16 1993 -State-Changed-Why: - figured out the problem, working on a patch this afternoon --- -F.B. Hacker -Cygnus Support, Mountain View, CA 415 903 1400 -#include <std-disclaimer.h> -@end group -@end smallexample - -@noindent -The bug has now been analyzed, and Cygnus is working on a solution. - -@noindent -Sometime later, we get more mail from F.B.: - -@smallexample -@group -To: jeffrey@@imaginary.com -From: hacker@@cygnus.com -Subject: Re: bifrabulator/1425: routines don't match -Reply-To: hacker@@cygnus.com - -There's a patch now that you can ftp over and check out. - -Hey, that joke you sent me was great! The one about the -strings walking into a bar... my boss laughed for an hour! --- -F.B. Hacker -Cygnus Support, Mountain View, CA 415 903 1400 -#include <std-disclaimer.h> -@end group -@end smallexample -@sp 2 -@smallexample -@group -From: hacker@@cygnus.com -To: jeffrey@@imaginary.com -Subject: Re: bifrabulator/1425: doesn't match prestidig -Reply-To: hacker@@cygnus.com - - - `F.B. Hacker' changed the state to `feedback'. - -State-Changed-From-To: analyzed-feedback -State-Changed-By: hacker -State-Changed-When: Fri Feb 31 1993 23:43:16 1993 -State-Changed-Why: - got the patch finished, notified Jeff at Imaginary Software --- -F.B. Hacker -Cygnus Support, Mountain View, CA 415 903 1400 -#include <std-disclaimer.h> -@end group -@end smallexample - -@noindent -The bug has gone into @dfn{feedback} status now, until we get the patch, -install it and test it. When everything tests well, we can mail F.B. -back and tell him the bug's been fixed, and he can change the state of -the PR from @dfn{feedback} to @dfn{closed}. - -Following is a list of valid @samp{>Category:} entries that are -supported by Cygnus. - -@menu -* Valid Categories:: -@end menu - -@c FIXME - is this list up to date? -@include categ.texi - -@node Installing send-pr -@appendix Installing @code{send-pr} on your system -@cindex installation - -If you receive @code{send-pr} as part of a larger software distribution, -it probably gets installed when the full distribution is installed. If -you are using @sc{gnats} at your site as well, you must decide where -@code{send-pr} sends Problem Reports by default; see @ref{default site,, -Setting a default @var{site}}. - -@menu -* installation:: installing `send-pr' by itself -* default site:: setting a default site -@end menu - -@node installation -@section Installing @code{send-pr} by itself -@cindex installation procedure - -Install @code{send-pr} by following these steps (you may need -@code{root} access in order to change the @file{aliases} file and to -install @code{send-pr}): - -@itemize @bullet -@item -Unpack the distribution into a directory which we refer to as -@var{srcdir}. - -@item -Edit the file @file{Makefile} to reflect local conventions. -Specifically, you should edit the variable @samp{prefix} to alter the -installation location. The default is @file{/usr/local}. All files are -installed under @samp{prefix} (see below). - -@item @emph{Run} -@smallexample -make all install [ info ] [ install-info ] [ clean ] -@end smallexample - -@noindent -The targets mean the following: - -@table @code -@item all -Builds @code{send-pr} and @code{install-sid} - -@item install -Installs the following: - -@table @code -@item install-sid -@itemx send-pr -into @file{@var{prefix}/bin} - -@item send-pr.1 -into @file{@var{prefix}/man/man1} - -@item @var{site} -the list of valid @var{categories} for the Support Site from which you -received @code{send-pr}, installed as -@w{@file{@var{prefix}/lib/gnats/@var{site}}} - -@item send-pr.el -into @w{@file{@var{prefix}/lib/emacs/lisp}}@footnote{If your main Emacs -lisp repository is in a different directory from this, substitute that -directory for @w{@file{@var{prefix}/lib/emacs/lisp}}.} -@end table - -@item info (@emph{optional}) -Builds @file{send-pr.info} from @file{send-pr.texi}@* -@c FIXME - is this still true? -(@file{send-pr.info} is included with this distribution) - -@item install-info (@emph{optional}) -Installs @file{send-pr.info} into @w{@file{@var{prefix}/info}} - -@item clean (@emph{optional}) -Removes all intermediary build files that can be rebuilt from source -code -@end table - -@item -Run - -@smallexample -install-sid @var{your-sid} -@end smallexample - -@noindent -where @var{your-sid} is the identification code you received with -@w{@code{send-pr}}. @code{send-pr} automatically inserts this value -into the template field @samp{>Submitter-Id:}. If you've downloaded -@code{send-pr} from the Net, use @samp{net} for this value. - -@item -Place the following line in -@w{@file{@var{prefix}/lib/emacs/lisp/default.el}}, or instruct your -users to place the following line in their @file{.emacs} files: - -@smallexample -(autoload 'send-pr "send-pr" "Submit a Problem Report." t) -@end smallexample - -@item -Create a mail alias for the Support Site from which you received -@code{send-pr}, and for every site with which you wish to use -@code{send-pr} to communicate. Each alias must have a suffix of -@samp{-gnats}. The Support Site(s) will provide the correct addresses -where these aliases should point. For instance, edit your mail aliases -file to contain something like: - -@smallexample -# support sites; for use with send-pr -cygnus-gnats: bugs@@cygnus.com # Cygnus Support -bumblebee-gnats: bumblebugs@@bumblebee.com # Bumblebee Inc. -mycompany-gnats: bugs@@my.company.com (@emph{if you use @sc{gnats} locally}) -@end smallexample - -@code{send-pr} automatically searches for these aliases when you type - -@smallexample -send-pr cygnus -send-pr bumblebee -send-pr @var{site}@dots{} -@end smallexample - -@noindent -@code{send-pr} also uses @var{site} to determine the categories of -problems accepted by the site in question by looking in - -@smallexample -@var{prefix}/lib/gnats/@var{site} -@end smallexample - -@end itemize - -@node default site -@section Setting a default @var{site} -@cindex default @var{site} -@cindex setting a default @var{site} - -@code{send-pr} is capable of sending Problem Reports to any number of -Support Sites, using mail aliases which have @samp{-gnats} appended them. -@code{send-pr} automatically appends the suffix, so that when you type - -@smallexample -send-pr @var{site} -@end smallexample - -@noindent -the Problem Report goes to the address noted in the @file{aliases} file -as @w{@samp{@var{site}-gnats}}. You can do this in the Emacs version of -@code{send-pr} by invoking the program with - -@smallexample -C-u M-x send-pr -@end smallexample - -@noindent -You are prompted for @var{site}. - -@var{site} is also used to error-check the @samp{>Category:} field, as a -precaution against sending mistaken information (and against sending -information to the wrong site). - -You may also simply type - -@smallexample -send-pr -@end smallexample - -@noindent -from the shell (or @w{@samp{M-x send-pr}} in Emacs), and the Problem -Report you generate will be sent to the @var{site}, which is usually the -site from which you received your distribution of @w{@code{send-pr}}. -If you use @sc{gnats} at your own organization, the default is usually -your local address for reporting problems. - -To change this, simply edit the file @file{Makefile} before installing -and change the line - -@smallexample -GNATS_SITE = @var{site} -@end smallexample - -@noindent -to reflect the site where you wish to send PRs by default. - -@c --------------------------------------------------------------- -@node Index -@unnumbered Index - -@printindex cp - -@c --------------------------------------------------------------- -@contents -@bye diff --git a/gnu/usr.bin/send-pr/states.texi b/gnu/usr.bin/send-pr/states.texi deleted file mode 100644 index 16ea890031b..00000000000 --- a/gnu/usr.bin/send-pr/states.texi +++ /dev/null @@ -1,53 +0,0 @@ -@node States -@section States of Problem Reports - -@cindex life-cycle of a Problem Report -@cindex states of Problem Reports -@cindex Problem Report states -@cindex automatic notification - -Each PR goes through a defined series of states between origination and -closure. The originator of a PR receives notification automatically of -any state changes. - -@table @dfn -@cindex @emph{open} state -@cindex initial state (@dfn{open}) -@cindex state---@dfn{open} -@item open -The initial state of a Problem Report. This means the PR has been filed -and the responsible person(s) notified. - -@item analyzed -@cindex @emph{analyzed} state -@cindex state---@dfn{analyzed} -The responsible person has analyzed the problem. The analysis should -contain a preliminary evaluation of the problem and an estimate of the -amount of time and resources necessary to solve the problem. It should -also suggest possible workarounds. - -@item feedback -@cindex @emph{feedback} state -@cindex state---@dfn{feedback} -The problem has been solved, and the originator has been given a patch -or other fix. The PR remains in this state until the originator -acknowledges that the solution works. - -@item closed -@cindex @emph{closed} state -@cindex state---@dfn{closed} -@cindex final state (@dfn{closed}) -A Problem Report is closed (``the bug stops here'') only when any -changes have been integrated, documented, and tested, and the submitter -has confirmed the solution. - -@item suspended -@cindex @emph{suspended} state -@cindex state---@dfn{suspended} -Work on the problem has been postponed. This happens if a timely -solution is not possible or is not cost-effective at the present time. -The PR continues to exist, though a solution is not being actively -sought. If the problem cannot be solved at all, it should be closed -rather than suspended. -@end table - |