mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
net-analyzer/suricata: add 6.0.9
Signed-off-by: Marek Szuba <marecki@gentoo.org>
This commit is contained in:
@@ -1,2 +1,4 @@
|
||||
DIST suricata-6.0.8.tar.gz 32697425 BLAKE2B 1e445885f3a672081cbb8f17de9fb0fa21a2c618b80ea8d3d9362c0475149d833986cac047ad90b1c1a5b5b19025ff501a695e0f197c00457859b3858f51ecba SHA512 ab1eceedde70179e4a447297039e64132e0a2361e8424ad42c9037273a3f6eaf4c8d5d0306af6f26c8b373636b621ac1d7d505952306d9170c6a87e6fb863b61
|
||||
DIST suricata-6.0.8.tar.gz.sig 566 BLAKE2B 817756401d628e49fb0f54faca05d87131711946aa641d0f0a5957fa2f5d6378e1b5cafeaf67b176b66cb0be0afd790aea1312042a195535e57571276aef1edc SHA512 d0d354b6fca3ef088e2371d6262f4bd45fb06747fcc32519510e690ced933d828fc1acf64d8d1b17d0360ce280905e5bf4b1c9fb8016d82cdee57a432bded884
|
||||
DIST suricata-6.0.9.tar.gz 27352128 BLAKE2B 966657eeff216894f6357989f0317b7c5eed82602ca2381269446cbe4c015be449f5598726b2f58924f20aca30c4e130ecafe642ea4ce39f1671f46093292551 SHA512 09a24a90db11e74da2d584904987c2d751243a95cf237d13a8b57cdffc6659281c9d572404caea657e637d7eed01ecfe40bdfcfc79c09e1ca8eb26637dddbb6c
|
||||
DIST suricata-6.0.9.tar.gz.sig 566 BLAKE2B 1ac1bb67caef5e5827127befd269de03ec697a351e80575d1f0f729c491be3601cc2e9372e87f762aefcb8c15403f94f122e3d626061e2215b8edcda38c46f37 SHA512 0df7d1f83bd1adb4e87b0afeada99c64b2aa50fdfb9eda5d44043f4447bceda50a057e78db2397f882efbe7440ba7e3f5db9e610f679938e5ed461f175d70c6f
|
||||
|
||||
215
net-analyzer/suricata/suricata-6.0.9.ebuild
Normal file
215
net-analyzer/suricata/suricata-6.0.9.ebuild
Normal file
@@ -0,0 +1,215 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
LUA_COMPAT=( lua5-1 luajit )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit autotools flag-o-matic linux-info lua-single python-single-r1 systemd tmpfiles verify-sig
|
||||
|
||||
DESCRIPTION="High performance Network IDS, IPS and Network Security Monitoring engine"
|
||||
HOMEPAGE="https://suricata.io/"
|
||||
SRC_URI="https://www.openinfosecfoundation.org/download/${P}.tar.gz
|
||||
verify-sig? ( https://www.openinfosecfoundation.org/download/${P}.tar.gz.sig )"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0/6"
|
||||
KEYWORDS="~amd64 ~riscv ~x86"
|
||||
IUSE="+af-packet bpf control-socket cuda debug +detection geoip hardened hyperscan lua lz4 nflog +nfqueue redis systemd test"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/openinfosecfoundation.org.asc"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
||||
bpf? ( af-packet )
|
||||
lua? ( ${LUA_REQUIRED_USE} )"
|
||||
|
||||
RDEPEND="${PYTHON_DEPS}
|
||||
acct-group/suricata
|
||||
acct-user/suricata
|
||||
dev-libs/jansson:=
|
||||
dev-libs/libpcre
|
||||
dev-libs/libyaml
|
||||
net-libs/libnet:*
|
||||
net-libs/libnfnetlink
|
||||
dev-libs/nspr
|
||||
dev-libs/nss
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
')
|
||||
>=net-libs/libhtp-0.5.42
|
||||
net-libs/libpcap
|
||||
sys-apps/file
|
||||
sys-libs/libcap-ng
|
||||
bpf? ( <dev-libs/libbpf-1.0.0 )
|
||||
cuda? ( dev-util/nvidia-cuda-toolkit )
|
||||
geoip? ( dev-libs/libmaxminddb:= )
|
||||
hyperscan? ( dev-libs/hyperscan )
|
||||
lua? ( ${LUA_DEPS} )
|
||||
lz4? ( app-arch/lz4 )
|
||||
nflog? ( net-libs/libnetfilter_log )
|
||||
nfqueue? ( net-libs/libnetfilter_queue )
|
||||
redis? ( dev-libs/hiredis:= )"
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-devel/autoconf-2.69-r5
|
||||
virtual/rust"
|
||||
BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-oisf-20200807 )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-5.0.1_configure-no-lz4-automagic.patch"
|
||||
"${FILESDIR}/${PN}-5.0.6_configure-no-sphinx-pdflatex-automagic.patch"
|
||||
"${FILESDIR}/${PN}-5.0.7_configure-no-hyperscan-automagic.patch"
|
||||
"${FILESDIR}/${PN}-6.0.0_default-config.patch"
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
if use bpf && use kernel_linux; then
|
||||
if kernel_is -lt 4 15; then
|
||||
ewarn "Kernel 4.15 or newer is necessary to use all XDP features like the CPU redirect map"
|
||||
fi
|
||||
|
||||
CONFIG_CHECK="~XDP_SOCKETS"
|
||||
ERROR_XDP_SOCKETS="CONFIG_XDP_SOCKETS is not set, making it impossible for Suricata to load XDP programs. "
|
||||
ERROR_XDP_SOCKETS+="Other eBPF features should work normally."
|
||||
check_extra_config
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -ie 's/docdir =.*/docdir = ${datarootdir}\/doc\/'${PF}'\//' "${S}/doc/Makefile.am" || die
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Bug #861242
|
||||
filter-lto
|
||||
|
||||
local myeconfargs=(
|
||||
"--localstatedir=/var" \
|
||||
"--runstatedir=/run" \
|
||||
"--enable-non-bundled-htp" \
|
||||
"--enable-gccmarch-native=no" \
|
||||
"--enable-python" \
|
||||
$(use_enable af-packet) \
|
||||
$(use_enable bpf ebpf) \
|
||||
$(use_enable control-socket unix-socket) \
|
||||
$(use_enable cuda) \
|
||||
$(use_enable detection) \
|
||||
$(use_enable geoip) \
|
||||
$(use_enable hardened gccprotect) \
|
||||
$(use_enable hardened pie) \
|
||||
$(use_enable hyperscan) \
|
||||
$(use_enable lz4) \
|
||||
$(use_enable nflog) \
|
||||
$(use_enable nfqueue) \
|
||||
$(use_enable redis hiredis) \
|
||||
$(use_enable test unittests) \
|
||||
"--disable-coccinelle"
|
||||
)
|
||||
if use lua; then
|
||||
if use lua_single_target_luajit; then
|
||||
myeconfargs+=( --enable-luajit )
|
||||
else
|
||||
myeconfargs+=( --enable-lua )
|
||||
fi
|
||||
fi
|
||||
|
||||
if use debug; then
|
||||
myeconfargs+=( $(use_enable debug) )
|
||||
# so we can get a backtrace according to "reporting bugs" on upstream web site
|
||||
CFLAGS="-ggdb -O0" econf ${myeconfargs[@]}
|
||||
else
|
||||
econf ${myeconfargs[@]}
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
python_optimize
|
||||
# Bug #878855
|
||||
python_fix_shebang "${ED}"/usr/bin/
|
||||
|
||||
if use bpf; then
|
||||
rm -f ebpf/Makefile.{am,in} || die
|
||||
dodoc -r ebpf/
|
||||
keepdir /usr/libexec/suricata/ebpf
|
||||
fi
|
||||
|
||||
insinto "/etc/${PN}"
|
||||
doins etc/{classification,reference}.config threshold.config suricata.yaml
|
||||
|
||||
keepdir "/var/lib/${PN}/rules" "/var/lib/${PN}/update"
|
||||
keepdir "/var/log/${PN}"
|
||||
|
||||
fowners -R ${PN}: "/var/lib/${PN}" "/var/log/${PN}" "/etc/${PN}"
|
||||
fperms 750 "/var/lib/${PN}" "/var/log/${PN}" "/etc/${PN}"
|
||||
fperms 2750 "/var/lib/${PN}/rules" "/var/lib/${PN}/update"
|
||||
|
||||
newinitd "${FILESDIR}/${PN}.initd" ${PN}
|
||||
newconfd "${FILESDIR}/${PN}.confd" ${PN}
|
||||
systemd_dounit "${FILESDIR}"/${PN}.service
|
||||
newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}.conf
|
||||
|
||||
insopts -m0644
|
||||
insinto /etc/logrotate.d
|
||||
newins etc/${PN}.logrotate ${PN}
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
tmpfiles_process ${PN}.conf
|
||||
|
||||
elog
|
||||
if use systemd; then
|
||||
elog "Suricata requires either the mode of operation (e.g. --af-packet) or the interface to listen on (e.g. -i eth0)"
|
||||
elog "to be specified on the command line. The provided systemd unit launches Suricata in af-packet mode and relies"
|
||||
elog "on file configuration to specify interfaces, should you prefer to run it differently you will have to customise"
|
||||
elog "said unit. The simplest way of doing it is to override the Environment=OPTIONS='...' line using a .conf file"
|
||||
elog "placed in the directory ${EPREFIX}/etc/systemd/system/suricata.service.d/ ."
|
||||
elog "For details, see the section on drop-in directories in systemd.unit(5)."
|
||||
else
|
||||
elog "The ${PN} init script expects to find the path to the configuration"
|
||||
elog "file as well as extra options in /etc/conf.d."
|
||||
elog
|
||||
elog "To create more than one ${PN} service, simply create a new .yaml file for it"
|
||||
elog "then create a symlink to the init script from a link called"
|
||||
elog "${PN}.foo - like so"
|
||||
elog " cd /etc/${PN}"
|
||||
elog " ${EDITOR##*/} suricata-foo.yaml"
|
||||
elog " cd /etc/init.d"
|
||||
elog " ln -s ${PN} ${PN}.foo"
|
||||
elog "Then edit /etc/conf.d/${PN} and make sure you specify sensible options for foo."
|
||||
elog
|
||||
elog "You can create as many ${PN}.foo* services as you wish."
|
||||
fi
|
||||
|
||||
if use bpf; then
|
||||
elog
|
||||
elog "eBPF/XDP files must be compiled (using sys-devel/clang[llvm_targets_BPF]) before use"
|
||||
elog "because their configuration is hard-coded. You can find the default ones in"
|
||||
elog " ${EPREFIX}/usr/share/doc/${PF}/ebpf"
|
||||
elog "and the common location for eBPF bytecode is"
|
||||
elog " ${EPREFIX}/usr/libexec/${PN}"
|
||||
elog "For more information, see https://${PN}.readthedocs.io/en/${P}/capture-hardware/ebpf-xdp.html"
|
||||
fi
|
||||
|
||||
if use debug; then
|
||||
elog
|
||||
elog "You have enabled the debug USE flag. Please read this link to report bugs upstream:"
|
||||
elog "https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Reporting_Bugs"
|
||||
elog "You need to also ensure the FEATURES variable in make.conf contains the"
|
||||
elog "'nostrip' option to produce useful core dumps or back traces."
|
||||
fi
|
||||
|
||||
elog
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||
elog "To download and install an initial set of rules, run:"
|
||||
elog " emerge --config =${CATEGORY}/${PF}"
|
||||
fi
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
suricata-update
|
||||
}
|
||||
Reference in New Issue
Block a user