You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.8 KiB
75 lines
1.8 KiB
# Copyright 1999-2020 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=7
|
|
|
|
DESCRIPTION="Open Source Host-based Intrusion Detection System"
|
|
HOMEPAGE="https://www.ossec.net/"
|
|
SRC_URI="https://github.com/ossec/ossec-hids/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
|
|
LICENSE="GPL-2"
|
|
SLOT="0"
|
|
KEYWORDS="amd64"
|
|
IUSE="agent hybrid local mysql postgres server sqlite test"
|
|
REQUIRED_USE="^^ ( agent hybrid local server )
|
|
?? ( mysql postgres )"
|
|
RESTRICT="!test? ( test )"
|
|
|
|
RDEPEND="acct-user/ossec
|
|
acct-user/ossecm
|
|
acct-user/ossecr
|
|
dev-libs/libevent
|
|
dev-libs/libpcre2[jit]
|
|
mysql? ( virtual/mysql )
|
|
postgres? ( dev-db/postgresql:= )
|
|
sqlite? ( dev-db/sqlite:3 )"
|
|
DEPEND="${RDEPEND}
|
|
test? (
|
|
dev-libs/check
|
|
dev-python/subunit
|
|
)"
|
|
S="${WORKDIR}/${P}/src"
|
|
|
|
declare -a MY_OPT
|
|
|
|
src_prepare() {
|
|
# Patch for the GCC version 10 -fno-common change. See
|
|
# https://github.com/ossec/ossec-hids/pull/1875
|
|
eapply -p2 "${FILESDIR}/gcc-fno-common-${PV}.patch"
|
|
eapply -p1 "${FILESDIR}/makefile-${PV}.patch"
|
|
eapply_user
|
|
}
|
|
|
|
src_configure() {
|
|
local target="local"
|
|
use agent && target="agent"
|
|
use hybrid && target="hybrid"
|
|
use server && target="server"
|
|
MY_OPT=(
|
|
PCRE2_SYSTEM=yes
|
|
TARGET=${target}
|
|
USE_SQLITE=$(usex sqlite)
|
|
V=0
|
|
ZLIB_SYSTEM=yes
|
|
)
|
|
use mysql && MY_OPT+=( DATABASE=mysql )
|
|
use postgres && MY_OPT+=( DATABASE=pgsql )
|
|
}
|
|
|
|
src_compile() {
|
|
emake "${MY_OPT[@]}" PREFIX=/var/ossec
|
|
}
|
|
|
|
src_test() {
|
|
emake "${MY_OPT[@]}" PREFIX=/var/ossec test
|
|
}
|
|
|
|
src_install() {
|
|
keepdir /var/ossec/logs/{alerts,archives,firewall}
|
|
keepdir /var/ossec/lua/{compiled,native}
|
|
keepdir /var/ossec/queue/{agent-info,agentless,alerts,diff,fts,ossec,rids,rootcheck,syscheck}
|
|
keepdir /var/ossec/{.ssh,stats,tmp,var/run}
|
|
newenvd - 50ossec-hids <<<'CONFIG_PROTECT="/var/ossec/etc"'
|
|
emake "${MY_OPT[@]}" PREFIX="${D}/var/ossec" install
|
|
}
|