ports/87212: [update] mail/qmrtg update to version 2.1

mij at bitchx.it mij at bitchx.it
Mon Oct 10 15:40:14 UTC 2005


>Number:         87212
>Category:       ports
>Synopsis:       [update] mail/qmrtg update to version 2.1
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Mon Oct 10 15:40:13 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     mij at bitchx.it
>Release:        FreeBSD 6.0-BETA1 i386
>Organization:
>Environment:
System: FreeBSD n0tion 6.0-BETA1 FreeBSD 6.0-BETA1 #0: Sat Jul 23 19:19:50 CEST 2005 root at n0tion:/usr/obj/usr/src/sys/custom6_3 i386


	
>Description:
	This patch upgrades mail/qmrtg/ to version 2.1.
	Changelog includes:
	- completely new analyzers, more fast, powerful and reusable
	- capability to monitor DNSBL (rbl)
	- way easier extensibility
	- vastly improved documentation

	No files have been added to the port; the following disappeared:
	files/patch-qmrtg.sh
	files/patch-qmrtgsync.sh
	files/

	`portlint -A` reports 3 fatals on this port, about the usage of WITHs
	before the inclusion of pre.mk. This is known, as the usage is just
	setting defaults in case of non-interactive run. Also, the port creates
	a directory with absolute path, /var/db/${PORTNAME}, removed in
	deinstall. This is also known and under control.

	This version of the software itself is no longer compatible with
	config files from older versions, so upgrading will break a working
	scenario. I don't know if there's any best-practice for notifying
	the user about this; it's just told in pkg-message as of now.

>How-To-Repeat:
	
>Fix:

	

--- mail_qmrtg.diff begins here ---
diff -ruN qmrtg_old/Makefile qmrtg/Makefile
--- qmrtg_old/Makefile	Sat Dec  4 20:13:05 2004
+++ qmrtg/Makefile	Mon Oct 10 01:10:53 2005
@@ -2,52 +2,88 @@
 # Date created:        12 Jun 2004
 # Whom:                Mij
 #
-# $FreeBSD: ports/mail/qmrtg/Makefile,v 1.4 2004/12/04 19:13:05 jeh Exp $
+# $FreeBSD$
 #
 
 PORTNAME=	qmrtg
-PORTVERSION=	0.5.7
-PORTREVISION=	1
+PORTVERSION=	2.1
 CATEGORIES=	mail net-mgmt
 MASTER_SITES=	http://dev.publicshout.org/qmrtg/download/
 
 MAINTAINER=	mij at bitchx.it
 COMMENT=	A simple tool for monitoring and graphing qmail activity through MRTG
 
-RUN_DEPENDS=	bash:${PORTSDIR}/shells/bash2     \
-		mrtg:${PORTSDIR}/net-mgmt/mrtg
+RUN_DEPENDS=	bash:${PORTSDIR}/shells/bash2
+.if !defined(WITHOUT_MRTG)
+RUN_DEPENDS+=	mrtg:${PORTSDIR}/net-mgmt/mrtg
+.endif
+
+USE_BZIP2=	yes
 
-MAN1=		qmrtg.1
-USE_GMAKE=	yes
+MAN8=		qfilt.8 qmrtg-concurrency.8 qmrtg-dnsbl.8 \
+		qmrtg-queue.8 qmrtg-regex.8 qmrtg-throughput.8 \
+		qmrtg.8 qtaif.8
+MANCOMPRESSED=	no
 
-# this is the local apache documentroot
-WWWROOTDIR?=	${PREFIX}/www/data
-QMRTG_DBDIR?=	/var/db/${PORTNAME}
+GNU_CONFIGURE=	yes
 
+# where is qmrtg' database directory
+QMRTG_DBDIR:=	/var/db/${PORTNAME}
+
+# variables to be "exported" to plist
 PLIST_SUB=	QMRTG_DBDIR=${QMRTG_DBDIR}
 
-post-install:
-# in_stall manpages
-	@${MKDIR} ${PREFIX}/man/man1
-.for foo in ${MAN1}
-	${INSTALL_MAN} ${WRKSRC}/man/${foo} ${PREFIX}/man/man1
-.endfor
-.if !defined(WITHOUT_EXAMPLES)
-# in_stall conig file examples
-	${MKDIR} ${EXAMPLESDIR}
-	${CP} ${WRKSRC}/examples/* ${EXAMPLESDIR}/
-.endif
-.if !defined(WITHOUT_HTMLTEMPLATES)
-# in_stall html templates for mrtg graphs
-	${MKDIR} ${WWWROOTDIR}/${PORTNAME}
-	${CP} ${WRKSRC}/html/* ${WWWROOTDIR}/${PORTNAME}/
-.endif
+.if !defined(PACKAGE_BUILDING) && !defined(BATCH)
+# interactive --> ask user for options
+IS_INTERACTIVE=		yes
 .if !defined(NOPORTDOCS)
-# in_stall the few (FAQ, LICENSE etc) files provided by the package
+# install extra doc by default
+OPTIONS=	\
+	DOCS		"Install LICENSE, FAQs etc (shared doc)"	On \
+	HTMLTEMPLATES	"Install QMRTG HTML templates"			On
+.else		# defined(NOPORTDOCS)
+# avoid to offer to install doc
+OPTIONS=	\
+	HTMLTEMPLATES	"Install QMRTG HTML templates"			On
+.endif		# !defined(NOPORTDOCS)
+.else		# defined(PACKAGE_BUILDING) || defined(BATCH)
+# building batch
+# setting defaults
+WITH_HTMLTEMPLATES=	yes
+.if !defined(NOPORTDOCS)
+# also install doc by default
+WITH_DOCS=	yes
+.endif		# !defined(NOPORTDOCS)
+.endif		# !defined(PACKAGE_BUILDING)
+
+.include <bsd.port.pre.mk>
+
+pre-extract:
+	@${ECHO_MSG} "   --->   Qmrtg can be installed without MRTG by defining WITHOUT_MRTG"
+
+post-install:
+# possibly installing docs
+.if defined(WITH_DOCS) && !defined(NOPORTDOCS)
+	@${ECHO_MSG} "   --->   Installing QMRTG extra docs as requested [ ${DOCSDIR} ]"
 	${MKDIR} ${DOCSDIR}
-	${CP} ${WRKSRC}/doc/* ${DOCSDIR}/
+	${INSTALL_DATA} ${WRKSRC}/doc/*.txt ${DOCSDIR}
+.endif
+# possibly installing HTML templates
+.if defined(WITH_HTMLTEMPLATES)
+	@${ECHO_MSG} "   --->   Installing examples as requested [ ${EXAMPLESDIR} ]"
+	${MKDIR} ${DATADIR}/html
+	${INSTALL_DATA} ${WRKSRC}/html/* ${DATADIR}/html
+	${MKDIR} ${EXAMPLESDIR}
+	${INSTALL_DATA} ${WRKSRC}/examples/mrtg.cfg ${EXAMPLESDIR}
 .endif
+# creating db directory
+	@${ECHO_MSG} "   --->   Creating QMRTG db directory [ ${QMRTG_DBDIR} ]"
 	${MKDIR} ${QMRTG_DBDIR}
+# installing configuration example
+	@${ECHO_MSG} "   --->   Installing configuration example [ ${PREFIX}/etc/qmrtg.conf.dist ]"
+	${MKDIR} ${PREFIX}/etc
+	${CP} ${WRKSRC}/examples/qmrtg.conf.sample ${PREFIX}/etc/qmrtg.conf.dist
+# displaying the port install msg
 	@${CAT} pkg-message
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff -ruN qmrtg_old/distinfo qmrtg/distinfo
--- qmrtg_old/distinfo	Tue Jun 29 16:14:01 2004
+++ qmrtg/distinfo	Mon Oct 10 00:59:00 2005
@@ -1,2 +1,2 @@
-MD5 (qmrtg-0.5.7.tar.gz) = 9b200fc036c27eee899a64409a83c538
-SIZE (qmrtg-0.5.7.tar.gz) = 21360
+MD5 (qmrtg-2.1.tar.bz2) = bb6d979688e334ef76a014e384ef407e
+SIZE (qmrtg-2.1.tar.bz2) = 68738
diff -ruN qmrtg_old/files/patch-qmrtg.sh qmrtg/files/patch-qmrtg.sh
--- qmrtg_old/files/patch-qmrtg.sh	Mon Jun 28 12:29:10 2004
+++ qmrtg/files/patch-qmrtg.sh	Thu Jan  1 01:00:00 1970
@@ -1,8 +0,0 @@
---- script/qmrtg.sh	Sat May 29 20:13:35 2004
-+++ script/qmrtg.sh	Sat May 29 20:13:43 2004
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/usr/local/bin/bash
- 
- CONFFILE=/usr/local/etc/qmrtg.conf
- QMRTG_DBPATH=/tmp/qmrtg
diff -ruN qmrtg_old/files/patch-qmrtgsync.sh qmrtg/files/patch-qmrtgsync.sh
--- qmrtg_old/files/patch-qmrtgsync.sh	Mon Jun 28 12:29:10 2004
+++ qmrtg/files/patch-qmrtgsync.sh	Thu Jan  1 01:00:00 1970
@@ -1,8 +0,0 @@
---- script/qmrtgsync.sh	Sat Jun 12 02:31:41 2004
-+++ script/qmrtgsync.sh	Sat Jun 12 02:32:03 2004
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/usr/local/bin/bash
- 
- CONFFILE=/usr/local/etc/qmrtg.conf
- QMRTG_DBPATH=/tmp/qmrtg
diff -ruN qmrtg_old/pkg-descr qmrtg/pkg-descr
--- qmrtg_old/pkg-descr	Mon Jun 28 12:29:09 2004
+++ qmrtg/pkg-descr	Mon Oct 10 01:04:56 2005
@@ -1,13 +1,14 @@
-Qmrtg is a free tool to help monitoring the activity of a qmail mailserver.
+Qmrtg is a free tool to help monitoring the activity of processes.
 It's intended to be used with MRTG.
 
 Qmrtg is modular. Each module carries out a different log analysis. 
 A super-module lets the user easily request any analysis without to
 know anything about the modules themselves.
-Qmrtg has been originally written for qmail, but most of its modules
-work with every software logging with multilog (see 'daemontools').
+Qmrtg has been originally written for monitoring qmail servers, but
+its modules are general enough to parse any kind of log file passed
+through multilog (see daemontools).
 
-Qmrtg is an alternative to qmailmrtg7.
+Qmrtg is a modern alternative to qmailmrtg7.
 
 
 WWW: http://dev.publicshout.org/qmrtg/
diff -ruN qmrtg_old/pkg-message qmrtg/pkg-message
--- qmrtg_old/pkg-message	Sat Dec  4 20:13:05 2004
+++ qmrtg/pkg-message	Mon Oct 10 00:40:26 2005
@@ -1,22 +1,19 @@
-================================================================
-QMRTG has been installed.
-
-1) A "qmrtg/" directory has been added to ${PREFIX}/www/data
-If you don't care publishing qmrtg's reports, just run a polite
-$ rm -rf ${WWWROOTDIR}/qmrtg
-Also remind to remove it if you definitively uninstall qmrtg.
+==============================================================================
 
-2) to enable qmrtg monitoring:
-a) have a look at the ${PREFIX}/www/data/cfg/mrtg.cfg" file.
-you must at least set the 'WorkDir:' variable and qmail log paths
-(search for '/var/log/supervise/qmail' and adapt to your system)
-b) configure qmrtg.conf. Defaults are fine generally. At least copy
-${PREFIX}/etc/qmrtg.conf.sample to "qmrtg.conf".
-c) make mrtg run automatically. Using cron, put that in "/etc/crontab": 
+QMRTG has been installed.
+Generation 2 is no longer compatible with older releases (< 2.0) !!!
 
-*/5 * * * *   root /usr/local/bin/mrtg \
-         /usr/local/www/data/qmrtg/cfg/mrtg.cfg 1>/dev/null 2>&1
+There's still some steps you may need to do manually:
+1) QMRTG SETUP. If you're coming from older versions, re-adjust the
+configuration file (start from the .dist one)
+2) WWW SETUP. HTML templates are now installed as shared data
+[ share/qmrtg ]. Copying them in some http-reachable dir is your
+job by now. This is cleaner and less intrusive.
+3) MRTG SETUP. Possibly adjust the mrtg.cfg example provided in examples.
+You may need to set the path of qmail' queue if non-standard.
+4) RUN. The file RUNNING.txt in the shared doc dir tells you how
 
-Note: to skip qmrtg reporting your mx' whole history at the first call,
-run the following before point "c)"
-$ qmrtgsync.sh
+You can sign a usersbook at http://dev.publicshout.org/qmrtg/usersbook/ .
+You can get support and announcements by subscribing to
+	qmrtg-subscribe at lists.dev.publicshout.org
+==============================================================================
diff -ruN qmrtg_old/pkg-plist qmrtg/pkg-plist
--- qmrtg_old/pkg-plist	Sat Dec  4 20:13:05 2004
+++ qmrtg/pkg-plist	Sun Oct  9 23:22:49 2005
@@ -1,18 +1,27 @@
-bin/qmrtg-bytes
-bin/qmrtg-concurrency
-bin/qmrtg-deliveries
-bin/qmrtg-errors
-bin/qmrtg-queue
-bin/qmrtg-smtpop
 bin/qmrtg.sh
 bin/qmrtgsync.sh
-etc/qmrtg.conf.sample
+bin/qmrtgcheckconf.sh
+bin/qmrtg-regex
+bin/qmrtg-queue
+bin/qmrtg-throughput
+bin/qmrtg-dnsbl
+bin/qmrtg-concurrency
+bin/qfilt
+bin/qtaif
+etc/qmrtg.conf.dist
+%%EXAMPLESDIR%%/mrtg.cfg
+ at dirrm %%EXAMPLESDIR%%
+%%DATADIR%%/html/details.html
+%%DATADIR%%/html/help.html
+%%DATADIR%%/html/mail.html
+%%DATADIR%%/html/style.css
+ at dirrm %%DATADIR%%/html
+ at dirrm %%DATADIR%%
+%%PORTDOCS%%%%DOCSDIR%%/CONFIGURE.txt
 %%PORTDOCS%%%%DOCSDIR%%/FAQ.txt
 %%PORTDOCS%%%%DOCSDIR%%/LICENSE.txt
 %%PORTDOCS%%%%DOCSDIR%%/README.txt
+%%PORTDOCS%%%%DOCSDIR%%/RUNNING.txt
 %%PORTDOCS%%@dirrm %%DOCSDIR%%
-%%PORTDOCS%%%%EXAMPLESDIR%%/mrtg.cfg
-%%PORTDOCS%%%%EXAMPLESDIR%%/qmrtg.conf.sample
-%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%
 @exec mkdir -p %%QMRTG_DBDIR%%
- at unexec rm -rf %%QMRTG_DBDIR%% 2>&1 >/dev/null || true
+ at unexec rm -rf %%QMRTG_DBDIR%%
--- mail_qmrtg.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list