1PORTNAME=	logcheck
2DISTVERSION=	1.4.7
3CATEGORIES=	security
4MASTER_SITES=	DEBIAN_POOL
5DISTNAME=	${PORTNAME}_${PORTVERSION}
6
7MAINTAINER=	ports@MidnightBSD.org
8COMMENT=	Auditing tool for system logs on Unix boxes
9WWW=		https://salsa.debian.org/debian/logcheck
10
11LICENSE=	gpl2+
12LICENSE_FILE=	${WRKSRC}/LICENSE
13
14BUILD_DEPENDS=	docbook-to-man>0:textproc/docbook-to-man
15RUN_DEPENDS=	bash:shells/bash \
16		lockfile-create:sysutils/lockfile-progs \
17		mime-construct:mail/mime-construct
18
19# Enable Perl dependency for logtail script
20USES=		perl5 shebangfix tar:xz
21SHEBANG_FILES=	src/detectrotate/*.dtr src/logcheck src/logtail src/logtail2
22BINMODE=	755
23SUB_FILES=	pkg-deinstall pkg-install pkg-message
24SUB_LIST+=	CRON=${PORT_OPTIONS:MCRON} \
25		DBDIR=${DBDIR} \
26		LOGCHECK_GROUP=${LOGCHECK_GROUP} \
27		LOGCHECK_USER=${LOGCHECK_USER}
28WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}
29USERS=		${LOGCHECK_USER}
30GROUPS=		${LOGCHECK_GROUP}
31PLIST_SUB+=	CHGRP=${CHGRP} \
32		CHMOD=${CHMOD} \
33		DBDIR=${DBDIR} \
34		FIND=${FIND} \
35		LOGCHECK_GROUP=${LOGCHECK_GROUP} \
36		LOGCHECK_USER=${LOGCHECK_USER} \
37		RUNDIR=${RUNDIR}
38PORTDOCS=	${DOCS:T}
39
40OPTIONS_DEFINE=		CRON DOCS EXAMPLES
41OPTIONS_DEFAULT=	CRON
42CRON_DESC=		Install cron script automatically
43
44# None. portlint compliance
45BASEDIR?=
46CONFIG_DIRS=		cracking.d ignore.d.paranoid ignore.d.server \
47			ignore.d.workstation violations.d violations.ignore.d
48DBDIR=			${BASEDIR}/var/db/${PORTNAME}
49DOCS=			AUTHORS CHANGES CREDITS TODO docs/README*
50LOGCHECK_GROUP=		${LOGCHECK_USER}
51LOGCHECK_USER=		logcheck
52MAN1_FILES=		logcheck-test.1
53MAN8_FILES=		logcheck.8 logtail.8 logtail2.8
54REINPLACE_FILES=	debian/logcheck.cron.d docs/logcheck.sgml \
55			docs/logtail2.8 docs/README.logcheck \
56			docs/README.logcheck-database docs/README.logtail \
57			etc/logcheck.conf etc/logcheck.logfiles src/logcheck \
58			src/logtail2
59RUNDIR=			${BASEDIR}/var/run/${PORTNAME}
60
61.include <bsd.port.pre.mk>
62
63do-build:
64.for file in ${REINPLACE_FILES}
65	${REINPLACE_CMD} ${_SUB_LIST_TEMP} ${WRKSRC}/${file}
66.endfor
67	docbook-to-man ${WRKSRC}/docs/logcheck.sgml > ${WRKSRC}/docs/logcheck.8
68	${FIND} ${WRKSRC} -type f \( -name \*.orig -o -name \*.bak \) -delete
69
70do-install:
71	@${MKDIR} ${DATADIR}/detectrotate \
72		  ${DBDIR} \
73		  ${DOCSDIR} \
74		  ${ETCDIR} \
75		  ${ETCDIR}/logcheck.logfiles.d \
76		  ${EXAMPLESDIR} \
77		  ${RUNDIR}
78	${INSTALL_SCRIPT} ${WRKSRC}/src/logcheck-test ${PREFIX}/bin
79	${INSTALL_SCRIPT} ${WRKSRC}/src/logcheck ${PREFIX}/sbin
80	${INSTALL_SCRIPT} ${WRKSRC}/src/logtail ${PREFIX}/sbin
81	${INSTALL_SCRIPT} ${WRKSRC}/src/logtail2 ${PREFIX}/sbin
82	${INSTALL_DATA} ${WRKSRC}/etc/logcheck.conf \
83		${ETCDIR}/logcheck.conf.sample
84	${INSTALL_DATA} ${WRKSRC}/etc/logcheck.logfiles \
85		${ETCDIR}/
86	${INSTALL_DATA} ${WRKSRC}/etc/logcheck.logfiles.d/syslog.logfiles \
87		${ETCDIR}/logcheck.logfiles.d/syslog.logfiles.sample
88.for i in ${CONFIG_DIRS}
89	@${MKDIR} ${ETCDIR}/${i}
90	${INSTALL_DATA} ${WRKSRC}/rulefiles/linux/${i}/* \
91		${ETCDIR}/${i}
92.endfor
93	${INSTALL_DATA} ${WRKSRC}/src/detectrotate/*.dtr \
94		${DATADIR}/detectrotate
95	${INSTALL_DATA} ${WRKSRC}/debian/logcheck.cron.d \
96		${EXAMPLESDIR}/crontab.in
97.for i in ${MAN1_FILES}
98	${INSTALL_MAN} ${WRKSRC}/docs/$i ${PREFIX}/share/man/man1
99.endfor
100.for i in ${MAN8_FILES}
101	${INSTALL_MAN} ${WRKSRC}/docs/$i ${PREFIX}/share/man/man8
102.endfor
103	cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${DOCSDIR}
104
105.include <bsd.port.post.mk>
106