| # Copyright 1999-2016 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI=5 |
| |
| AUTOTOOLS_AUTORECONF=1 |
| |
| inherit autotools-utils eutils 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/${PN}/files/${P}.tar.bz2 |
| ftp://ftp.netfilter.org/pub/${PN}/${P}.tar.bz2 |
| " |
| |
| LICENSE="GPL-2" |
| SLOT="0" |
| KEYWORDS="~amd64 ~ia64 ~ppc ~x86" |
| IUSE="dbi doc json mysql nfacct +nfct +nflog pcap postgres sqlite -ulog" |
| |
| RDEPEND=" |
| || ( 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? ( virtual/mysql ) |
| pcap? ( net-libs/libpcap ) |
| postgres? ( dev-db/postgresql:= ) |
| sqlite? ( dev-db/sqlite:3 ) |
| " |
| DEPEND="${RDEPEND} |
| doc? ( |
| app-text/linuxdoc-tools |
| app-text/texlive-core |
| virtual/latex-base |
| ) |
| " |
| |
| DOCS=( AUTHORS README TODO ) |
| |
| PATCHES=( "${FILESDIR}/${P}-remove-db-automagic.patch" ) |
| |
| DOC_CONTENTS=" |
| You must have at least one logging stack enabled to make ulogd work. |
| Please edit example configuration located at /etc/ulogd.conf |
| " |
| |
| pkg_setup() { |
| enewgroup ulogd |
| enewuser ulogd -1 -1 /var/log/ulogd ulogd |
| |
| linux-info_pkg_setup |
| |
| if kernel_is lt 2 6 14; then |
| die "ulogd requires kernel newer than 2.6.14" |
| fi |
| |
| if kernel_is lt 2 6 18; then |
| ewarn "You are using kernel older than 2.6.18" |
| ewarn "Some ulogd features may be unavailable" |
| fi |
| |
| if use nfacct && kernel_is lt 3 3 0; then |
| ewarn "NFACCT input plugin requires kernel newer than 3.3.0" |
| fi |
| |
| if use ulog && kernel_is gt 3 17 0; then |
| ewarn "ULOG target was removed since 3.17.0 kernel release" |
| ewarn "Consider enabling NFACCT, NFCT or NFLOG support" |
| fi |
| } |
| |
| src_prepare() { |
| # - make all logs to be kept in a single dir /var/log/ulogd |
| # - place sockets in /run instead of /tmp |
| sed -i \ |
| -e 's%var/log%var/log/ulogd%g' \ |
| -e 's%tmp%run%g' \ |
| ulogd.conf.in || die |
| |
| append-lfs-flags |
| autotools-utils_src_prepare |
| } |
| |
| src_configure() { |
| 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) |
| ) |
| autotools-utils_src_configure |
| } |
| |
| src_compile() { |
| autotools-utils_src_compile |
| |
| if use doc; then |
| # Prevent access violations from bitmap font files generation |
| export VARTEXFONTS="${T}"/fonts |
| emake -C doc |
| fi |
| } |
| |
| src_install() { |
| autotools-utils_src_install |
| prune_libtool_files --modules |
| readme.gentoo_create_doc |
| |
| if use doc; then |
| dohtml doc/${PN}.html |
| dodoc doc/${PN}.{dvi,ps,txt} |
| fi |
| |
| use mysql && dodoc doc/mysql-*.sql |
| use postgres && dodoc doc/pgsql-*.sql |
| use sqlite && dodoc doc/sqlite3.table |
| |
| doman ${PN}.8 |
| |
| insinto /etc |
| doins "${BUILD_DIR}/${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 |
| } |