1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-27 00:57:50 +00:00

Exilog is very nice utility to parse and visualize logs from multiply exim

servers.

PR:		ports/81899
Submitted by:	Vsevolod Stakhov <vsevolod@highsecure.ru>
This commit is contained in:
Sergey Matveychuk 2005-06-05 18:22:26 +00:00
parent 3ab309a8f1
commit 40765b8a02
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=136846
8 changed files with 170 additions and 0 deletions

View File

@ -79,6 +79,7 @@
SUBDIR += esmtp
SUBDIR += evolution
SUBDIR += exact
SUBDIR += exilog
SUBDIR += exim
SUBDIR += exim-doc-html
SUBDIR += exim-doc-info

88
mail/exilog/Makefile Normal file
View File

@ -0,0 +1,88 @@
# New ports collection makefile for: exilog
# Date created: 03 Jun 2005
# Whom: Vsevolod Stakhov <vsevolod@highsecure.ru>
#
# $FreeBSD$
#
PORTNAME= exilog
PORTVERSION= 0.2
CATEGORIES= mail
MASTER_SITES= http://duncanthrax.net/exilog/
MAINTAINER= vsevolod@highsecure.ru
COMMENT= Tool to centralize and visualize Exim logs with a web front end
RUN_DEPENDS= ${SITE_PERL}/Net/Netmask.pm:${PORTSDIR}/net-mgmt/p5-Net-Netmask
USE_PERL5= yes
USE_APACHE= yes
USE_REINPLACE= yes
NO_BUILD= yes
WRKSRC= ${WRKDIR}/${PORTNAME}
# Default sql backend
WITH_SQL_BACKEND?= mysql
.if (${WITH_SQL_BACKEND} == "mysql")
WITH_MYSQL= yes
RUN_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/DBD/mysql.pm:${PORTSDIR}/databases/p5-DBD-mysql
.elif (${WITH_SQL_BACKEND} == "postgresql")
WITH_POSTGRESQL= yes
RUN_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/DBD/pg.pm:${PORTSDIR}/databases/p5-DBD-pg
.else
BROKEN= "You should specify sql backend using WITH_SQL_BACKEND"
.endif
.ifndef WITHOUT_WWWDIR
EXILOGDIR?= ${PREFIX}/www/exilog
.else
EXILOGDIR?= ${PREFIX}/exilog
.endif
.if defined(NO_AGENT)
PLIST_SUB+= AGENT="@comment "
.else
USE_RC_SUBR= yes
PLIST_SUB+= AGENT=""
.endif
PLIST_SUB+= EXILOGDIR="${EXILOGDIR:S,^${PREFIX}/,,}"
.if !defined(NOPORTDOCS)
PORTDOC_FILES= doc/Changelog \
doc/exilog.txt \
doc/mysql-db-script.sql \
doc/pgsql-db-script.sql
.endif
pre-patch:
@${REINPLACE_CMD} -e 's,$$RealBin/exilog.conf,${PREFIX}/etc/exilog.conf,' ${WRKSRC}/exilog_config.pm
@${REINPLACE_CMD} -e "s,\(use exilog_config\),use lib \'${EXILOGDIR}\'; \1," ${WRKSRC}/exilog_agent.pl
@${REINPLACE_CMD} -e "s,\(use exilog_config\),use lib \'${EXILOGDIR}\'; \1," ${WRKSRC}/exilog_cleanup.pl
@${SED} -e 's,%%RC_SUBR%%,${RC_SUBR},' \
-e 's,%%PREFIX%%,${PREFIX},' ${FILESDIR}/exilog.sh > ${WRKDIR}/exilog.sh
do-install:
@${MKDIR} ${EXILOGDIR}
@${CP} ${WRKSRC}/*.pm ${WRKSRC}/*.css ${WRKSRC}/*.js ${EXILOGDIR}
.if !defined(NO_AGENT)
@${INSTALL_SCRIPT} ${WRKSRC}/exilog_agent.pl ${PREFIX}/sbin
.endif
@${INSTALL_SCRIPT} ${WRKSRC}/exilog_cleanup.pl ${PREFIX}/sbin
@${INSTALL_SCRIPT} ${WRKSRC}/exilog_cgi.pl ${EXILOGDIR}
@${CP} ${WRKSRC}/exilog.conf-example ${PREFIX}/etc/exilog.conf-dist
@${CHMOD} 0600 ${PREFIX}/etc/exilog.conf-dist
@${CHOWN} ${WWWOWN}:${WWWGRP} ${PREFIX}/etc/exilog.conf-dist
@${CP} ${FILESDIR}/htaccess ${EXILOGDIR}/.htaccess
.if !defined(NO_AGENT)
@${INSTALL_SCRIPT} ${WRKDIR}/exilog.sh ${PREFIX}/etc/rc.d
.endif
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
.for docfile in ${PORTDOC_FILES}
@${INSTALL_DATA} ${WRKSRC}/${docfile} ${DOCSDIR}
.endfor
.endif
.include <bsd.port.mk>

2
mail/exilog/distinfo Normal file
View File

@ -0,0 +1,2 @@
MD5 (exilog-0.2.tar.gz) = 4f027e5400cc76f580ac9ae760c34671
Size (exilog-0.2.tar.gz) = 82240

View File

@ -0,0 +1,30 @@
#!/bin/sh
#
# $FreeBSD$
#
# Add the following lines to /etc/rc.conf to enable exilog agent:
#
#exilog_enable="YES"
. %%RC_SUBR%%
name=exilog
rcvar=`set_rcvar`
command=%%PREFIX%%/sbin/exilog_agent.pl
pidfile=/var/run/exilog.pid
required_files=%%PREFIX%%/etc/exilog.conf
# read settings, set default values
load_rc_config $name
: ${exilog_enable="NO"}
case $1 in
stop)
kill `cat $pidfile`
rm -f $pidfile
;;
*)
run_rc_command "$1"
;;
esac

View File

@ -0,0 +1,3 @@
Options +ExecCGI
AddHandler cgi-script .pl
DirectoryIndex exilog_cgi.pl

View File

@ -0,0 +1,15 @@
--- exilog_agent.pl.orig Sat Jun 4 19:36:03 2005
+++ exilog_agent.pl Sat Jun 4 19:39:00 2005
@@ -46,7 +46,11 @@
};
setsid();
-
+ my $me = "exilog";
+ my $pidfile = "/var/run/".$me.".pid";
+ open (PID,">$pidfile");
+ print PID $$;
+ close (PID);
# dup STDOUT/ERR
open(STDOUT, ">&LOG");
open(STDERR, ">&LOG");

6
mail/exilog/pkg-descr Normal file
View File

@ -0,0 +1,6 @@
Exilog is a tool to centralize and visualize Exim logs
across multiple Exim servers with a web front end.
It is used in addition to Exim's standard or syslog logging.
It does not require changing Exim or its logging style.
WWW: http://duncanthrax.net/exilog/

25
mail/exilog/pkg-plist Normal file
View File

@ -0,0 +1,25 @@
%%AGENT%%@unexec [ ! -f /var/run/exilog.pid ] || %D/etc/rc.d/exilog.sh stop
%%AGENT%%sbin/exilog_agent.pl
%%AGENT%%etc/rc.d/exilog.sh
sbin/exilog_cleanup.pl
%%EXILOGDIR%%/exilog_cgi.pl
%%EXILOGDIR%%/exilog_cgi_html.pm
%%EXILOGDIR%%/exilog_cgi_messages.pm
%%EXILOGDIR%%/exilog_cgi_param.pm
%%EXILOGDIR%%/exilog_cgi_queues.pm
%%EXILOGDIR%%/exilog_cgi_servers.pm
%%EXILOGDIR%%/exilog_config.pm
%%EXILOGDIR%%/exilog_parse.pm
%%EXILOGDIR%%/exilog_sql.pm
%%EXILOGDIR%%/exilog_util.pm
%%EXILOGDIR%%/exilog_jscript.js
%%EXILOGDIR%%/exilog_stylesheet.css
%%EXILOGDIR%%/.htaccess
etc/exilog.conf-dist
%%PORTDOCS%%%%DOCSDIR%%/Changelog
%%PORTDOCS%%%%DOCSDIR%%/exilog.txt
%%PORTDOCS%%%%DOCSDIR%%/mysql-db-script.sql
%%PORTDOCS%%%%DOCSDIR%%/pgsql-db-script.sql
@dirrm %%EXILOGDIR%%
%%PORTDOCS%%@dirrm %%DOCSDIR%%