Date: Mon, 22 Sep 2003 06:49:59 +0200 From: Oliver Eikemeier <eikemeier@fillmore-labs.com> To: FreeBSD-gnats-submit@FreeBSD.org Cc: =?UTF-8?B?RGFnLUVybGluZyBTbcO4cmdyYXY=?= <des@des.no> Subject: ports/57077: [MAINTAINER] port databases/gnats4: keep configuration files, misc. improvements Message-ID: <3F6E7F77.5080108@fillmore-labs.com> Resent-Message-ID: <200309220500.h8M50XHj048210@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 57077 >Category: ports >Synopsis: [MAINTAINER] port databases/gnats4: keep configuration files, misc. improvements >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Sun Sep 21 22:00:32 PDT 2003 >Closed-Date: >Last-Modified: >Originator: Oliver Eikemeier >Release: FreeBSD 4.8-STABLE i386 >Organization: Fillmore Labs - http://www.fillmore-labs.com >Environment: System: FreeBSD nuuk.fillmore-labs.com 4.8-STABLE >Description: - do not deinstall/overwrite configuration files - add an additional mirror until the package surfaces on GNU servers - install additional documentation - more helpful installation message - prepare for client package (not finished) - miscellaneous small improvements >How-To-Repeat: >Fix: --- gnats4.patch begins here --- diff -Nur databases/gnats4.orig/Makefile databases/gnats4/Makefile --- databases/gnats4.orig/Makefile Sat Sep 20 15:16:46 2003 +++ databases/gnats4/Makefile Mon Sep 22 06:03:02 2003 @@ -7,61 +7,107 @@ PORTNAME= gnats PORTVERSION= 4.0 -CATEGORIES= databases -MASTER_SITES= http://www.yngve.com/%SUBDIR%/ # ${MASTER_SITE_GNU} +PORTREVISION= 1 +CATEGORIES= databases devel +MASTER_SITES= http://home.pacific.net.au/~meganandaj/ \ + http://www.yngve.com/%SUBDIR%/ \ + # ${MASTER_SITE_GNU} MASTER_SITE_SUBDIR= gnats MAINTAINER= eikemeier@fillmore-labs.com COMMENT= GNATS, the GNU Problem Report Management System GNU_CONFIGURE= yes -CONFIGURE_ARGS= --sharedstatedir=${PREFIX}/share/gnats +USE_GMAKE= yes LATEST_LINK= ${PKGNAMEPREFIX}gnats4${PKGNAMESUFFIX} CONFLICTS= gnats-3.* -USE_GMAKE= yes +PKGMESSAGE= ${WRKDIR}/pkg-message +PKGINSTALL= ${WRKDIR}/pkg-install + +GNATSDBBASE?= /var/db + +CONFIGURE_ARGS= --sharedstatedir=${GNATSDBBASE}/gnats \ + --datadir=${GNATSDBBASE} + +.ifdef WITH_SUBMITTER_ID +CONFIGURE_ARGS+= --with-submitter=${WITH_SUBMITTER_ID} +.endif + +.ifdef WITH_ORGANIZATION +CONFIGURE_ARGS+= --with-organization=${WITH_ORGANIZATION:Q} +.endif + +.ifdef WITH_GNATSD_SERVICE +CONFIGURE_ARGS+= --with-gnats-service=${WITH_GNATSD_SERVICE} +.endif + +PLIST_SUB= GNATSDBDIR=${GNATSDBBASE}/gnats + MAN1= edit-pr.1 query-pr.1 send-pr.1 MAN5= databases.5 dbconfig.5 MAN7= gnats.7 -MAN8= delete-pr.8 file-pr.8 gen-index.8 gnatsd.8 mkcat.8 mkdb.8 pr-edit.8 queue-pr.8 rmcat.8 +MAN8= delete-pr.8 file-pr.8 gen-index.8 gnatsd.8 \ + mkcat.8 mkdb.8 pr-edit.8 queue-pr.8 rmcat.8 INFO= gnats-faq gnats +DOCFILES= NEWS UPGRADING -PKGMESSAGE= ${WRKDIR}/pkg-message - -STRIP= - -BINARIES= bin/getclose bin/query-pr libexec/gnats/gen-index libexec/gnats/gnats-pwconv \ - libexec/gnats/gnatsd libexec/gnats/pr-age libexec/gnats/pr-edit libexec/gnats/queue-pr - -.if defined(WITH_EMACS_PORT) +.ifdef WITH_EMACS_PORT EMACS_PORT_NAME= ${WITH_EMACS_PORT} CONFIGURE_ARGS+= --with-lispdir=${LOCALBASE}/${EMACS_SITE_LISPDIR} .else PLIST_SUB+= EMACS_SITE_LISPDIR="@comment " .endif +.ifdef CLIENT_ONLY +ALL_TARGET= all-tools +INSTALL_TARGET= install-tools +PLIST_SUB+= SERVER="@comment " +PKGNAMESUFFIX= -client +CONFLICTS+= ${PKGNAMEPREFIX}${PORTNAME}-4.* +.else +PLIST_SUB+= SERVER="" +CONFLICTS+= ${PKGNAMEPREFIX}${PORTNAME}-client-4.* +.endif + pre-everything:: @${ECHO} "=============================================================" @${ECHO} @${ECHO} "You can build ${PKGNAME} with the following options:" @${ECHO} + @${ECHO} "WITH_SUBMITTER_ID=unknown default submitter-id" + @${ECHO} "WITH_ORGANIZATION='unknown' default organization" + @${ECHO} "WITH_GNATSD_SERVICE=support default gnatsd port name" @${ECHO} "WITH_EMACS_PORT=emacs with Emacs support" @${ECHO} @${ECHO} "=============================================================" @${ECHO} post-build: - ${SED} -e 's,%%PREFIX%%,${PREFIX},g' ${PKGDIR}/pkg-message >${PKGMESSAGE} + @for doc in pkg-message pkg-install; do \ + ${SED} -e 's,%%PREFIX%%,${PREFIX},g' \ + -e 's,%%GNATSDBDIR%%,${GNATSDBBASE}/gnats,g' \ + ${PKGDIR}/$${doc} >${WRKDIR}/$${doc} ; \ + done pre-install: @${MKDIR} ${PREFIX}/libexec/gnats @${SETENV} "PKG_PREFIX=${PREFIX}" ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL post-install: - @for binary in ${BINARIES}; do \ - ${STRIP_CMD} ${PREFIX}/$${binary}; \ +.ifndef CLIENT_ONLY + @for conf in databases gnatsd.host_access; do \ + [ -f ${PREFIX}/etc/gnats/$${conf} ] \ + || ${CP} ${PREFIX}/etc/gnats/$${conf}.default ${PREFIX}/etc/gnats/$${conf}; \ done +.endif +.ifndef NOPORTDOCS + @${MKDIR} ${DOCSDIR} + @for doc in ${DOCFILES}; do \ + ${INSTALL_DATA} ${WRKSRC}/$${doc} ${DOCSDIR}; \ + done +.endif @${CAT} ${PKGMESSAGE} .include <bsd.port.mk> diff -Nur databases/gnats4.orig/files/patch-Makefile.in databases/gnats4/files/patch-Makefile.in --- databases/gnats4.orig/files/patch-Makefile.in Thu Jan 1 01:00:00 1970 +++ databases/gnats4/files/patch-Makefile.in Mon Sep 22 05:53:14 2003 @@ -0,0 +1,11 @@ +--- Makefile.in.orig Mon Sep 22 05:52:58 2003 ++++ Makefile.in Mon Sep 22 05:53:13 2003 +@@ -50,7 +50,7 @@ + $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' $@ + + install-tools: $(LIBIBERTY) +- $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' $@ ++ for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done + + uninstall: + for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done diff -Nur databases/gnats4.orig/files/patch-gnats::Makefile.in databases/gnats4/files/patch-gnats::Makefile.in --- databases/gnats4.orig/files/patch-gnats::Makefile.in Sat Sep 20 15:16:46 2003 +++ databases/gnats4/files/patch-gnats::Makefile.in Mon Sep 22 05:41:59 2003 @@ -1,5 +1,23 @@ --- gnats/Makefile.in.orig Sun Jul 27 01:23:17 2003 -+++ gnats/Makefile.in Fri Aug 22 18:41:18 2003 ++++ gnats/Makefile.in Mon Sep 22 05:41:57 2003 +@@ -91,7 +91,7 @@ + + INSTALL = $(srcdir)/../install-sh -c + INSTALL_PROGRAM = @INSTALL_PROGRAM@ +-INSTALL_SCRIPT = @INSTALL_PROGRAM@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ + INSTALL_DATA = @INSTALL_DATA@ + + SUB_INSTALL = `echo $(INSTALL) | sed 's,^\([^/]\),../\1,'` +@@ -163,7 +163,7 @@ + check-db delete-pr dbconfig gnats-databases gnats-pwconv $(EXTRA_STUFF) + + all-tools: libgnats.a query-pr pr-age pr-edit edit-pr file-pr getclose \ +- config-send-pr mail-agent dbconfig ++ mail-agent dbconfig + + libgnats.a: $(LIBOBJS) + -rm -f tmplibgnats.a libgnats.a @@ -371,7 +371,9 @@ else \ echo "*** Warning: Must chown $(GNATS_USER) $(datadir)/gnats" ; \ @@ -11,3 +29,52 @@ for i in categories submitters responsible gnatsd.user_access addresses states classes dbconfig ; do \ if [ -f "$$i" ] ; then \ $(INSTALL_DATA) $$i $(sysconfdir)/gnats/defaults/$$i ; \ +@@ -386,7 +388,7 @@ + $(INSTALL_SCRIPT) edit-pr $(bindir)/edit-pr + $(INSTALL_SCRIPT) $(srcdir)/diff-prs $(libexecdir)/gnats/diff-prs + $(INSTALL_SCRIPT) mail-agent $(libexecdir)/gnats/mail-agent +- $(INSTALL_PROGRAM) file-pr $(libexecdir)/gnats/file-pr ++ $(INSTALL_SCRIPT) file-pr $(libexecdir)/gnats/file-pr + $(INSTALL_PROGRAM) pr-age $(libexecdir)/gnats/pr-age + $(INSTALL_PROGRAM) pr-edit $(libexecdir)/gnats/pr-edit + @if [ `whoami` = root -o `whoami` = $(GNATS_USER) ] ; then \ +@@ -404,29 +406,29 @@ + install-gnats-arch-dep: install-gnats-bin $(EXTRA_INSTALL) + + install-gnats-arch-indep: all-gnats install-tools-arch-indep +- @if [ -f $(GLOBAL_DB_LIST_FILE) ]; then \ +- echo "Not putting gnats-databases file in $(GLOBAL_DB_LIST_FILE), it's already there." ; \ ++ @if [ -f $(GLOBAL_DB_LIST_FILE).default ]; then \ ++ echo "Not putting gnats-databases file in $(GLOBAL_DB_LIST_FILE).default, it's already there." ; \ + true ; \ + else \ + if [ `whoami` = root -o `whoami` = $(GNATS_USER) ] ; then \ + $(INSTALL_DATA) -o $(GNATS_USER) gnats-databases \ +- $(GLOBAL_DB_LIST_FILE) ; \ ++ $(GLOBAL_DB_LIST_FILE).default ; \ + else \ +- $(INSTALL_DATA) gnats-databases $(GLOBAL_DB_LIST_FILE) ; \ +- echo "*** Warning: Must chown $(GNATS_USER) $(GLOBAL_DB_LIST_FILE)" ; \ ++ $(INSTALL_DATA) gnats-databases $(GLOBAL_DB_LIST_FILE).default ; \ ++ echo "*** Warning: Must chown $(GNATS_USER) $(GLOBAL_DB_LIST_FILE).default" ; \ + fi \ + fi +- @if [ -f $(GNATSD_HOST_ACCESS_FILE) ]; then \ +- echo "Not putting gnats.host_access file in $(GNATSD_HOST_ACCESS_FILE), it's already there." ; \ ++ @if [ -f $(GNATSD_HOST_ACCESS_FILE).default ]; then \ ++ echo "Not putting gnats.host_access file in $(GNATSD_HOST_ACCESS_FILE).default, it's already there." ; \ + true ; \ + else \ + if [ `whoami` = root -o `whoami` = $(GNATS_USER) ] ; then \ + $(INSTALL_DATA) -o $(GNATS_USER) $(srcdir)/gnatsd.host_access \ +- $(GNATSD_HOST_ACCESS_FILE) ; \ ++ $(GNATSD_HOST_ACCESS_FILE).default ; \ + else \ + $(INSTALL_DATA) $(srcdir)/gnatsd.host_access \ +- $(GNATSD_HOST_ACCESS_FILE) ; \ +- echo "*** Warning: Must chown $(GNATS_USER) $(GNATSD_HOST_ACCESS_FILE)" ; \ ++ $(GNATSD_HOST_ACCESS_FILE).default ; \ ++ echo "*** Warning: Must chown $(GNATS_USER) $(GNATSD_HOST_ACCESS_FILE).default" ; \ + fi \ + fi + @echo "*** If you're a first-time user, you'll want to create a new database"; diff -Nur databases/gnats4.orig/files/patch-gnats::configure databases/gnats4/files/patch-gnats::configure --- databases/gnats4.orig/files/patch-gnats::configure Thu Jan 1 01:00:00 1970 +++ databases/gnats4/files/patch-gnats::configure Sun Sep 21 13:18:36 2003 @@ -0,0 +1,11 @@ +--- gnats/configure.orig Sun Sep 21 13:17:44 2003 ++++ gnats/configure Sun Sep 21 13:18:30 2003 +@@ -2864,7 +2864,7 @@ + fi + + if test "x$GCC" = "xyes" ; then +- GCC_CFLAGS="-W -Wall -ansi -pedantic -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wno-format" ++ GCC_CFLAGS="-W -Wall -ansi -pedantic -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wno-format -Wno-long-long" + fi + + # ***** Guess the configuration ***** diff -Nur databases/gnats4.orig/files/patch-send-pr::Makefile.in databases/gnats4/files/patch-send-pr::Makefile.in --- databases/gnats4.orig/files/patch-send-pr::Makefile.in Thu Jan 1 01:00:00 1970 +++ databases/gnats4/files/patch-send-pr::Makefile.in Sun Sep 21 19:02:25 2003 @@ -0,0 +1,11 @@ +--- send-pr/Makefile.in.orig Sun Sep 21 19:02:06 2003 ++++ send-pr/Makefile.in Sun Sep 21 19:02:24 2003 +@@ -59,7 +59,7 @@ + INSTALL = @INSTALL@ + INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_DATA = @INSTALL_DATA@ +-INSTALL_SCRIPT = @INSTALL_PROGRAM@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ + + CFLAGS = -g + LDFLAGS = -g diff -Nur databases/gnats4.orig/pkg-install databases/gnats4/pkg-install --- databases/gnats4.orig/pkg-install Sat Sep 20 15:16:46 2003 +++ databases/gnats4/pkg-install Mon Sep 22 06:29:29 2003 @@ -5,26 +5,39 @@ ECHO_CMD=echo GREP=/usr/bin/grep -ID=/usr/bin/id PW=/usr/sbin/pw + FTPUSERS=/etc/ftpusers +GNATSDBDIR=%%GNATSDBDIR%% case $2 in PRE-INSTALL) - if ! ${ID} -u gnats >/dev/null 2>&1; then - if ${PW} add user -n gnats -u 61 -g 1 -d ${PKG_PREFIX}/share/gnats \ - -c "GNATS database owner" -p "*"; then - ${GREP} -qs '^gnats$' ${FTPUSERS} || ${ECHO_CMD} gnats >>/etc/ftpusers + if [ ! -x ${PW} ]; then + ${ECHO_CMD} "Your system is missing the \`pw' command." + exit 1 + fi + if ${PW} usershow -n gnats >/dev/null 2>&1; then + if [ "`pw usershow -n gnats | awk -F: '{print $9}'`" != "${GNATSDBDIR}" ]; then + ${PW} usermod -n gnats -d "${GNATSDBDIR}" 2>/dev/null + ${ECHO_CMD} "===> Account \`gnats' updated." + fi + else + if ${PW} useradd -n gnats -u 61 -g 1 -d "${GNATSDBDIR}" \ + -c "GNATS database owner" -h -; then + ${GREP} -qs '^gnats$' ${FTPUSERS} || ${ECHO_CMD} gnats >> ${FTPUSERS} + ${ECHO_CMD} "===> Account \`gnats' created." else ${ECHO_CMD} ${ECHO_CMD} "The FreeBSD standard userid for gnats is 61, but this system" - ${ECHO_CMD} "has already a different account with this userid: \``${ID} -un 61`'" + ${ECHO_CMD} "has already a different account with this userid:" + ${ECHO_CMD} + ${PW} usershow -u 61 -P ${ECHO_CMD} ${ECHO_CMD} "You can either delete this account (which may be dangerous) with" ${ECHO_CMD} " ${PW} userdel -u 61" ${ECHO_CMD} "or add the gnats user with an other userid with" - ${ECHO_CMD} " ${PW} useradd -n gnats -g 1 \\" - ${ECHO_CMD} " -d ${PKG_PREFIX}/share/gnats -c 'GNATS database owner' -p '*'" + ${ECHO_CMD} " ${PW} useradd -n gnats -g daemon \\" + ${ECHO_CMD} " -d ${GNATSDBDIR} -c 'GNATS database owner' -h -" ${ECHO_CMD} "and retry installing this package" ${ECHO_CMD} exit 1 diff -Nur databases/gnats4.orig/pkg-message databases/gnats4/pkg-message --- databases/gnats4.orig/pkg-message Sat Sep 20 15:16:46 2003 +++ databases/gnats4/pkg-message Mon Sep 22 01:54:24 2003 @@ -2,12 +2,23 @@ GNATS has been successfully installed. -Run - su gnats %%PREFIX%%/libexec/gnats/mkdb default -to create the default database. - -Try "man gnats" or "info gnats" or the online manual at - <http://www.gnu.org/software/gnats/gnats_toc.html> -for more information +If you want to run the GNATS server, enter + + %%PREFIX%%/libexec/gnats/mkdb default + +to create the default database and add + + support stream tcp nowait gnats %%PREFIX%%/libexec/gnats/gnatsd gnatsd + +to inetd.conf(5). Instructions to upgrade from a +GNATS 3.x database are in + + %%PREFIX%%/share/doc/gnats/UPGRADING + +Try `man gnats', `info gnats' and the online manual at + + http://www.gnu.org/software/gnats/gnats_toc.html + +for more information. ************************************************************ diff -Nur databases/gnats4.orig/pkg-plist databases/gnats4/pkg-plist --- databases/gnats4.orig/pkg-plist Sat Sep 20 15:16:46 2003 +++ databases/gnats4/pkg-plist Mon Sep 22 06:08:09 2003 @@ -4,7 +4,12 @@ bin/install-sid bin/query-pr bin/send-pr -etc/gnats/databases +%%SERVER%%@unexec if cmp -s %D/etc/gnats/databases %D/etc/gnats/databases.default; then rm -f %D/etc/gnats/databases; fi +%%SERVER%%etc/gnats/databases.default +%%SERVER%%@exec [ -f %B/databases ] || cp %B/%f %B/databases +%%SERVER%%@unexec if cmp -s %D/etc/gnats/gnatsd.host_access %D/etc/gnats/gnatsd.host_access.default; then rm -f %D/etc/gnats/gnatsd.host_access; fi +%%SERVER%%etc/gnats/gnatsd.host_access.default +%%SERVER%%@exec [ -f %B/gnatsd.host_access ] || cp %B/%f %B/gnatsd.host_access etc/gnats/defaults/addresses etc/gnats/defaults/categories etc/gnats/defaults/classes @@ -13,25 +18,29 @@ etc/gnats/defaults/responsible etc/gnats/defaults/states etc/gnats/defaults/submitters -etc/gnats/gnatsd.host_access @dirrm etc/gnats/defaults -@dirrm etc/gnats -libexec/gnats/at-pr -libexec/gnats/check-db -libexec/gnats/delete-pr +@unexec rmdir %D/etc/gnats 2>/dev/null || true +%%SERVER%%libexec/gnats/at-pr +%%SERVER%%libexec/gnats/check-db +%%SERVER%%libexec/gnats/delete-pr libexec/gnats/diff-prs libexec/gnats/file-pr -libexec/gnats/gen-index -libexec/gnats/gnats-pwconv -libexec/gnats/gnatsd +%%SERVER%%libexec/gnats/gen-index +%%SERVER%%libexec/gnats/gnats-pwconv +%%SERVER%%libexec/gnats/gnatsd libexec/gnats/mail-agent -libexec/gnats/mail-query -libexec/gnats/mkcat -libexec/gnats/mkdb +%%SERVER%%libexec/gnats/mail-query +%%SERVER%%libexec/gnats/mkcat +%%SERVER%%libexec/gnats/mkdb libexec/gnats/pr-age libexec/gnats/pr-edit -libexec/gnats/queue-pr -libexec/gnats/rmcat +%%SERVER%%libexec/gnats/queue-pr +%%SERVER%%libexec/gnats/rmcat @dirrm libexec/gnats +@exec mkdir -p %%GNATSDBDIR%% +@exec chown gnats %%GNATSDBDIR%% +@unexec rmdir %%GNATSDBDIR%% 2>/dev/null || true +%%PORTDOCS%%%%DOCSDIR%%/NEWS +%%PORTDOCS%%%%DOCSDIR%%/UPGRADING +%%PORTDOCS%%@dirrm %%DOCSDIR%% %%EMACS_SITE_LISPDIR%%/gnats.el -@unexec rmdir %D/share/gnats 2>/dev/null || true --- gnats4.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3F6E7F77.5080108>