From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22424 invoked from network); 16 Mar 2005 07:47:32 -0000 Received: from unknown (HELO lists.gnu.org) (199.232.76.165) by sourceware.org with SMTP; 16 Mar 2005 07:47:32 -0000 Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DBTUL-0005S2-Ul for listarch-gnats-devel@sources.redhat.com; Wed, 16 Mar 2005 03:02:46 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DBTTR-0005Cu-TJ for help-gnats@gnu.org; Wed, 16 Mar 2005 03:01:50 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DBTTE-000581-Mj for help-gnats@gnu.org; Wed, 16 Mar 2005 03:01:47 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DBTTA-000560-Sy for help-gnats@gnu.org; Wed, 16 Mar 2005 03:01:32 -0500 Received: from [202.75.205.68] (helo=mail.blr.velankani.com) by monty-python.gnu.org with esmtp (Exim 4.34) id 1DBT7J-0004bb-Q7 for help-gnats@gnu.org; Wed, 16 Mar 2005 02:39:25 -0500 Received: from d054 (unknown [10.0.10.12]) by mail.blr.velankani.com (Postfix) with ESMTP id 9AA77354ACB for ; Wed, 16 Mar 2005 07:41:46 +0000 (UTC) From: "Hemanth S" To: Date: Wed, 16 Mar 2005 16:46:00 -0000 Message-ID: <002501c529fb$33f6ce70$0c0a000a@blr.velankani.com> MIME-Version: 1.0 X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.6626 Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441 In-Reply-To: <20050314194142.E02F947EED@mailgate.velankani.com> Subject: Notify and reponsible mail : URL X-BeenThere: help-gnats@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General discussion about GNU GNATS List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============1884825114==" Sender: help-gnats-bounces+listarch-gnats-devel=sources.redhat.com@gnu.org Errors-To: help-gnats-bounces+listarch-gnats-devel=sources.redhat.com@gnu.org X-SW-Source: 2005-q1/txt/msg00079.txt.bz2 This is a multi-part message in MIME format. --===============1884825114== Content-Type: multipart/alternative; boundary="----=_NextPart_000_0026_01C52A29.4DAF0A70" This is a multi-part message in MIME format. ------=_NextPart_000_0026_01C52A29.4DAF0A70 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-length: 31579 Hi, =20 How to provide an hyperlink to the PR's raised. That is the mail sent to notify and responsible people when PR is raised. =20 Thanks & Regards, Hemanth S =20 Velankani Software Pvt. Ltd. 43, Electronic City, Phase II, Hosur Road, Bangalore-560100. India. Board:+91 80 28522507 x 7101 =20 "Every Customer is a Reference Customer" =20 =20 -----Original Message----- From: help-gnats-bounces+shemanth=3Dvelankani.com@gnu.org [mailto:help-gnats-bounces+shemanth=3Dvelankani.com@gnu.org] On Behalf Of help-gnats-request@gnu.org Sent: Tuesday, March 15, 2005 1:12 AM To: help-gnats@gnu.org Subject: Help-gnats Digest, Vol 28, Issue 3 =20 Send Help-gnats mailing list submissions to help-gnats@gnu.org =20 To subscribe or unsubscribe via the World Wide Web, visit http://lists.gnu.org/mailman/listinfo/help-gnats or, via email, send a message with subject or body 'help' to help-gnats-request@gnu.org =20 You can reach the person managing the list at help-gnats-owner@gnu.org =20 When replying, please edit your Subject line so it is more specific than "Re: Contents of Help-gnats digest..." =20 =20 Today's Topics: =20 1. Re: Problems with mailformat initial-response-to-submitter (Mel Hatzis) 2. Gnatsweb: Unparseable reply from gnatsd (Jeremy Cowgar) 3. Re: Gnatsweb: Unparseable reply from gnatsd (Chad Walstrom) =20 =20 ---------------------------------------------------------------------- =20 Message: 1 Date: Sun, 13 Mar 2005 09:47:59 -0800 From: Mel Hatzis Subject: Re: Problems with mailformat initial-response-to-submitter To: Micha Lenk Cc: help-gnats@gnu.org Message-ID: <42347CCF.4090208@wattes.org> Content-Type: text/plain; charset=3D"iso-8859-15" =20 Micha Lenk wrote: > Hello, >=20 > I am trying to setup my gnats (Debian package 4.0-7) installation using > custom formats for the initial mailresponse to the submitter. I think > that I have activated this feature since the option send-submitter-ack > is set to "true". But when I send a bug to bugs@mi.fs.uni-karlsruhe.de > only a mail to gnats-admin and *not* to the sender of the PR will be sent. >=20 > Can you help me? You can find the /etc/gnats/db-config/default/dbconfig > attached to this mail. =20 Can you email the header of the email message containing the bug that you're sending to 'bugs@mi.fs.uni-...'. =20 If your email message contains a 'Reply-To: gnats-admin", the "initial response to submitter" email will be sent to "gnats-admin". =20 The only other reason I can see for it to go to 'gnats-admin' is if you set the debug-mode option in the database-info section to 'true' but it looks like you haven't done this. =20 -- Mel Hatzis =20 >=20 > Thank you in advance. > Micha >=20 >=20 > ------------------------------------------------------------------------ >=20 > # This configuration file describes the standard "out-of-the-box" configuration > # for GNATS. It is responsible for describing the types of data stored > # in fields, the order of fields in the index file, and the format of > # results returned from query-pr. > # > # The format of the file is rather freeform; whitespace is unnecessary, and is > # ignored. Any text after a # is considered to be a comment, and is ignored=20 > # until the end of the line. > # > # The first section describes various aspects of the database. >=20 > database-info { > # If true, mail is sent to the gnats-admin mail address instead > # of the submitter. (Should be set to false or true.) > debug-mode false >=20 > # If true, all of the Received: headers are kept in the PR, > # otherwise only the first one is kept. > keep-all-received-headers false >=20 > # If true, we track required PR times and notify the responsible > # people when the times expire. > notify-about-expired-prs false >=20 > # Send the PR submitter an acknowledgement for a newly-submitted PR; > # the format of the message is the "mail-format" query format. > send-submitter-ack true >=20 > # The directory where at-pr and mail-pr can be found. > libexecdir "/usr/lib/gnats" >=20 > # The hours that define a business day, in 24-hour format. > business-day-hours 10-17 > # The starting and ending days of the week that define the business day. > business-week-days 1-5 >=20 > # If true, directories for categories are automatically created if they > # don't already exist. > create-category-dirs true >=20 > # The default permission mask for new category directories. > category-dir-perms "0750" > } >=20 > # > # The second section describes each field within the PR. > # > # The name specified here is also used as the field header in the PR, with > # a `>' prepended and a `:' appended. > # >=20 > field "Number" { > # This entry describes a builtin field; "number" is the internal > # name of the field. (The builtin names correspond to the old gnats > # field names, and are case-insensitive as are field names.) > builtin-name "number" >=20 > # A one-line description of the field, in human-readable form. > description "PR Number" >=20 > # Integer values are stored in this field. > integer { > # This must be -1 -- code in various programs relies on the first > # character of the field being a '-' if the value wasn't specified. > # Really, it shouldn't have a default. > default "-1" > } > # The field value may not be edited. > read-only > } >=20 > field "Category" { > builtin-name "category" > description "What area does this PR fall into?" > # > # The possible values for this field are enumerated in a separate file. > # > enumerated-in-file { > # > # The name of the file is "categories"; it is located in the > # gnats-adm subdirectory of the database. > # > path "categories" > # > # The names of the fields in the file; the file has 4 fields. > # Fields within the file are separated by colons (:). > # > fields { > "category" "fullname" "person" "notify" > } > # The file is keyed on this field. (This is currently ignored, but > # it will eventually be used and should be present. For now, this > # must always be the first field listed above.) > key "category" > } > # This field is searched when doing a --text search in query-pr. > textsearch > } >=20 > field "Synopsis" { > builtin-name "synopsis" > description "One-line summary of the PR" > text > # When doing queries on this field, by default regexps do not need to > # match the contents of the field exactly. The other possible > # value is "exact-regexp". > query-default inexact-regexp > textsearch > } >=20 > field "Confidential" { > builtin-name "confidential" > description "Yes/no flag indicating if the PR contents are confidential" > # An enumerated field with two possible values; the default value > # is "yes". > enum { > values { "yes" "no" } > default "yes" > } > textsearch > # This field may not be queried unless the user has full permissions > # to search it. (Does this actually do anything??? Probably not.) > restricted > } >=20 > field "Severity" { > builtin-name "severity" > description "How severe is the PR?" > enum { > values { "critical" "serious" "non-critical" } > default "serious" > # We don't want to suggest a default when a PR is being input. > input-default "" > } > textsearch > } >=20 > field "Priority" { > builtin-name "priority" > description "How critical is it that the PR be fixed?" > enum { > values { "high" "medium" "low" } > default "medium" > # We don't want to suggest a default when a PR is being input. > input-default "" > } > query-default exact-regexp > textsearch > } >=20 >=20 > field "Responsible" { > builtin-name "responsible" > description "The user responsible for the PR" > enumerated-in-file { > path "responsible" > fields { > "responsible" "fullname" "alias" > } > key "responsible" > # We have to allow any value here, because old GNATS didn't require > # all possible responsible users to be listed in the responsible > # file--it looks in the password database as well. > # > # The flag indicates that the value in the field doesn't have to > # match one of the entries in the administrative file. > allow-any-value > } > textsearch > # When the field is edited, we want an audit-trail entry to be added, > # and we want to require a reason for the change. > on-change { > add-audit-trail > require-change-reason > } >=20 > # Terminate the entry in the index after the first space. (bleah! Probably > # no longer needed. And we should handle this by allowing a format=20 > # character in the index spec instead of this option.) > nospaces-in-index > } >=20 > field "State" { > builtin-name "state" > description "The current state of the PR" > enumerated-in-file { > path "states" > fields { "state" "type" "description" } > key "state" > } > textsearch >=20 > on-change { > # Add Audit-Trail entries when this field changes. > add-audit-trail > # Require that a reason be supplied when this field is edited. > require-change-reason > } > # > # Here's an example of how we would set the Closed-Date: field when the > # State: field is changed to "closed". > # > # Note that a \ followed by a newline is ignored, and \n within strings > # is translated to the EOL character. > # > # Only do the edit if the new State's type is "closed". > # > on-change "State[type]=3D=3D\"closed\"" { > # > # Set the Closed-Date field to the current date. (We can also > # use $OldValue and $NewValue here as well, in addition to any > # of the PR's field values.) > # > set-field "Closed-Date" { > "%s" > "$CurrentDate" > } > } >=20 > # > # If the old PR's State: field type is closed...then we want to clear > # the Closed-Date field, because the new PR's state isn't closed anymore. > # > on-change "oldpr:State[type]=3D=3D\"closed\"" { > # > # Null it out. > # > set-field "Closed-Date" { > "" > } > } > } >=20 > field "Location" { > description "Where does the problem occur?" > enum { > values { "info" "mathe" "both" "other"} > input-default "" > } > query-default inexact-regexp > textsearch > } >=20 > field "Keywords" { > description "Keywords used to index this PR" > text > query-default inexact-regexp > textsearch > } >=20 > field "Date-Required" { > description "Date that the PR must be fixed by" > date > } >=20 > field "Class" { > description "The type of bug" > enumerated-in-file { > path "classes" > fields { "class" "type" "description" } > key "class" > } > textsearch > } >=20 > field "Submitter-Id" { > builtin-name "submitter-id" > description "Site-specific identification of the PR author" > enumerated-in-file { > path "submitters" > fields { > "submitter" "fullname" "type" "rtime" "contact" "notify" > } > key "submitter" > } > textsearch > } >=20 > field "Arrival-Date" { > builtin-name "arrival-date" > description "Arrival date of the PR" > # A date field. Dates are validated as to format before they can be > # stored; the field contents may also be empty. > date > # The field value may not be edited. > read-only > } >=20 > field "Closed-Date" { > builtin-name "closed-date" > description "Date when the PR was closed" > date > # The field may not be edited by the user. > read-only > } >=20 > field "Cases" { > description "Records about incidents related to this PR" > text > query-default inexact-regexp > textsearch > } >=20 > field "Last-Modified" { > builtin-name "last-modified" > description "Last modification date of the PR" > date > # The field may not be edited by the user. > read-only > } >=20 > field "Originator" { > builtin-name "originator" >=20 > description "Name of the PR author" >=20 > # The data type stored in this field is text.=20 > text >=20 > query-default inexact-regexp >=20 > textsearch > } >=20 > field "Release" { > description "release number or tag" > text > query-default inexact-regexp > textsearch > } >=20 > field "Organization" { > description "Organization of PR author" > # Multiple lines of text may appear in the field. > multitext > } >=20 > field "Environment" { > # Dieses Feld kann z.B. f=FCr den Hostname verwendet werden. > description "Machine, OS, target, libraries" > multitext > } >=20 > field "Description" { > builtin-name "description" > description "Precise description of the problem" > multitext > } >=20 > field "How-To-Repeat" { > description "code/input/activities to reproduce the problem" > multitext > } >=20 > field "Fix" { > description "How to correct or work around the problem, if known" > multitext { > # Do we really want this here? > default "\nUnknown" > } > } >=20 > field "Release-Note" { > multitext > } >=20 > # This field should be append-only, to prevent screwballs from deleting > # text out of it. However, we need to fix the permissions model before > # we add that sort of guff. > field "Audit-Trail" { > builtin-name "audit-trail" > description "Log of specific changes to the PR" > multitext > } >=20 > # > # This is the "limbo death nuke" field where unparsed text ends up. > # > field "Unformatted" { > builtin-name "unformatted" > description "Miscellaneous text that was not parsed properly" > multitext > } >=20 > # > # The following query sections describe the output of various types of > # queries. > # > # For a full query, all fields are printed out. The format used is > # the same as a normal PR. > # > query "full" { > fields all > } >=20 > # > # Used for edits. The field contents are displayed "raw". > # > query "edit" { > fields all > raw > } >=20 > # > # If a list of fields is given without any format specifier, the fields > # are printed out in the same format as they would appear in a PR, > # complete with headers. > # > # The standard query type is the one that is performed by default if no > # format is specified to query-pr. > #=20 > query "standard" { > fields { > "Number" "Category" "Synopsis" "Confidential" "Severity" "Priority" > "Responsible" "State" "Class" "Cases" "Location" "Keywords" > "Date-Required" "Submitter-Id" "Arrival-Date" "Closed-Date" > "Last-Modified" "Originator" "Release" > } > } >=20 > # > # The format string uses printf-style formatting to format its > # output. No headers are printed, and a trailing EOL character is > # always output. \n within the string is replaced with the proper EOL > # character. > # > # The format characters are: > # %s - plain string. > # %S - similar to %s, but the string is terminated at the first space > # that occurs in the field contents. Used for the Responsible: > # field. > # %d - integer value. This is normally used to print out enumerated > # fields with their integer equivalent, or to print out dates > # as "seconds since Jan 1, 1970". > # %D - formatted date field. > # %Q - SQL-formatted date field. > # %F - write the entire field with the header and a newline, just as if > # it were being written to a PR. Any positional indicators and > # such are ignored. > # > # For most %-formats the usual `-' and `+' positional specifiers may be given. > # > # This is the --summary format in query-pr. > # > query "summary" { > format "%8s %-8.8S %-8.8s %-9.9s %-9.9s %-8.8s %-10.10s %s" > fields { > "Number" "Responsible" "Category" "State" "Severity" "Priority" > "Submitter-Id" "Synopsis" > } > } >=20 > # > # The next two are historical silliness. > # > query "sql" { > format "%-8.8s|%-16.16s|%-128.128s|%-3.3s|%1.1d|%1.1d|%-16.16S|%1.1d|%1.1d|%-16.16s |%-21.21Q|%-64.64s|%-64.64s|%-21.21Q|%-21.21Q|%-64.64s|%-64.64s|%-21.21Q|" > fields { > "Number" "Category" "Synopsis" "Confidential" "Severity" "Priority" > "Responsible" "State" "Class" "Submitter-Id" "Arrival-Date" > "Originator" "Release" "Last-Modified" "Closed-Date" "Location" > "Keywords" "Date-Required" > } > } >=20 > query "sql2" { > format "%s|%s|%s|%s|%d|%d|%S|%d|%d|%s|%Q|%s|%s|%Q|%Q|%s|%s|%Q|" > fields { > "Number" "Category" "Synopsis" "Confidential" "Severity" "Priority" > "Responsible" "State" "Class" "Submitter-Id" "Arrival-Date" > "Originator" "Release" "Last-Modified" "Closed-Date" "Location" > "Keywords" "Date-Required" > } > } >=20 > # > # The format used for Audit-Trail entries. The following parameters > # are passed in, and can be used in addition to any of the PR fields: > # $FieldName -- the name of the field that has changed > # $OldValue -- the old value of the field > # $NewValue -- the new field value > # $EditUserEmailAddr -- the email address of the user editing the field > # $CurrentDate -- the current date > # $ChangeReason -- the reason for the change (may be blank if no reason was > # supplied) > # > audit-trail-format { > format "\ > %s-Changed-From-To: %s->%s\n\ > %s-Changed-By: %s\n\ > %s-Changed-When: %s\n\ > %s-Changed-Why:\n\ > %s\n\n" >=20 > fields { > "$FieldName" "$OldValue" "$NewValue" > "$FieldName" "$EditUserEmailAddr" > "$FieldName" "$CurrentDate" > "$FieldName" "$ChangeReason" > } > } >=20 > # > # This message is used when mailing an initial response back to the=20 > # PR submitter. > # >=20 > mail-format "initial-response-to-submitter" { > from-address { > fixed-address "gnats-admin@mi.fs.uni-karlsruhe.de" > } >=20 > # For addresses that are joined with |, we try each one in turn, from > # left to right, until we find one that's non-empty. > # Multiple addresses may be listed here. > to-addresses { > "Reply-To:" | "From:" | "From" | "Submitter-Id" > } > header { > # format "MIME-Version: 1.0\n\ > #Content-Type: text/plain; charset=3Diso-8859-1\n\ > #Content-Transfer-Encoding: 8bit\n\ > #Subject: Bug#%s: %s\n" > format "Subject: Bug#%s: %s\n" > fields { "Number" "Subject:" } > } >=20 > body { > format "Vielen Dank f=FCr Deinen Fehlerbericht.\n\ > Er hat die Fehlerbericht-Nummer %s.\n\ > Der zust=E4ndige Ansprechpartner f=FCr diesen Fehlerbericht ist %s\n\ > \n\ > %F%F%F%F\n\ > " > fields { "Number" "Responsible[fullname]" > "Category" "Responsible" "Synopsis" "Arrival-Date" } > } > } >=20 > # > # The message sent to the responsible parties when a new non-pending > # PR arrives. > # >=20 > mail-format "initial-pr-notification" { > # Who the mail is from. > from-address { > "From:" | "From" > } >=20 > # We send mail to the responsible person, the addresses listed in > # the contact and notify fields of the submitter adm file entry for > # the Submitter-Id, and the notify person listed in the category > # adm file. > to-addresses { > "Responsible" > "Submitter-Id[contact]" > "Submitter-Id[notify]" > "Category[notify]" > } >=20 > # The reply-to address; either use the Reply-To: or From: header values=20 > # from the PR, or the Submitter-Id's mail address. > reply-to { > "Reply-To:" | "From:" | "Submitter-Id" > } >=20 > # Any additional header text we want to add. Must have a newline at the > # end of each line. > header { > format "Subject: %s/%s: %s\n" > fields { "Category" "Number" "Subject:" } > } >=20 > body { > # Need to add this feature, or something like it. > # ($ExpireTime !=3D "") { > # format "\tThe contract type is `%s' with a response time of %d business hours.\n" > # fields { "Submitter-Id[type]" "$ExpireTime" } > # } > # %P is "write the entire PR". Ugh. FIXME XXX ??? !!! > format "%P" > # And if there's a %-format...there has to be an associated field.=20= =20 > # Double bleah. > fields { "$" } > } > } >=20 > # > # This format is used for initial PRs that end up as pending PRs. > # > mail-format "initial-pr-notification-pending" { > # > # Is this good? > # > from-address { > "From:" | "From" > } >=20 > # > # Boring--we only tell gnats-admin about it. > # > to-addresses { > fixed-address "gnats-admin" > } >=20 > # > # Questionable for a pending PR. > # > reply-to { > "Reply-To:" | "From:" | "Submitter-Id" > } >=20 > header { > format "Subject: %s/%s: %s (pending)\n" > fields { "Category" "Number" "Subject:" } > } >=20 > body { > # > # See above. > # > # ($ExpireTime !=3D "") { > # format "\tThe contract type is `%s' with a response time of %d business hours.\n" > # fields { "Submitter-Id[type]" "$ExpireTime" } > # } > format "%P" > fields { "$" } > } > } >=20 > # > # Used when a response to a PR is received via email. > # > # The following parameters are passed in: > # $MailFrom -- the From: line of the original message > # $MailTo -- the To: line of the original message > # $MailSubject: The Subject: line of the original message > # $MailCC: The CC: line of the original message > # $NewAuditTrail -- the text of the new audit trail entry (the body of > # the message) > # > mail-format "appended-email-response" { > from-address { > "$MailFrom" > } >=20 > # > # Should we send a copy to the user that sent in the message? > # > to-addresses { > "Responsible" > "Submitter-Id[contact]" > } >=20 > reply-to { > "$MailFrom" > } >=20 > header { > format "Subject: %s/%s: %s\n" > fields { "Category" "Number" "$MailSubject" } > } >=20 > body { > format "The following reply was made to PR %s/%s; it has been noted by GNATS.\n\n%s" > fields { "Category" "Number" "$NewAuditTrail" } > } > } >=20 > # > # Used to send mail for a change that generates an Audit-Trail entry. > # The following parameters are available: > # $EditUserEmailAddr -- the email address of the user editing the PR > # $OldResponsible -- the previous Responsible field entry, if it was changed > # $NewAuditTrail -- the Audit-Trail: entries that have been appended > # by the edits > # > mail-format "audit-mail" { > from-address { > "$EditUserEmailAddr" > } >=20 > # > to-addresses { > "Responsible" > "$OldResponsible" > "Category[notify]" > "Submitter-Id[contact]" > "$EditUserEmailAddr" > "Reply-To:" | "From:" | "From" > } >=20 > # > # ??? Good question! > # > reply-to { > fixed-address "bugs" > } >=20 > header { > format "Subject: Re: %s/%s\n" > fields { "Category" "Number" } > } >=20 > body { > format "Synopsis: %s\n\n%s\n" > fields { "Synopsis" "$NewAuditTrail" } > } > } >=20 > # > # Used to send mail when a PR is deleted. > # The following parameters are available: > # $EditUserEmailAddr -- the email address of the user deleting the PR > # $PRNum -- the number of the PR that was deleted > # Can't refer to the deleted PR at this point--it's been deleted. *bam* > # > mail-format "deleted-pr-mail" { > from-address { > "$EditUserEmailAddr" > } >=20 > # > to-addresses { > fixed-address "gnats-admin" > } >=20 > header { > format "Subject: Deleted PR %s\n" > fields { "$PRNum" } > } >=20 > body { > format "PR %s was deleted by user %s.\n" > fields { "$PRNum" "$EditUserEmailAddr" } > } > } >=20 > # > # Global on-change sections are executed once for each PR edit. > # > # This one takes care of setting the Last-Modified field. The following > # format parameters are available: > # > # $CurrentDate -- the current date > # $EditUserEmailAddr -- the email address of the user making the change(s) > # > on-change { > set-field "Last-Modified" { "%s" "$CurrentDate" } > } >=20 > # > # The index entry lists the fields that appear in the index. For now, the PR > # ID (consisting of "category/number") is always first in the index records, > # and is not explicitly given here. > # > # The binary-index keyword indicates that a binary file format will be used > # to store the index. This has several advantages over the old ASCII format, > # not the least of which is avoiding problems with quoting field separators > # (which didn't work properly in GNATS v3). > #=20 > # If the old ASCII format is used (by setting binary-index to false) a '|' is > # used as the separator between fields by default. An alternate field=20 > # separator may be given with the "separator" keyword. > # > index { > # Name of the index file in the gnats-adm directory. The name is > # respected, but you can only have one index entry per database (for > # now). The index is keyed by PR number. > path "index" > # The fields in the index, in the order in which they will appear. > fields { > "Submitter-Id" "Responsible" "State" "Confidential" "Severity" > "Priority" "Date-Required" "Location" "Keywords" "Arrival-Date" > "Last-Modified" "Closed-Date" "Class" "Originator" "Release" > "Synopsis" "Cases" > } > # A somewhat convoluted binary format is used when binary-index is set > # to true. > binary-index true > } >=20 > # initial-entry describes which fields should be present on initial entry; > # this is used by send-pr (for example) to decide which fields to include= =20 > # in the template.=20=20 > # > # These are listed in the approximate order in which they should appear in > # the template. > initial-entry { > fields { > "Submitter-Id" "Originator" "Organization" "Synopsis" "Confidential" > "Severity" "Priority" "Category" "Class" "Location" "Release" > "Environment" "Description" "How-To-Repeat" "Fix" > } > } >=20 >=20 > ------------------------------------------------------------------------ >=20 > _______________________________________________ > Help-gnats mailing list > Help-gnats@gnu.org > http://lists.gnu.org/mailman/listinfo/help-gnats =20 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 253 bytes Desc: OpenPGP digital signature Url : http://lists.gnu.org/pipermail/help-gnats/attachments/20050313/0101fd9c/sign ature.bin =20 ------------------------------ =20 Message: 2 Date: Mon, 14 Mar 2005 14:04:38 -0500 From: Jeremy Cowgar Subject: Gnatsweb: Unparseable reply from gnatsd To: help-gnats@gnu.org Message-ID: <1110827078.3886.17.camel@localhost.localdomain> Content-Type: text/plain =20 When creating a task via Gnatsweb, I recieve the following error: =20 ---- =20 Error =20 Unparseable reply from gnatsd =20 Thank you for your report. It will take a short while for your report to be processed. When it is, you will receive an automated message about it, containing the Problem Report number, and the developer who has been assigned to investigate the problem. =20 ---- =20 In my apache log: =20 ---- =20 [Mon Mar 14 14:00:21 2005] gnatsweb.pl: gnatsweb: unparseable gnatsd output: ; user=3Djcowgar, db=3Ddefault; stacktrace: In: main::get_reply <=3D main::client_cmd <=3D main::submitnewpr <=3D main::main at /usr/lib/cgi-bin/gnatsweb.pl line 442, line 215., referer: http://localhost/cgi-bin/gnatsweb.pl?debug=3D&database=3Ddefault&cmd=3Dcrea= te =20 ---- =20 I use the emacs interface all day long and have no problems. This is the only information I can find about the problem. Does anyone have any ideas? I did go through and reformat quite a bit in the dbconfig to better suit our needs. Everything I did was remove items, I added no new ones, just removed those we did not need. I have been up and down the config file w/no luck in finding anything wrong. =20 The gnatsweb edits bugs just fine, it just cannot create them. Send-pr and the emacs interface works great w/no problems. =20 Thanks! =20 Jeremy =20 =20 =20 =20 =20 ------------------------------ =20 Message: 3 Date: Mon, 14 Mar 2005 13:24:05 -0600 From: Chad Walstrom Subject: Re: Gnatsweb: Unparseable reply from gnatsd To: help-gnats@gnu.org Message-ID: <20050314192405.GC21618@wookimus.net> Content-Type: text/plain; charset=3D"us-ascii" =20 On Mon, Mar 14, 2005 at 02:04:38PM -0500, Jeremy Cowgar wrote: > I use the emacs interface all day long and have no problems. This is > the only information I can find about the problem. Does anyone have > any ideas? I did go through and reformat quite a bit in the dbconfig > to better suit our needs. Everything I did was remove items, I added > no new ones, just removed those we did not need. I have been up and > down the config file w/no luck in finding anything wrong. =20 Make sure your "initial-entry" and "index" specs in dbconfig no longer contain the fields you don't need. Then, reindex the database with gen-index. I don't recall if gnatsweb requires certain fields to be present or not, but browse through the source code just to make certain. =20 > The gnatsweb edits bugs just fine, it just cannot create them. Send-pr > and the emacs interface works great w/no problems. =20 The emacs interface may not be making assumptions about which fields are available whereas gnatsweb may be. =20 --=20 Chad Walstrom http://www.wookimus.net/ assert(expired(knowledge)); /* core dump */ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature Url : http://lists.gnu.org/pipermail/help-gnats/attachments/20050314/1b1d4b0d/atta chment.bin =20 ------------------------------ =20 _______________________________________________ Help-gnats mailing list Help-gnats@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnats =20 =20 End of Help-gnats Digest, Vol 28, Issue 3 ***************************************** ------=_NextPart_000_0026_01C52A29.4DAF0A70 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-length: 162702

Hi,

 

How to provide an hyperlink to the PR's raised. That is the mail se= nt to notify an= d responsible people when PR is raised.

 

Thanks & Regards,

Hemanth S

 

Velankani Software Pvt. Ltd.

43, Electronic City, Phase II,

Hosur Road, Bangalore-560100. India.

Board:+91 80 28522507 x 7101

 

"Every Customer is a Reference Customer"

 

 

-----Original Message-----
From: help-gnats-bounces+shemanth=3Dvelankani.com@gnu.org [mailto:help-gnats-bounces+shemanth=3Dvelankani.com@gnu.org] On Behalf Of h= elp-gnats-request@gnu.org
Sent:
Tuesday, March 15, 2005 1:12 AM
To: help-gnats@gnu.org
Subject: Help-gnats Digest, Vol 28, Issue 3

 

Send Help-gnats mailing list submissions to

      help-gnats@gnu.org

 

To subscribe or unsubscribe via the World Wide Web, visit

      http://lists.gnu.org/mailman/listinf= o/help-gnats

or, via email, send a message with subject or body 'help' to=

      help-gnats-request@gnu.org

 

You can reach the person managing the list at

      help-gnats-owner@gnu.org

 

When replying, please edit your Subject line so it is more specific=

than "Re: Contents of Help-gnats digest..."=

 

 

Today's Topics:

 

   1. Re: Problems with mailformat initial-response-to-submitter

      (Mel Hatzis)

   2. Gnatsweb: Unparseable reply from gnatsd (Jeremy Cow= gar)

   3. Re: Gnatsweb: Unparseable reply from gnatsd (Chad Walstrom)

 

 

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

 

Message: 1

Date: Sun, 13 Mar 2005 09:47:59 -0800

From: Mel Hatzis <mel@wattes.org>

Subject: Re: Problems with mailformat initial-response-to-submitter=

To: Micha Lenk <micha.lenk@fsmi-s1.fs.uni-karlsruhe.de>

Cc: help-gnats@gnu.org

Message-ID: <42347CCF.4090208@wattes.org>

Content-Type: text/plain; charset=3D"iso-8859-15"<= /font>

 

Micha Lenk wrote:

> Hello,

>

> I am trying to setup my gnats (Debian package 4.0-7) installat= ion using

> custom formats for the initial mailresponse to the submitter. I think

> that I have activated this feature since the option send-submitter-ack

> is set to "true". But when I send a bug to bugs@mi.fs.uni-karlsruhe.de

> only a mail to gnats-admin and *not* to the sender of the PR w= ill be sent.

>

> Can you help me? You can find the /etc/gnats/db-config/default/dbconfig

> attached to this mail.

 

Can you email the header of the email message containing the bug th= at

you're sending to 'bugs@mi.fs.uni-...'.

 

If your email message contains a 'Reply-To: gnats-admin", the "initial

response to submitter" email will be sent to "gnats-admin".

 

The only other reason I can see for it to go to 'gnats-admin' is if=

you set the debug-mode option in the database-info section to 'true= '

but it looks like you haven't done this.

 

--

Mel Hatzis

 

>

> Thank you in advance.

>   Micha

>

>

> ------------------------------------------------------------------------

>

> # This configuration file describes the standard "out-of-the-box" configuration

> # for GNATS.  It is responsible for describing the types = of data stored

> # in fields, the order of fields in the index file, and the fo= rmat of

> # results returned from query-pr.

> #

> # The format of the file is rather freeform; whitespace is unnecessary, and is

> # ignored.  Any text after a # is considered to be a comm= ent, and is ignored

> # until the end of the line.

> #

> # The first section describes various aspects of the database.=

>

> database-info {

>     # If true, mail is sent to the gnats-a= dmin mail address instead

>     # of the submitter.  (Should be s= et to false or true.)

>     debug-mode false

>

>     # If true, all of the Received: headers are kept in the PR,

>     # otherwise only the first one is kept= .

>     keep-all-received-headers false=

>

>     # If true, we track required PR times = and notify the responsible

>     # people when the times expire.=

>     notify-about-expired-prs false<= /font>

>

>     # Send the PR submitter an acknowledge= ment for a newly-submitted PR;

>     # the format of the message is the "mail-format" query format.

>     send-submitter-ack true<= /p>

>

>     # The directory where at-pr and mail-pr can be found.

>     libexecdir "/usr/lib/gnats"<= /span>

>

>     # The hours that define a business day= , in 24-hour format.

>     business-day-hours 10-17=

>     # The starting and ending days of the = week that define the business day.

>     business-week-days 1-5

>

>     # If true, directories for categories = are automatically created if they

>     # don't already exist.

>     create-category-dirs true

>

>     # The default permission mask for new category directories.

>     category-dir-perms "0750"

> }

>

> #

> # The second section describes each field within the PR.

> #

> # The name specified here is also used as the field header in = the PR, with

> # a `>' prepended and a `:' appended.

> #

>

> field "Number" {

>     # This entry describes a builtin field; "number" is the internal

>     # name of the field.  (The builtin names correspond to the old gnats

>     # field names, and are case-insensitiv= e as are field names.)

>     builtin-name "number"=

>

>     # A one-line description of the field,= in human-readable form.

>     description "PR Number"

>

>     # Integer values are stored in this fi= eld.

>     integer {

>         # This must be= -1 -- code in various programs relies on the first

>         # character of= the field being a '-' if the value wasn't specified.

>         # Really, it shouldn't have a default.

>         default "-1"

>     }

>     # The field value may not be edited.

>     read-only

> }

>

> field "Category" {

>     builtin-name "category"

>     description "What area does this = PR fall into?"

>     #

>     # The possible values for this field a= re enumerated in a separate file.

>     #

>     enumerated-in-file {

>     #

>     # The name of the file is "categories"; it is located in the

>     # gnats-adm subdirectory of the database.

>     #

>     path "categories"

>     #

>     # The names of the fields in the file; the = file has 4 fields.

>     # Fields within the file are separated by colons (:).

>     #

>     fields {

>         "category" "fullname" "person" "notify"

>     }

>     # The file is keyed on this field.  (T= his is currently ignored, but

>     # it will eventually be used and should be present.  For now, this

>     # must always be the first field listed abo= ve.)

>     key "category"

>     }

>     # This field is searched when doing a --text search in query-pr.

>     textsearch

> }

>

> field "Synopsis" {

>     builtin-name "synopsis"

>     description "One-line summary of = the PR"

>     text

>     # When doing queries on this field, by default regexps do not need to

>     # match the contents of the field exactly.  The other possible

>     # value is "exact-regexp".

>     query-default inexact-regexp

>     textsearch

> }

>

> field "Confidential" {

>     builtin-name "confidential"<= /span>

>     description "Yes/no flag indicati= ng if the PR contents are confidential"

>     # An enumerated field with two possible values; the default value

>     # is "yes".

>     enum {

>     values { "yes" "no" }

>     default "yes"

>     }

>     textsearch

>     # This field may not be queried unless= the user has full permissions

>     # to search it.  (Does this actua= lly do anything???  Probably not.)

>     restricted

> }

>

> field "Severity" {

>     builtin-name "severity"

>     description "How severe is the PR?"

>     enum {

>     values { "critical" "serious" "non-critical" }

>     default "serious"

>     # We don't want to suggest a default when a= PR is being input.

>     input-default ""

>     }

>     textsearch

> }

>

> field "Priority" {

>     builtin-name "priority"

>     description "How critical is it t= hat the PR be fixed?"

>     enum {

>         values { "high" "medium" "low" }

>         default "medium"

>     # We don't want to suggest a default when a= PR is being input.

>     input-default ""

>     }

>     query-default exact-regexp

>     textsearch

> }

>

>

> field "Responsible" {

>     builtin-name "responsible"

>     description "The user responsible= for the PR"

>     enumerated-in-file {

>     path "responsible"<= /p>

>     fields {

>         "responsible&q= uot; "fullname" "alias"

>     }

>     key "responsible"

>     # We have to allow any value here, because = old GNATS didn't require

>     # all possible responsible users to be list= ed in the responsible

>     # file--it looks in the password database as well.

>     #

>     # The flag indicates that the value in the field doesn't have to

>     # match one of the entries in the administrative file.

>     allow-any-value

>     }

>     textsearch

>     # When the field is edited, we want an audit-trail entry to be added,

>     # and we want to require a reason for = the change.

>     on-change {

>     add-audit-trail

>     require-change-reason

>     }

>

> # Terminate the entry in the index after the first space.  (bleah!  Probably

> # no longer needed. And we should handle this by allowing a fo= rmat

> # character in the index spec instead of this option.)<= /font>

>     nospaces-in-index

> }

>

> field "State" {

>     builtin-name "state"<= /font>

>     description "The current state of= the PR"

>     enumerated-in-file {

>     path "states"

>     fields { "state" "type" "description" }

>     key "state"

>     }

>     textsearch

>

>     on-change {

>     # Add Audit-Trail entries when this field changes.

>     add-audit-trail

>     # Require that a reason be supplied when th= is field is edited.

>     require-change-reason

>     }

> #

> # Here's an example of how we would set the Closed-Date: field when the

> # State: field is changed to "closed".=

> #

> # Note that a \ followed by a newline is ignored, and \n within strings

> # is translated to the EOL character.

> #

> # Only do the edit if the new State's type is "closed&quo= t;.

> #

>     on-change "State[type]=3D=3D\"closed\"" {

> #

> #   Set the Closed-Date field to the current date.&n= bsp; (We can also

> #       use $OldValue and $NewVa= lue here as well, in addition to any

> #       of the PR's field values= .)

> #

>     set-field "Closed-Date" {<= /font>

>         "%s"

>         "$CurrentDate&= quot;

>     }

>     }

>

> #

> # If the old PR's State: field type is closed...then we want to clear

> # the Closed-Date field, because the new PR's state isn't clos= ed anymore.

> #

>     on-change "oldpr:State[type]=3D=3D\"closed\"" {

>     #

>     # Null it out.

>     #

>     set-field "Closed-Date" {<= /font>

>         ""=

>     }

>     }

> }

>

> field "Location" {

>     description "Where does the probl= em occur?"

>     enum {

>         values { "info" "mathe" "both" "other"}

>     input-default ""

>     }

>     query-default inexact-regexp

>     textsearch

> }

>

> field "Keywords" {

>     description "Keywords used to ind= ex this PR"

>     text

>     query-default inexact-regexp

>     textsearch

> }

>

> field "Date-Required" {

>     description "Date that the PR mus= t be fixed by"

>     date

> }

>

> field "Class" {

>     description "The type of bug"= ;

>     enumerated-in-file {

>     path "classes"

>     fields { "class" "type" "description" }

>     key "class"

>     }

>     textsearch

> }

>

> field "Submitter-Id" {

>     builtin-name "submitter-id"<= /span>

>     description "Site-specific identification of the PR author"

>     enumerated-in-file {

>     path "submitters"

>     fields {

>         "submitter&quo= t; "fullname" "type" "rtime" "contact" "notify"

>     }

>     key "submitter"

>     }

>     textsearch

> }

>

> field "Arrival-Date" {

>     builtin-name "arrival-date"<= /span>

>     description "Arrival date of the PR"

>     # A date field.  Dates are valida= ted as to format before they can be

>     # stored; the field contents may also = be empty.

>     date

>     # The field value may not be edited.

>     read-only

> }

>

> field "Closed-Date" {

>     builtin-name "closed-date"

>     description "Date when the PR was closed"

>     date

>     # The field may not be edited by the u= ser.

>     read-only

> }

>

> field "Cases" {

>     description "Records about incide= nts related to this PR"

>     text

>     query-default inexact-regexp

>     textsearch

> }

>

> field "Last-Modified" {

>     builtin-name "last-modified"=

>     description "Last modification da= te of the PR"

>     date

>     # The field may not be edited by the u= ser.

>     read-only

> }

>

> field "Originator" {

>     builtin-name "originator"

>

>     description "Name of the PR author"

>

>     # The data type stored in this field is text.

>     text

>

>     query-default inexact-regexp

>

>     textsearch

> }

>

> field "Release" {

>     description "release number or tag"

>     text

>     query-default inexact-regexp

>     textsearch

> }

>

> field "Organization" {

>     description "Organization of PR author"

>     # Multiple lines of text may appear in= the field.

>     multitext

> }

>

> field "Environment" {

>     # Dieses Feld kann z.B. für den Hostname verwendet werden.

>     description "Machine, OS, target, libraries"

>     multitext

> }

>

> field "Description" {

>     builtin-name "description"

>     description "Precise description = of the problem"

>     multitext

> }

>

> field "How-To-Repeat" {

>     description "code/input/activitie= s to reproduce the problem"

>     multitext

> }

>

> field "Fix" {

>     description "How to correct or wo= rk around the problem, if known"

>     multitext {

> # Do we really want this here?

>     default "\nUnknown"=

>     }

> }

>

> field "Release-Note" {

>     multitext

> }

>

> # This field should be append-only, to prevent screwballs from deleting

> # text out of it.  However, we need to fix the permissions model before

> # we add that sort of guff.

> field "Audit-Trail" {

>     builtin-name "audit-trail"

>     description "Log of specific chan= ges to the PR"

>     multitext

> }

>

> #

> # This is the "limbo death nuke" field where unparsed text ends up.

> #

> field "Unformatted" {

>     builtin-name "unformatted"

>     description "Miscellaneous text t= hat was not parsed properly"

>     multitext

> }

>

> #

> # The following query sections describe the output of various types of

> # queries.

> #

> # For a full query, all fields are printed out.  The form= at used is

> # the same as a normal PR.

> #

> query "full" {

>     fields all

> }

>

> #

> # Used for edits.  The field contents are displayed "raw".

> #

> query "edit" {

>     fields all

>     raw

> }

>

> #

> # If a list of fields is given without any format specifier, t= he fields

> # are printed out in the same format as they would appear in a= PR,

> # complete with headers.

> #

> # The standard query type is the one that is performed by defa= ult if no

> # format is specified to query-pr.

> #

> query "standard" {

>     fields {

>     "Number" "Category" "Synopsis" "Confidential" "Severity" "Priority"

>     "Responsible" "State" "Class" "Cases" "Location" "Keywords&quo= t;

>     "Date-Required" "Submitter-Id" "Arrival-Date" "Closed-Date"

>     "Last-Modified" "Originator" "Release"

>     }

> }

>

> #

> # The format string uses printf-style formatting to format its=

> # output. No headers are printed, and a trailing EOL character= is

> # always output. \n within the string is replaced with the pro= per EOL

> # character.

> #

> # The format characters are:

> # %s - plain string.

> # %S - similar to %s, but the string is terminated at the first space

> #      that occurs in the field contents.  Used for the Responsible:

> #      field.

> # %d - integer value.  This is normally used to print out enumerated

> #      fields with their integer equivalent, or to print out dates

> #      as "seconds since = Jan 1, 1970".

> # %D - formatted date field.

> # %Q - SQL-formatted date field.

> # %F - write the entire field with the header and a newline, j= ust as if

> #      it were being written to a PR.  Any positional indicators and

> #      such are ignored.

> #

> # For most %-formats the usual `-' and `+' positional specifie= rs may be given.

> #

> # This is the --summary format in query-pr.

> #

> query "summary" {

>     format "%8s %-8.8S %-8.8s %-9.9s %-9.9s %-8.8s %-10.10s %s"

>     fields {

>     "Number" "Responsible" "Category" "State" "Severity" "Priority"

>     "Submitter-Id" "Synopsis&quo= t;

>     }

> }

>

> #

> # The next two are historical silliness.

> #

> query "sql" {

>     format "%-8.8s|%-16.16s|%-128.128s|%-3.3s|%1.1d|%1.1d|%-16.16S|%1.1d|%1.1d|%-= 16.16s|%-21.21Q|%-64.64s|%-64.64s|%-21.21Q|%-21.21Q|%-64.64s|%-64.64s|%-21.= 21Q|"

>     fields {

>     "Number" "Category" "Synopsis" "Confidential" "Severity" "Priority"

>     "Responsible" "State" "Class" "Submitter-Id" "Arrival-Date"<= /font>

>     "Originator" "Release" "Last-Modified" "Closed-Date" "Location"

>     "Keywords" "Date-Required&qu= ot;

>     }

> }

>

> query "sql2" {

>     format "%s|%s|%s|%s|%d|%d|%S|%d|%d|%s|%Q|%s|%s|%Q|%Q|%s|%s|%Q|"

>     fields {

>     "Number" "Category" "Synopsis" "Confidential" "Severity" "Priority"

>     "Responsible" "State" "Class" "Submitter-Id" "Arrival-Date"<= /font>

>     "Originator" "Release" "Last-Modified" "Closed-Date" "Location"

>     "Keywords" "Date-Required&qu= ot;

>     }

> }

>

> #

> # The format used for Audit-Trail entries.  The following parameters

> # are passed in, and can be used in addition to any of the PR fields:

> # $FieldName -- the name of the field that has changed<= /font>

> # $OldValue -- the old value of the field

> # $NewValue -- the new field value

> # $EditUserEmailAddr -- the email address of the user editing = the field

> # $CurrentDate -- the current date

> # $ChangeReason -- the reason for the change (may be blank if = no reason was

> #          &= nbsp;           &nbs= p;          supplied)

> #

> audit-trail-format {

>     format "\

> %s-Changed-From-To: %s->%s\n\

> %s-Changed-By: %s\n\

> %s-Changed-When: %s\n\

> %s-Changed-Why:\n\

> %s\n\n"

>

>     fields {

>     "$FieldName" "$OldValue" "$NewValue"

>     "$FieldName" "$EditUserEmailAddr"

>     "$FieldName" "$CurrentDate&q= uot;

>     "$FieldName" "$ChangeReason"

>     }

> }

>

> #

> # This message is used when mailing an initial response back to the

> # PR submitter.

> #

>

> mail-format "initial-response-to-submitter" {=

>     from-address {

>     fixed-address "gnats-admin@mi.fs.uni-k= arlsruhe.de"

>     }

>

>     # For addresses that are joined with |= , we try each one in turn, from

>     # left to right,  until we find o= ne that's non-empty.

>     # Multiple addresses may be listed her= e.

>     to-addresses {

>     "Reply-To:" | "From:" | "From" | "Submitter-Id"

>     }

>     header {

> #   format "MIME-Version: 1.0\n\<= /p>

> #Content-Type: text/plain; charset=3Diso-8859-1\n\

> #Content-Transfer-Encoding: 8bit\n\

> #Subject: Bug#%s: %s\n"

>     format "Subject: Bug#%s: %s\n"

>     fields { "Number" "Subject:" }

>     }

>

>     body {

> format "Vielen Dank für Deinen Fehlerbericht.\n\

> Er hat die Fehlerbericht-Nummer %s.\n\

> Der zuständige Ansprechpartner für diesen Fehlerberi= cht ist %s\n\

> \n\

> %F%F%F%F\n\

> "

>     fields { "Number" "Responsible[fullname]"

>            &= nbsp; "Category" "Responsible" "Synopsis" "Arrival-Date" }

>     }

> }

>

> #

> # The message sent to the responsible parties when a new non-pending

> # PR arrives.

> #

>

> mail-format "initial-pr-notification" {

>     # Who the mail is from.<= /p>

>     from-address {

>     "From:" | "From"=

>     }

>

>     # We send mail to the responsible pers= on, the addresses listed in

>     # the contact and notify fields of the submitter adm file entry for

>     # the Submitter-Id, and the notify per= son listed in the category

>     # adm file.

>     to-addresses {

>     "Responsible"

>     "Submitter-Id[contact]"

>     "Submitter-Id[notify]"

>     "Category[notify]"<= /p>

>     }

>

>     # The reply-to address; either use the Reply-To: or From: header values

>     # from the PR, or the Submitter-Id's m= ail address.

>     reply-to {

>     "Reply-To:" | "From:" | "Submitter-Id"

>     }

>

>     # Any additional header text we want to add.  Must have a newline at the

>     # end of each line.

>     header {

>     format "Subject: %s/%s: %s\n"

>     fields { "Category" "Number" "Subject:" }

>     }

>

>     body {

> # Need to add this feature, or something like it.

> #   ($ExpireTime !=3D "") {<= /p>

> #         format "\tThe contract type is `%s' with a response time of %d business hours.\n"

> #         fields { "Submitter-Id[type]" "$ExpireTime" }

> #   }

> #       %P is "write the en= tire PR".  Ugh.  FIXME XXX ??? !!!

>     format "%P"

>     # And if there's a %-format...there has to = be an associated field. 

>     # Double bleah.

>     fields { "$" }

>     }

> }

>

> #

> # This format is used for initial PRs that end up as pending P= Rs.

> #

> mail-format "initial-pr-notification-pending" {

>     #

>     # Is this good?

>     #

>     from-address {

>     "From:" | "From"=

>     }

>

>     #

>     # Boring--we only tell gnats-admin abo= ut it.

>     #

>     to-addresses {

>     fixed-address "gnats-admin"

>     }

>

>     #

>     # Questionable for a pending PR.

>     #

>     reply-to {

>     "Reply-To:" | "From:" | "Submitter-Id"

>     }

>

>     header {

>     format "Subject: %s/%s: %s (pending)\n"

>     fields { "Category" "Number" "Subject:" }

>     }

>

>     body {

> #

> #       See above.=

> #

> #   ($ExpireTime !=3D "") {<= /p>

> #         format "\tThe contract type is `%s' with a response time of %d business hours.\n"

> #         fields { "Submitter-Id[type]" "$ExpireTime" }

> #   }

>     format "%P"

>     fields { "$" }

>     }

> }

>

> #

> # Used when a response to a PR is received via email.

> #

> # The following parameters are passed in:

> # $MailFrom -- the From: line of the original message

> # $MailTo -- the To: line of the original message

> # $MailSubject: The Subject: line of the original message

> # $MailCC: The CC: line of the original message<= /p>

> # $NewAuditTrail -- the text of the new audit trail entry (the body of

> #           =     the message)

> #

> mail-format "appended-email-response" {

>     from-address {

>     "$MailFrom"

>     }

>

>     #

>     # Should we send a copy to the user th= at sent in the message?

>     #

>     to-addresses {

>     "Responsible"

>     "Submitter-Id[contact]"

>     }

>

>     reply-to {

>     "$MailFrom"

>     }

>

>     header {

>     format "Subject: %s/%s: %s\n"

>     fields { "Category" "Number" "$MailSubject" }

>     }

>

>     body {

>     format "The following reply was made t= o PR %s/%s; it has been noted by GNATS.\n\n%s"

>     fields { "Category" "Number" "$NewAuditTrail" }

>     }

> }

>

> #

> # Used to send mail for a change that generates an Audit-Trail entry.

> # The following parameters are available:

> # $EditUserEmailAddr -- the email address of the user editing = the PR

> # $OldResponsible -- the previous Responsible field entry, if = it was changed

> # $NewAuditTrail -- the Audit-Trail: entries that have been appended

> #            = ; by the edits

> #

> mail-format "audit-mail" {

>     from-address {

>     "$EditUserEmailAddr"

>     }

>

>     #

>     to-addresses {

>     "Responsible"

>     "$OldResponsible"

>     "Category[notify]"<= /p>

>     "Submitter-Id[contact]"

>     "$EditUserEmailAddr"

>     "Reply-To:" | "From:" | "From"

>     }

>

>     #

>     # ???  Good question!

>     #

>     reply-to {

>     fixed-address "bugs"

>     }

>

>     header {

>     format "Subject: Re: %s/%s\n"

>     fields { "Category" "Number" }

>     }

>

>     body {

>     format "Synopsis: %s\n\n%s\n"

>     fields { "Synopsis" "$NewAuditTrail" }

>     }

> }

>

> #

> # Used to send mail when a PR is deleted.

> # The following parameters are available:

> # $EditUserEmailAddr -- the email address of the user deleting= the PR

> # $PRNum -- the number of the PR that was deleted

> # Can't refer to the deleted PR at this point--it's been delet= ed. *bam*

> #

> mail-format "deleted-pr-mail" {

>     from-address {

>     "$EditUserEmailAddr"

>     }

>

>     #

>     to-addresses {

>     fixed-address "gnats-admin"

>     }

>

>     header {

>     format "Subject: Deleted PR %s\n"=

>     fields { "$PRNum" }=

>     }

>

>     body {

>     format "PR %s was deleted by user %s.\n"

>     fields { "$PRNum" "$EditUserEmailAddr" }

>     }

> }

>

> #

> # Global on-change sections are executed once for each PR edit= .

> #

> # This one takes care of setting the Last-Modified field.  The following

> # format parameters are available:

> #

> # $CurrentDate -- the current date

> # $EditUserEmailAddr -- the email address of the user making t= he change(s)

> #

> on-change {

>     set-field "Last-Modified" { "%s" "$CurrentDate" }

> }

>

> #

> # The index entry lists the fields that appear in the index.&n= bsp; For now, the PR

> # ID (consisting of "category/number") is always fir= st in the index records,

> # and is not explicitly given here.

> #

> # The binary-index keyword indicates that a binary file format will be used

> # to store the index.  This has several advantages over t= he old ASCII format,

> # not the least of which is avoiding problems with quoting fie= ld separators

> # (which didn't work properly in GNATS v3).

> #

> # If the old ASCII format is used (by setting binary-index to false) a '|' is

> # used as the separator between fields by default.  An alternate field

> # separator may be given with the "separator" keywor= d.

> #

> index {

>     # Name of the index file in the gnats-= adm directory.  The name is

>     # respected, but you can only have one index entry per database (for

>     # now).  The index is keyed by PR number.

>     path "index"

>     # The fields in the index, in the orde= r in which they will appear.

>     fields {

>     "Submitter-Id" "Responsible" "State" "Confidential" "Severity"

>     "Priority" "Date-Required&qu= ot; "Location" "Keywords" "Arrival-Date"

>     "Last-Modified" "Closed-Date" "Class" "Originator" "Release"

>     "Synopsis" "Cases"

>     }

>     # A somewhat convoluted binary format = is used when binary-index is set

>     # to true.

>     binary-index true

> }

>

> # initial-entry describes which fields should be present on initial entry;

> # this is used by send-pr (for example) to decide which fields= to include

> # in the template. 

> #

> # These are listed in the approximate order in which they shou= ld appear in

> # the template.

> initial-entry {

>     fields {

>     "Submitter-Id" "Originator&q= uot; "Organization" "Synopsis" "Confidential"

>     "Severity" "Priority" "Category" "Class" "Location" "Release&q= uot;

>     "Environment" "Description&q= uot; "How-To-Repeat" "Fix"

>     }

> }

>

>

> ------------------------------------------------------------------------

>

> _______________________________________________<= /p>

> Help-gnats mailing list

> Help-gnats@gnu.org

> http://lists.gnu.org/mailman/listinfo/help-gnats=

 

-------------- next part --------------

A non-text attachment was scrubbed...

Name: signature.asc

Type: application/pgp-signature

Size: 253 bytes

Desc: OpenPGP digital signature

Url : http://lists.gnu.org/pipermail/help-gnats/attachments/2005031= 3/0101fd9c/signature.bin

 

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

 

Message: 2

Date: Mon, 14 Mar 2005 14:04:38 -0500

From: Jeremy Cowgar <jcowgar@advancedpricing.com>

Subject: Gnatsweb: Unparseable reply from gnatsd

To: help-gnats@gnu.org

Message-ID: <1110827078.3886.17.camel@localhost.localdomain><= /span>

Content-Type: text/plain

 

When creating a task via Gnatsweb, I recieve the following error:

 

----

 

Error

 

Unparseable reply from gnatsd

 

Thank you for your report. It will take a short while for your repo= rt to

be processed. When it is, you will receive an automated message abo= ut

it, containing the Problem Report number, and the developer who has been

assigned to investigate the problem.

 

----

 

In my apache log:

 

----

 

[Mon Mar 14 14:00:21 2005] gnatsweb.pl: gnatsweb: unparseable gnatsd

output: ; user=3Djcowgar, db=3Ddefault; stacktrace: In: main::get_r= eply <=3D

main::client_cmd <=3D main::submitnewpr <=3D main::main

at /usr/lib/cgi-bin/gnatsweb.pl line 442, <SOCK> line 215., r= eferer:

http://localhost/cgi-bin/gnatsweb.pl?debug=3D&database=3Ddefaul= t&cmd=3Dcreate

 

----

 

I use the emacs interface all day long and have no problems. This is the

only information I can find about the problem. Does anyone have any=

ideas? I did go through and reformat quite a bit in the dbconfig to=

better suit our needs. Everything I did was remove items, I added no new

ones, just removed those we did not need. I have been up and down t= he

config file w/no luck in finding anything wrong.

 

The gnatsweb edits bugs just fine, it just cannot create them. Send= -pr

and the emacs interface works great w/no problems.

 

Thanks!

 

Jeremy

 

 

 

 

 

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

 

Message: 3

Date: Mon, 14 Mar 2005 13:24:05 -0600

From: Chad Walstrom <chewie@wookimus.net>

Subject: Re: Gnatsweb: Unparseable reply from gnatsd<= /p>

To: help-gnats@gnu.org

Message-ID: <20050314192405.GC21618@wookimus.net>

Content-Type: text/plain; charset=3D"us-ascii"

 

On Mon, Mar 14, 2005 at 02:04:38PM -0500, Jeremy Cowg= ar wrote:

> I use the emacs interface all day long and have no problems. T= his is

> the only information I can find about the problem. Does anyone have

> any ideas? I did go through and reformat quite a bit in the dbconfig

> to better suit our needs. Everything I did was remove items, I= added

> no new ones, just removed those we did not need. I have been up and

> down the config file w/no luck in finding anything wrong.

 

Make sure your "initial-entry" and "index" spec= s in dbconfig no longer

contain the fields you don't need.  Then, reindex the database with

gen-index.  I don't recall if gnatsweb requires certain fields= to be

present or not, but browse through the source code just to make certain.

 

> The gnatsweb edits bugs just fine, it just cannot create them. Send-pr

> and the emacs interface works great w/no problems.

 

The emacs interface may not be making assumptions about which fields are

available whereas gnatsweb may be.

 

--

Chad Walstrom <chewie@wookimus.net>        =    http://www.wookimus.net/

           assert= (expired(knowledge)); /* core dump */

-------------- next part --------------

A non-text attachment was scrubbed...

Name: not available

Type: application/pgp-signature

Size: 189 bytes

Desc: Digital signature

Url : http://lists.gnu.org/pipermail/help-gnats/attachments/2005031= 4/1b1d4b0d/attachment.bin

 

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

 

_______________________________________________

Help-gnats mailing list

Help-gnats@gnu.org

http://lists.gnu.org/mailman/listinfo/help-gnats

 

 

End of Help-gnats Digest, Vol 28, Issue 3

*****************************************

------=_NextPart_000_0026_01C52A29.4DAF0A70-- --===============1884825114== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 140 _______________________________________________ Help-gnats mailing list Help-gnats@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnats --===============1884825114==--