diff options
Diffstat (limited to 'databases/gnats/files/gnats-edit-pr.patch')
-rw-r--r-- | databases/gnats/files/gnats-edit-pr.patch | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/databases/gnats/files/gnats-edit-pr.patch b/databases/gnats/files/gnats-edit-pr.patch new file mode 100644 index 00000000000..5a6d4085f02 --- /dev/null +++ b/databases/gnats/files/gnats-edit-pr.patch @@ -0,0 +1,126 @@ +--- gnats/gnats-edit-pr.sh.orig Tue Apr 20 16:17:07 1999 ++++ gnats/gnats-edit-pr.sh Sun May 28 09:27:12 2000 +@@ -124,15 +124,18 @@ + + *) + if [ "`echo $1 | grep /`" != "" ]; then +- pr_id=`echo $1 | awk -F"/" '{print $2}' -` ++ pr=`echo $1 | awk -F"/" '{print $2}' -` + else +- pr_id=$1 ++ pr=$1 + fi ++ prs="$prs $pr" + ;; + esac + shift + done + ++for pr_id in $prs ; do ++ + # set command here to always pass host and port, and directory if supplied + if [ "$mode" = "network" ]; then + prog="nedit-pr" +@@ -192,7 +195,7 @@ + if cmp -s $new.old $new ; then + echo "$prog: PR not changed" + $PR_EDIT --unlock $pr_id +- exit 0 ++ continue + fi + + # error-check output by calling pr-edit --check; if mistakes exist, +@@ -229,6 +232,8 @@ + new_resp="`sed -n '/^>Responsible:/{s,^>[-a-zA-Z]*: *,,;s, *(.*,,g;p;q;}' $new`" + old_synopsis="`sed -n '/^>Synopsis:/{s,^>[-a-zA-Z]*: *,,;p;q;}' $new.old`" + new_synopsis="`sed -n '/^>Synopsis:/{s,^>[-a-zA-Z]*: *,,;p;q;}' $new`" ++old_class="`sed -n '/^>Class:/{s,^>[-a-zA-Z]*: *,,;p;q;}' $new.old`" ++new_class="`sed -n '/^>Class:/{s,^>[-a-zA-Z]*: *,,;p;q;}' $new`" + full_id="`sed -n '/^>Category:/{s,^>[-a-zA-Z]*: *,,;p;q;}' $new`/$pr_id" + + # If you can read this, you may have a future in sed(1) programming. +@@ -256,8 +261,12 @@ + if [ "$old_resp" != "$new_resp" ]; then + resp_change=yes + fi ++if [ "$old_class" != "$new_class" ]; then ++ class_change=yes ++fi + +-if [ ! -z "$state_change" ] || [ ! -z "$resp_change" ]; then ++if [ ! -z "$state_change" ] || [ ! -z "$resp_change" ] || \ ++ [ ! -z "$class_change" ]; then + # we've got a change + mail_to="$me" + if [ ! -z "$state_change" ]; then +@@ -266,14 +275,38 @@ + echo State-Changed-By: $me >> $change_msg + echo State-Changed-When: $DATE >> $change_msg + echo "State-Changed-Why: " >> $change_msg +- echo 'Why did the state change? (Ctrl-D to end)' +- cat >> $change_msg ++ if [ -e /tmp/chng.$$ ]; then ++ echo "Re-use last message (y/n)?" ++ read yesno ++ if [ "$yesno" != "y" ]; then ++ cat /home/gnats/gnats-adm/edit-pr-msg > /tmp/chng.$$ ++ fi ++ else ++ cat /home/gnats/gnats-adm/edit-pr-msg > /tmp/chng.$$ ++ fi ++ $VISUAL /tmp/chng.$$ ++ sed '/^GNATS:/d' /tmp/chng.$$ >> $change_msg + to_old=1 + to_subm=1 ++ if [ ! -z "$class_change" ] || [ ! -z "$resp_change" ]; then ++ echo "" >> $change_msg ++ echo "" >> $change_msg ++ fi + fi +- if [ ! -z "$state_change" ] && [ ! -z "$resp_change" ]; then +- echo "" >> $change_msg +- echo "" >> $change_msg ++ if [ ! -z "$class_change" ]; then ++ $debug_print "Doing class change." ++ echo Class-Changed-From-To: "$old_class"'->'"$new_class" >> $change_msg ++ echo Class-Changed-By: $me >> $change_msg ++ echo Class-Changed-When: $DATE >> $change_msg ++ echo "Class-Changed-Why: " >> $change_msg ++ echo 'Why did the class change? (Ctrl-D to end)' ++ cat >> $change_msg ++ to_old=1 ++ to_new=1 ++ if [ ! -z "$resp_change" ]; then ++ echo "" >> $change_msg ++ echo "" >> $change_msg ++ fi + fi + if [ ! -z "$resp_change" ]; then + $debug_print "Doing responsible change." +@@ -287,6 +320,9 @@ + to_new=1 + fi + ++ echo "" >> $change_msg ++ echo "http://www.freebsd.org/cgi/query-pr.cgi?pr=$pr_id" >> $change_msg ++ + if [ -n "$to_subm" ]; then mail_to="${reply_to}, ${mail_to}" ; fi + if [ -n "$x_gnats_notify" ]; then mail_to="${x_gnats_notify}, ${mail_to}" ; fi + if [ -n "$to_old" ] ; then mail_to="${mail_to}, `$PR_ADDR ${old_resp}`" ; fi +@@ -303,7 +339,7 @@ + $MAIL_AGENT << __EOF__ + To: $mail_to + From: $me +-Subject: Re: $full_id ++Subject: Re: $full_id: $new_synopsis + + `if [ "$old_synopsis" != "$new_synopsis" ]; then + echo Old Synopsis: "$old_synopsis" +@@ -321,5 +357,7 @@ + # call PR_EDIT on the new file and clean up + $PR_EDIT < $new + $PR_EDIT --unlock $pr_id ++ ++done + + exit 0 |