Date: Sun, 11 Sep 2005 21:54:15 +0200 (CEST) From: Xavier Beaudouin <kiwi@oav.net> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/85985: [NEW PORT] mail/couriergraph: A RRDtool frontend for Courier statistics Message-ID: <20050911195415.DEBFA2E03F@kiwi.oav.net> Resent-Message-ID: <200509112000.j8BK0h6N009317@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 85985 >Category: ports >Synopsis: [NEW PORT] mail/couriergraph: A RRDtool frontend for Courier statistics >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Sep 11 20:00:43 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Xavier Beaudouin >Release: FreeBSD 5.4-RELEASE-p1 i386 >Organization: Association KAZAR / The Caudium Group >Environment: System: FreeBSD proxy.home.oav.net 5.4-RELEASE-p1 FreeBSD 5.4-RELEASE-p1 #1: Sat May 14 15:27:19 CEST 2005 >Description: Couriergraph is a very simple mail statistics RRDtool frontend for Postfix that produces daily, weekly, monthly and yearly graphs of Courier's POP3, IMAP, POP3s and IMAPs logins. WWW: http://www.stahl.bau.tu-bs.de/~hildeb/postfix/couriergraph/ Generated with FreeBSD Port Tools 0.63 >How-To-Repeat: >Fix: --- couriergraph-20041207.shar begins here --- # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # couriergraph # couriergraph/files # couriergraph/files/couriergraph.sh.in # couriergraph/files/patch-ac # couriergraph/files/patch-ad # couriergraph/files/patch-ab # couriergraph/files/patch-aa # couriergraph/Makefile # couriergraph/distinfo # couriergraph/pkg-descr # couriergraph/pkg-message # couriergraph/pkg-plist # echo c - couriergraph mkdir -p couriergraph > /dev/null 2>&1 echo c - couriergraph/files mkdir -p couriergraph/files > /dev/null 2>&1 echo x - couriergraph/files/couriergraph.sh.in sed 's/^X//' >couriergraph/files/couriergraph.sh.in << 'END-of-couriergraph/files/couriergraph.sh.in' X#!/bin/sh X# X# $FreeBSD$ X# X# PROVIDE: couriergraph X# REQUIRE: DAEMON X# KEYWORD: FreeBSD X# X# Add the following line to /etc/rc.conf to enable mailgraph: X# X# couriergraph_enable="YES" X# X X. %%RC_SUBR%% X Xname=couriergraph Xrcvar=`set_rcvar` X Xcommand=%%PREFIX%%/sbin/couriergraph.pl > /dev/null 2>&1 Xcommand_interpreter=/usr/bin/perl Xstop_postcmd=stop_postcmd X Xstop_postcmd() X{ X rm -f $pidfile X} X Xcouriergraph_enable=${couriergraph_enable:-"NO"} Xcouriergraph_pidfile=${couriergraph_pidfile:-"%%DATADIR%%/couriergraph.pid"} Xcouriergraph_flags=${couriergraph_flags:-"--logfile /var/log/maillog --daemon-rrd=%%DATADIR%% --daemon --daemon-pid=${couriergraph_pidfile}"} Xcouriergraph_user=${couriergraph_user:-"%%COURIERGRAPH_USER%%"} Xcouriergraph_group=${couriergraph_group:-"%%COURIERGRAPH_GROUP%%"} Xcouriergraph_chdir=${couriergraph_chdir:-"%%DATADIR%%"} X Xload_rc_config $name X Xpidfile=${couriergraph_pidfile} X Xrun_rc_command "$1" END-of-couriergraph/files/couriergraph.sh.in echo x - couriergraph/files/patch-ac sed 's/^X//' >couriergraph/files/patch-ac << 'END-of-couriergraph/files/patch-ac' X--- couriergraph.pl.orig Sun Sep 11 20:47:01 2005 X+++ couriergraph.pl Sun Sep 11 20:48:30 2005 X@@ -314,11 +314,11 @@ X X my $daemon_logfile = '/var/log/couriergraph.log'; X my $daemon_pidfile = '/var/run/couriergraph.pid'; X-my $daemon_rrd_dir = '/var/log'; X+my $daemon_rrd_dir = '%%DATADIR%%'; X X # global variables X my $logfile; X-my $rrd = "/etc/postfix/couriergraph.rrd"; X+my $rrd = "couriergraph.rrd"; X my $year; X my $this_minute; X my %sum = ( imapd_ssl_login => 0, imapd_login => 0, pop3d_ssl_login => 0, pop3d_login => 0 ); X@@ -350,7 +350,7 @@ X print " --host=HOST use only entries for HOST (regexp) in syslog\n"; X print " -d, --daemon start in the background\n"; X print " --daemon-pid=FILE write PID to FILE instead of /var/run/mailgraph.pid\n"; X- print " --daemon-rrd=DIR write RRDs to DIR instead of /var/log\n"; X+ print " --daemon-rrd=DIR write RRDs to DIR instead of %%DATADIR%%\n"; X print " --daemon-log=FILE write verbose-log to FILE instead of /var/log/mailgraph.log\n"; X print " --rrd-name=NAME use NAME.rrd for the rrd files\n"; X END-of-couriergraph/files/patch-ac echo x - couriergraph/files/patch-ad sed 's/^X//' >couriergraph/files/patch-ad << 'END-of-couriergraph/files/patch-ad' X--- couriergraph.pl.orig Sun Sep 11 21:34:13 2005 X+++ couriergraph.pl Sun Sep 11 21:35:17 2005 X@@ -473,12 +473,12 @@ X my $prog = $sl->[2]; X my $text = $sl->[4]; X X- if ($prog eq 'courierpop3login') { X+ if ($prog eq 'pop3d') { X if($text =~ /LOGIN,/) { X event($time, 'pop3d_login'); X } X } X- elsif ($prog eq 'imaplogin') { X+ elsif ($prog eq 'imapd') { X if($text =~ /LOGIN,/) { X event($time, 'imapd_login'); X } END-of-couriergraph/files/patch-ad echo x - couriergraph/files/patch-ab sed 's/^X//' >couriergraph/files/patch-ab << 'END-of-couriergraph/files/patch-ab' X--- couriergraph.cgi.orig Sun Sep 11 21:17:26 2005 X+++ couriergraph.cgi Sun Sep 11 21:23:51 2005 X@@ -21,6 +21,7 @@ X my $rrd = '/var/db/couriergraph/couriergraph.rrd'; # path to where the RRD database is X my $rrd_virus = '/var/db/couriergraph/couriergraph_virus.rrd'; # path to where the Virus RRD database is X my $tmp_dir = '/tmp/couriergraph'; # temporary directory where to store the images X+my $rrdtool_1_0 = ($RRDs::VERSION < 1.199908); X X my @graphs = ( X { title => 'Day Graphs', seconds => 3600*24, }, X@@ -44,6 +45,8 @@ X my $file = shift; X my $title = shift; X my $step = $range*$points_per_sample/$xpoints; X+ my $date = localtime(time); X+ $date =~ s|:|\\:|g unless $rrdtool_1_0; X X my ($graphret,$xs,$ys) = RRDs::graph($file, X '--imgformat', 'PNG', X@@ -57,6 +60,9 @@ X '--color', 'SHADEA#ffffff', X '--color', 'SHADEB#ffffff', X '--color', 'BACK#ffffff', X+ $rrdtool_1_0 ? () : ( X+ '--slope-mode' X+ ), X X "DEF:pop3d_login=$rrd:pop3d_login:AVERAGE", X "DEF:mpop3d_login=$rrd:pop3d_login:MAX", X@@ -76,7 +82,7 @@ X 'GPRINT:rmimapd_login:MAX:max\: %.0lf logins/min\l', X 'HRULE:0#000000', X 'COMMENT:\s', X- 'COMMENT:['.localtime(time).']\l', X+ 'COMMENT:['.$date.']\l', X ); X my $ERR=RRDs::error; X die "ERROR: $ERR\n" if $ERR; X@@ -88,6 +94,8 @@ X my $file = shift; X my $title = shift; X my $step = $range*$points_per_sample/$xpoints; X+ my $date = localtime(time); X+ $date =~ s|:|\\:|g unless $rrdtool_1_0; X X my ($graphret,$xs,$ys) = RRDs::graph($file, X '--imgformat', 'PNG', X@@ -101,6 +109,9 @@ X '--color', 'SHADEA#ffffff', X '--color', 'SHADEB#ffffff', X '--color', 'BACK#ffffff', X+ $rrdtool_1_0 ? () : ( X+ '--slope-mode', X+ ), X X "DEF:pop3d_ssl_login=$rrd:pop3d_ssl_login:AVERAGE", X "DEF:mpop3d_ssl_login=$rrd:pop3d_ssl_login:MAX", X@@ -120,7 +131,7 @@ X 'GPRINT:rmimapd_ssl_login:MAX:max\: %.0lf logins/hour\l', X 'HRULE:0#000000', X X- 'COMMENT:['.localtime(time).']\l', X+ 'COMMENT:['.$date.']\l', X ); X my $ERR=RRDs::error; X die "ERROR: $ERR\n" if $ERR; END-of-couriergraph/files/patch-ab echo x - couriergraph/files/patch-aa sed 's/^X//' >couriergraph/files/patch-aa << 'END-of-couriergraph/files/patch-aa' X--- couriergraph.cgi.orig Sun Sep 11 14:59:52 2005 X+++ couriergraph.cgi Sun Sep 11 15:01:32 2005 X@@ -18,8 +18,8 @@ X my $points_per_sample = 3; X my $ypoints = 160; X my $ypoints_err = 96; X-my $rrd = '/etc/postfix/couriergraph.rrd'; # path to where the RRD database is X-my $rrd_virus = '/etc/postfix/mailgraph_virus.rrd'; # path to where the Virus RRD database is X+my $rrd = '%%DATADIR%%/couriergraph.rrd'; # path to where the RRD database is X+my $rrd_virus = '%%DATADIR%%/couriergraph_virus.rrd'; # path to where the Virus RRD database is X my $tmp_dir = '/tmp/couriergraph'; # temporary directory where to store the images X X my @graphs = ( END-of-couriergraph/files/patch-aa echo x - couriergraph/Makefile sed 's/^X//' >couriergraph/Makefile << 'END-of-couriergraph/Makefile' X# New ports collection makefile for: mailgraph X# Date created: 11 September 2005 X# Whom: Xavier Beaudouin (kiwi@oav.net) X# X# $FreeBSD$ X# X XPORTNAME= couriergraph XPORTVERSION= 20041207 XCATEGORIES= mail XMASTER_SITES= http://www.stahl.bau.tu-bs.de/~hildeb/postfix/couriergraph/ XDISTNAME= ${PORTNAME} X XMAINTAINER= kiwi@oav.net XCOMMENT= A RRDtool frontend for Courier statistics X XRUN_DEPENDS= ${SITE_PERL}/RRDp.pm:${PORTSDIR}/net/rrdtool \ X ${SITE_PERL}/File/Tail.pm:${PORTSDIR}/devel/p5-File-Tail X XNO_BUILD= yes X XDATADIR?= /var/db/couriergraph XCOURIERGRAPH_USER?= ${WWWOWN} XCOURIERGRAPH_GROUP?= ${WWWGRP} X XUSE_REINPLACE= yes XUSE_RC_SUBR= yes XRC_SCRIPTS_SUB= PREFIX=${PREFIX} RC_SUBR=${RC_SUBR} DATADIR=${DATADIR} \ X COURIERGRAPH_USER=${COURIERGRAPH_USER} COURIERGRAPH_GROUP=${COURIERGRAPH_GROUP} X XSTARTUP_FILE= ${PREFIX}/etc/rc.d/couriergraph.sh X XMSG_FILE= ${PKGDIR}/pkg-message XPKGMESSAGE= ${WRKSRC}/pkg-message X Xpre-everything:: X @${ECHO_MSG} X @${ECHO_MSG} "You may set following options:" X @${ECHO_MSG} X @${ECHO_MSG} "DATADIR=/var/db/couriergraph Where do you put RRD databases?" X @${ECHO_MSG} "COURIERGRAPH_USER=www User to run couriergraph (Default: ${WWWOWN})" X @${ECHO_MSG} "COURIERGRAPH_GROUP=www Group to run couriergraph (Default: ${WWWGRP})" X @${ECHO_MSG} X Xpost-patch: X @${REINPLACE_CMD} -e "s,%%DATADIR%%,${DATADIR}," ${WRKSRC}/couriergraph.cgi X @${REINPLACE_CMD} -e "s,%%DATADIR%%,${DATADIR}," ${WRKSRC}/couriergraph.pl X @${SED} 's|%%DATADIR%%|${DATADIR}|g' ${MSG_FILE} > ${PKGMESSAGE} X Xdo-install: X ${MKDIR} ${PREFIX}/www/cgi-bin X ${MKDIR} ${DATADIR} X @${CHOWN} -R ${COURIERGRAPH_USER}:${COURIERGRAPH_GROUP} ${DATADIR} X @${INSTALL_SCRIPT} ${WRKSRC}/couriergraph.pl ${PREFIX}/sbin X @${INSTALL_SCRIPT} ${WRKSRC}/couriergraph.cgi ${PREFIX}/www/cgi-bin X @${SED} ${RC_SCRIPTS_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \ X ${FILESDIR}/couriergraph.sh.in > ${STARTUP_FILE} X @${CHMOD} 755 ${STARTUP_FILE} X Xpost-install: X @${ECHO} X @${CAT} ${PKGMESSAGE} X @${ECHO} X X.include <bsd.port.mk> END-of-couriergraph/Makefile echo x - couriergraph/distinfo sed 's/^X//' >couriergraph/distinfo << 'END-of-couriergraph/distinfo' XMD5 (couriergraph.tar.gz) = fc6427650b354ff0539adc1956639801 XSIZE (couriergraph.tar.gz) = 7595 END-of-couriergraph/distinfo echo x - couriergraph/pkg-descr sed 's/^X//' >couriergraph/pkg-descr << 'END-of-couriergraph/pkg-descr' XCouriergraph is a very simple mail statistics RRDtool frontend for Postfix Xthat produces daily, weekly, monthly and yearly graphs of Courier's POP3, XIMAP, POP3s and IMAPs logins. X XWWW: http://www.stahl.bau.tu-bs.de/~hildeb/postfix/couriergraph/ END-of-couriergraph/pkg-descr echo x - couriergraph/pkg-message sed 's/^X//' >couriergraph/pkg-message << 'END-of-couriergraph/pkg-message' XMake sure this script should be invoked with privilege to read X/var/log/maillog. X X X*** WARNING *** X XThe rrd database has been moved to %%DATADIR%%. XIf you have previous ones, please move them to %%DATADIR%%. END-of-couriergraph/pkg-message echo x - couriergraph/pkg-plist sed 's/^X//' >couriergraph/pkg-plist << 'END-of-couriergraph/pkg-plist' Xetc/rc.d/couriergraph.sh Xwww/cgi-bin/couriergraph.cgi Xsbin/couriergraph.pl X@unexec rmdir %D/www/cgi-bin 2>/dev/null || true END-of-couriergraph/pkg-plist exit --- couriergraph-20041207.shar ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050911195415.DEBFA2E03F>