Index: head/databases/gnats/Makefile =================================================================== --- head/databases/gnats/Makefile (revision 55544) +++ head/databases/gnats/Makefile (revision 55545) @@ -1,55 +1,55 @@ # New ports collection makefile for: gnats # Date created: 10 November 1995 # Whom: pst # # $FreeBSD$ # PORTNAME= gnats PORTVERSION= 3.113.1 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= databases elisp MASTER_SITES= ${MASTER_SITE_GNU} MASTER_SITE_SUBDIR= gnats MAINTAINER= des@FreeBSD.org BUILD_DEPENDS= gm4:${PORTSDIR}/devel/m4 GNU_CONFIGURE= yes CONFIGURE_ARGS= --with-lispdir=${PREFIX}/share/emacs/site-lisp \ --with-full-gnats \ --with-release-based USE_GMAKE= yes USE_BISON= yes MAN1= edit-pr.1 query-pr.1 send-pr.1 MAN7= gnats.7 MAN8= mkcat.8 rmcat.8 mkdist.8 queue-pr.8 file-pr.8 gen-index.8 # this stops the configuration program from pulling installation # information in from the standard freebsd send-pr program CONFIGURE_ENV= SEND_PR=/usr/bin/false # the gnats distribution comes with a lot of baggage we don't want to install # just install gnats INSTALL_TARGET= install-gnats install-send-pr .if defined(WANT_FREEFALL_CFG) EXTRA_PATCHES= ${FILESDIR}/gnats-edit-pr.patch ${FILESDIR}/file-pr.c.patch .endif post-build: (cd ${WRKSRC}/gnats; ${MAKE} info) (cd ${WRKSRC}/send-pr; ${MAKE} info) pre-install: @PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL post-install: (cd ${WRKSRC}/gnats; ${MAKE} install-info) (cd ${WRKSRC}/send-pr; ${MAKE} install-info) install-info ${PREFIX}/info/gnats.info ${PREFIX}/info/dir install-info ${PREFIX}/info/send-pr.info ${PREFIX}/info/dir .include Property changes on: head/databases/gnats/Makefile ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.37 \ No newline at end of property +1.38 \ No newline at end of property Index: head/databases/gnats/files/gnats-edit-pr.patch =================================================================== --- head/databases/gnats/files/gnats-edit-pr.patch (revision 55544) +++ head/databases/gnats/files/gnats-edit-pr.patch (revision 55545) @@ -1,172 +1,172 @@ ---- gnats-edit-pr.sh.orig Tue Apr 20 23:17:07 1999 -+++ gnats-edit-pr.sh Mon Dec 3 21:36:18 2001 +--- gnats/gnats-edit-pr.sh.orig Tue Apr 20 23:17:07 1999 ++++ gnats/gnats-edit-pr.sh Mon Dec 3 21:36:18 2001 @@ -124,15 +124,21 @@ *) 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 +chng_msg="/tmp/chng.$$" +chng_tpl="/home/gnats/gnats-adm/edit-pr-msg" + +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" @@ -149,12 +155,12 @@ fi # These traps take care of deleting all the /tmp files -trap 'rm -f $new $new.old $change_msg ; exit 0' 0 +trap 'rm -f $new $new.old $change_msg $chng_msg; exit 0' 0 trap 'if [ "$locked" != "" ]; then \ $PR_EDIT --unlock $pr_id ; \ locked= ; \ fi ; \ - rm -f $new $new.old $change_msg ; exit 1' 1 2 3 13 15 + rm -f $new $new.old $change_msg $chng_msg; exit 1' 1 2 3 13 15 # find a user name if [ "$USER" != "" ]; then @@ -192,7 +198,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 +235,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 +264,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 +278,48 @@ 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 $chng_msg ]; then + echo "Re-use last message (y/n)?" + read yesno + if [ "$yesno" != "y" ]; then + sed 's/%%ITEM%%/state/' $chng_tpl > $chng_msg + fi + else + sed 's/%%ITEM%%/state/' $chng_tpl > $chng_msg + fi + $VISUAL $chng_msg + sed '/^GNATS:/d' $chng_msg >> $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)' + if [ -e $chng_msg ]; then + echo "Re-use last message (y/n)?" + read yesno + if [ "$yesno" != "y" ]; then + sed 's/%%ITEM%%/class/' $chng_tpl > $chng_msg + fi + else + sed 's/%%ITEM%%/class/' $chng_tpl > $chng_msg + fi + $VISUAL $chng_msg + sed '/^GNATS:/d' $chng_msg >> $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." @@ -282,11 +328,24 @@ echo Responsible-Changed-When: $DATE >> $change_msg echo "Responsible-Changed-Why: " >> $change_msg echo 'Why did the responsible person change? (Ctrl-D to end)' - cat >> $change_msg + if [ -e $chng_msg ]; then + echo "Re-use last message (y/n)?" + read yesno + if [ "$yesno" != "y" ]; then + sed 's/%%ITEM%%/responsible/' $chng_tpl > $chng_msg + fi + else + sed 's/%%ITEM%%/responsible/' $chng_tpl > $chng_msg + fi + $VISUAL $chng_msg + sed '/^GNATS:/d' $chng_msg >> $change_msg to_old=1 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 +362,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 +380,9 @@ # call PR_EDIT on the new file and clean up $PR_EDIT < $new $PR_EDIT --unlock $pr_id + +done + +rm -f $chng_msg exit 0 Property changes on: head/databases/gnats/files/gnats-edit-pr.patch ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.3 \ No newline at end of property +1.4 \ No newline at end of property Index: head/databases/gnats/pkg-plist =================================================================== --- head/databases/gnats/pkg-plist (revision 55544) +++ head/databases/gnats/pkg-plist (revision 55545) @@ -1,75 +1,76 @@ bin/edit-pr bin/getclose bin/install-sid bin/nedit-pr bin/nquery-pr bin/query-pr bin/send-pr bin/sub-type @unexec install-info --delete %D/info/gnats.info %D/info/dir @unexec install-info --delete %D/info/send-pr.info %D/info/dir info/gnats.info info/gnats.info-1 info/gnats.info-2 info/gnats.info-3 info/gnats.info-4 info/send-pr.info @exec install-info %D/info/gnats.info %D/info/dir @exec install-info %D/info/send-pr.info %D/info/dir libexec/gnats/at-pr libexec/gnats/check-db libexec/gnats/delete-pr libexec/gnats/file-pr libexec/gnats/gen-index libexec/gnats/gnats-edit-pr libexec/gnats/gnatsd libexec/gnats/mail-query libexec/gnats/mkcat libexec/gnats/mkdist libexec/gnats/npr-addr libexec/gnats/npr-edit libexec/gnats/pr-addr libexec/gnats/pr-age libexec/gnats/pr-edit libexec/gnats/pr-mail libexec/gnats/queue-pr libexec/gnats/rmcat @dirrm libexec/gnats share/emacs/site-lisp/gnats.el share/emacs/site-lisp/send-pr.el share/gnats/cygnus share/gnats/dist/COPYING share/gnats/dist/INSTALL share/gnats/dist/MANIFEST share/gnats/dist/README share/gnats/dist/categ.texi share/gnats/dist/fields.texi share/gnats/dist/install-sid.sh share/gnats/dist/s-usage.texi share/gnats/dist/send-pr-el.in share/gnats/dist/send-pr.1 share/gnats/dist/send-pr.info share/gnats/dist/send-pr.sh share/gnats/dist/send-pr.texi share/gnats/dist/states.texi share/gnats/dist/texinfo.tex share/gnats/dist/version.texi share/gnats/gnats-db/gnats-adm/addresses share/gnats/gnats-db/gnats-adm/categories share/gnats/gnats-db/gnats-adm/classes share/gnats/gnats-db/gnats-adm/config share/gnats/gnats-db/gnats-adm/gnatsd.access share/gnats/gnats-db/gnats-adm/gnatsd.conf share/gnats/gnats-db/gnats-adm/responsible share/gnats/gnats-db/gnats-adm/states share/gnats/gnats-db/gnats-adm/submitters @exec mkdir %D/share/gnats/gnats-db/gnats-queue +@exec mkdir %D/share/gnats/gnats-db/gnats-adm/locks @exec mkdir %D/share/gnats/gnats-db/pending @exec chown gnats %D/share/gnats/gnats-db %D/share/gnats/gnats-db/gnats-adm %D/share/gnats/gnats-db/gnats-adm/locks %D/share/gnats/gnats-db/pending %D/share/gnats/gnats-db/gnats-queue @dirrm share/gnats/gnats-db/gnats-adm/locks @dirrm share/gnats/gnats-db/gnats-adm @dirrm share/gnats/gnats-db/gnats-queue @dirrm share/gnats/gnats-db/pending @dirrm share/gnats/gnats-db @dirrm share/gnats/dist @dirrm share/gnats Property changes on: head/databases/gnats/pkg-plist ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.14 \ No newline at end of property +1.15 \ No newline at end of property