blob: 073eac95b564b626e256bc1f90b28fd464f38060 (
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit flag-o-matic linux-info readme.gentoo-r1 systemd user
DESCRIPTION="A userspace logging daemon for netfilter/iptables related logging"
HOMEPAGE="https://netfilter.org/projects/ulogd/index.html"
SRC_URI="https://www.netfilter.org/projects/ulogd/files/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~ia64 ppc x86"
IUSE="dbi doc json mysql nfacct +nfct +nflog pcap postgres selinux sqlite ulog"
COMMON_DEPEND="
|| ( net-firewall/iptables net-firewall/nftables )
>=net-libs/libnfnetlink-1.0.1
dbi? ( dev-db/libdbi )
json? ( dev-libs/jansson )
nfacct? (
>=net-libs/libmnl-1.0.3
>=net-libs/libnetfilter_acct-1.0.1
)
nfct? ( >=net-libs/libnetfilter_conntrack-1.0.2 )
nflog? ( >=net-libs/libnetfilter_log-1.0.0 )
mysql? ( dev-db/mysql-connector-c:= )
pcap? ( net-libs/libpcap )
postgres? ( dev-db/postgresql:= )
sqlite? ( dev-db/sqlite:3 )
"
DEPEND="${COMMON_DEPEND}
doc? (
app-text/linuxdoc-tools
app-text/texlive-core
dev-texlive/texlive-fontsrecommended
virtual/latex-base
)
"
RDEPEND="${COMMON_DEPEND}
selinux? ( sec-policy/selinux-ulogd )
"
DISABLE_AUTOFORMATTING=1
DOC_CONTENTS="
You must have at least one logging stack enabled to make ulogd work.
Please edit the example configuration located at '${EPREFIX}/etc/ulogd.conf'.
"
pkg_setup() {
linux-info_pkg_setup
if use nfacct && kernel_is lt 3 3 0; then
ewarn "NFACCT input plugin requires a kernel >= 3.3."
fi
if use ulog && kernel_is ge 3 17 0; then
ewarn "ULOG target has been removed in the 3.17 kernel release."
ewarn "Consider enabling NFACCT, NFCT, or NFLOG support instead."
fi
enewgroup ulogd
enewuser ulogd -1 -1 /var/log/ulogd ulogd
}
src_prepare() {
default_src_prepare
# Change default settings to:
# - keep log files in /var/log/ulogd instead of /var/log;
# - create sockets in /run instead of /tmp.
sed -i \
-e "s|var/log|var/log/${PN}|g" \
-e 's|tmp|run|g' \
ulogd.conf.in || die
}
src_configure() {
append-lfs-flags
local myeconfargs=(
$(use_with dbi)
$(use_with json jansson)
$(use_enable nfacct)
$(use_enable nfct)
$(use_enable nflog)
$(use_with mysql)
$(use_with pcap)
$(use_with postgres pgsql)
$(use_with sqlite)
$(use_enable ulog)
)
econf "${myeconfargs[@]}"
}
src_compile() {
default_src_compile
if use doc; then
# Prevent access violations from bitmap font files generation.
export VARTEXFONTS="${T}/fonts"
emake -C doc
fi
}
src_install() {
use doc && HTML_DOCS=( doc/${PN}.html )
default_src_install
find "${D}" -name '*.la' -delete || die
readme.gentoo_create_doc
doman ${PN}.8
use doc && dodoc doc/${PN}.{dvi,ps,txt}
use mysql && dodoc doc/mysql-*.sql
use postgres && dodoc doc/pgsql-*.sql
use sqlite && dodoc doc/sqlite3.table
insinto /etc
doins ${PN}.conf
fowners root:ulogd /etc/${PN}.conf
fperms 640 /etc/${PN}.conf
newinitd "${FILESDIR}/${PN}.init" ${PN}
systemd_dounit "${FILESDIR}/${PN}.service"
insinto /etc/logrotate.d
newins "${FILESDIR}/${PN}.logrotate" ${PN}
diropts -o ulogd -g ulogd
keepdir /var/log/ulogd
}
pkg_postinst() {
readme.gentoo_print_elog
}
|