summaryrefslogtreecommitdiff
blob: 2e662864e3e6ac9ee43c5291bd04e4679f9e255b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=5
inherit autotools eutils user

DESCRIPTION="network Audit Record Generation and Utilization System"
HOMEPAGE="https://www.qosient.com/argus/"
SRC_URI="https://www.qosient.com/argus/dev/${P/_rc/.rc.}.tar.gz"

LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
IUSE="debug +libtirpc sasl tcpd"

RDEPEND="
	net-libs/libnsl:=
	net-libs/libpcap
	sys-libs/zlib
	!libtirpc? ( sys-libs/glibc[rpc(-)] )
	libtirpc? ( net-libs/libtirpc )
	sasl? ( dev-libs/cyrus-sasl )
	tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
"

DEPEND="
	${RDEPEND}
	>=sys-devel/bison-1.28
	>=sys-devel/flex-2.4.6
"

S=${WORKDIR}/${P/_rc/.rc.}

src_prepare() {
	find . -type f -execdir chmod +w {} \; #561360
	sed -e 's:/etc/argus.conf:/etc/argus/argus.conf:' \
		-i argus/argus.c \
		-i support/Config/argus.conf \
		-i man/man8/argus.8 \
		-i man/man5/argus.conf.5 || die

	sed -e 's:#\(ARGUS_SETUSER_ID=\).*:\1argus:' \
		-e 's:#\(ARGUS_SETGROUP_ID=\).*:\1argus:' \
		-e 's:\(#ARGUS_CHROOT_DIR=\).*:\1/var/lib/argus:' \
			-i support/Config/argus.conf || die
	epatch \
		"${FILESDIR}"/${PN}-3.0.8.1-disable-tcp-wrappers-automagic.patch \
		"${FILESDIR}"/${PN}-3.0.5-Makefile.patch \
		"${FILESDIR}"/${PN}-3.0.7.3-DLT_IPNET.patch \
		"${FILESDIR}"/${PN}-3.0.8.2-rpc.patch

	epatch_user
	eautoreconf
}

src_configure() {
	use debug && touch .debug # enable debugging
	econf $(use_with libtirpc) $(use_with tcpd wrappers) $(use_with sasl)
}

src_compile() {
	emake CCOPT="${CFLAGS} ${LDFLAGS}"
}

src_install() {
	doman man/man5/*.5 man/man8/*.8

	dosbin bin/argus{,bug}

	dodoc ChangeLog CREDITS README

	insinto /etc/argus
	doins support/Config/argus.conf

	newinitd "${FILESDIR}/argus.initd" argus
	keepdir /var/lib/argus
}

pkg_preinst() {
	enewgroup argus
	enewuser argus -1 -1 /var/lib/argus argus
}

pkg_postinst() {
	elog "Note, if you modify ARGUS_DAEMON value in argus.conf it's quite"
	elog "possible that the init script will fail to work."
}