summaryrefslogtreecommitdiff
path: root/meta-security/recipes-ids/suricata
diff options
context:
space:
mode:
Diffstat (limited to 'meta-security/recipes-ids/suricata')
-rw-r--r--meta-security/recipes-ids/suricata/files/0001-af-packet-fix-build-on-recent-Linux-kernels.patch26
-rw-r--r--meta-security/recipes-ids/suricata/files/fixup.patch32
-rw-r--r--meta-security/recipes-ids/suricata/files/no_libhtp_build.patch38
-rw-r--r--meta-security/recipes-ids/suricata/libhtp_0.5.36.bb15
-rw-r--r--meta-security/recipes-ids/suricata/libhtp_0.5.38.bb27
-rw-r--r--meta-security/recipes-ids/suricata/python3-suricata-update_1.2.1.bb17
-rw-r--r--meta-security/recipes-ids/suricata/suricata.inc5
-rw-r--r--meta-security/recipes-ids/suricata/suricata_4.1.10.bb99
-rw-r--r--meta-security/recipes-ids/suricata/suricata_6.0.3.bb206
9 files changed, 266 insertions, 199 deletions
diff --git a/meta-security/recipes-ids/suricata/files/0001-af-packet-fix-build-on-recent-Linux-kernels.patch b/meta-security/recipes-ids/suricata/files/0001-af-packet-fix-build-on-recent-Linux-kernels.patch
deleted file mode 100644
index 530568b19..000000000
--- a/meta-security/recipes-ids/suricata/files/0001-af-packet-fix-build-on-recent-Linux-kernels.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From b37554e0bc3cf383e6547c5c6a69c6f6849c09e3 Mon Sep 17 00:00:00 2001
-From: Eric Leblond <eric@regit.org>
-Date: Wed, 17 Jul 2019 12:35:12 +0200
-Subject: [PATCH] af-packet: fix build on recent Linux kernels
-
-Upstream-Status: Backport
-Signed-off-by: Armin kuster <akuster808@gmail.com>
----
- src/source-af-packet.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-Index: suricata-4.1.5/src/source-af-packet.c
-===================================================================
---- suricata-4.1.5.orig/src/source-af-packet.c
-+++ suricata-4.1.5/src/source-af-packet.c
-@@ -68,6 +68,10 @@
- #include <linux/sockios.h>
- #endif
-
-+#if HAVE_LINUX_SOCKIOS_H
-+#include <linux/sockios.h>
-+#endif
-+
- #ifdef HAVE_PACKET_EBPF
- #include "util-ebpf.h"
- #include <bpf/libbpf.h>
diff --git a/meta-security/recipes-ids/suricata/files/fixup.patch b/meta-security/recipes-ids/suricata/files/fixup.patch
new file mode 100644
index 000000000..fc44ce68f
--- /dev/null
+++ b/meta-security/recipes-ids/suricata/files/fixup.patch
@@ -0,0 +1,32 @@
+Skip pkg Makefile from using its own rust steps
+
+Upstream-Status: OE Specific
+
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
+Index: suricata-6.0.2/Makefile.am
+===================================================================
+--- suricata-6.0.2.orig/Makefile.am
++++ suricata-6.0.2/Makefile.am
+@@ -7,7 +7,7 @@ EXTRA_DIST = ChangeLog COPYING LICENSE s
+ $(SURICATA_UPDATE_DIR) \
+ lua \
+ acsite.m4
+-SUBDIRS = $(HTP_DIR) rust src qa rules doc contrib etc python ebpf \
++SUBDIRS = $(HTP_DIR) src qa rules doc contrib etc python ebpf \
+ $(SURICATA_UPDATE_DIR)
+
+ CLEANFILES = stamp-h[0-9]*
+Index: suricata-6.0.2/Makefile.in
+===================================================================
+--- suricata-6.0.2.orig/Makefile.in
++++ suricata-6.0.2/Makefile.in
+@@ -426,7 +426,7 @@ EXTRA_DIST = ChangeLog COPYING LICENSE s
+ lua \
+ acsite.m4
+
+-SUBDIRS = $(HTP_DIR) rust src qa rules doc contrib etc python ebpf \
++SUBDIRS = $(HTP_DIR) src qa rules doc contrib etc python ebpf \
+ $(SURICATA_UPDATE_DIR)
+
+ CLEANFILES = stamp-h[0-9]*
diff --git a/meta-security/recipes-ids/suricata/files/no_libhtp_build.patch b/meta-security/recipes-ids/suricata/files/no_libhtp_build.patch
deleted file mode 100644
index 2ebf021fc..000000000
--- a/meta-security/recipes-ids/suricata/files/no_libhtp_build.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-Signed-of_by: Armin Kuster <akuster808@gmail.com>
-
-Index: suricata-2.0.5/Makefile.am
-===================================================================
---- suricata-2.0.5.orig/Makefile.am
-+++ suricata-2.0.5/Makefile.am
-@@ -5,7 +5,7 @@ ACLOCAL_AMFLAGS = -I m4
- EXTRA_DIST = ChangeLog COPYING LICENSE suricata.yaml.in \
- classification.config threshold.config \
- reference.config
--SUBDIRS = $(HTP_DIR) src qa rules doc contrib scripts
-+SUBDIRS = src qa rules doc contrib scripts
-
- CLEANFILES = stamp-h[0-9]*
-
-Index: suricata-2.0.5/Makefile.in
-===================================================================
---- suricata-2.0.5.orig/Makefile.in
-+++ suricata-2.0.5/Makefile.in
-@@ -229,7 +229,6 @@ HAVE_PCAP_CONFIG = @HAVE_PCAP_CONFIG@
- HAVE_PKG_CONFIG = @HAVE_PKG_CONFIG@
- HAVE_PYTHON_CONFIG = @HAVE_PYTHON_CONFIG@
- HAVE_WGET = @HAVE_WGET@
--HTP_DIR = @HTP_DIR@
- HTP_LDADD = @HTP_LDADD@
- INSTALL = @INSTALL@
- INSTALL_DATA = @INSTALL_DATA@
-@@ -369,7 +368,7 @@ EXTRA_DIST = ChangeLog COPYING LICENSE s
- classification.config threshold.config \
- reference.config
-
--SUBDIRS = $(HTP_DIR) src qa rules doc contrib scripts
-+SUBDIRS = src qa rules doc contrib scripts
- CLEANFILES = stamp-h[0-9]*
- all: config.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
diff --git a/meta-security/recipes-ids/suricata/libhtp_0.5.36.bb b/meta-security/recipes-ids/suricata/libhtp_0.5.36.bb
deleted file mode 100644
index 8305f7010..000000000
--- a/meta-security/recipes-ids/suricata/libhtp_0.5.36.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "LibHTP is a security-aware parser for the HTTP protocol and the related bits and pieces."
-
-require suricata.inc
-
-LIC_FILES_CHKSUM = "file://../LICENSE;beginline=1;endline=2;md5=c70d8d3310941dcdfcd1e02800a1f548"
-
-DEPENDS = "zlib"
-
-inherit autotools pkgconfig
-
-CFLAGS += "-D_DEFAULT_SOURCE"
-
-S = "${WORKDIR}/suricata-${VER}/${BPN}"
-
-RDEPENDS_${PN} += "zlib"
diff --git a/meta-security/recipes-ids/suricata/libhtp_0.5.38.bb b/meta-security/recipes-ids/suricata/libhtp_0.5.38.bb
new file mode 100644
index 000000000..2a0c93ccc
--- /dev/null
+++ b/meta-security/recipes-ids/suricata/libhtp_0.5.38.bb
@@ -0,0 +1,27 @@
+SUMMARY = "LibHTP is a security-aware parser for the HTTP protocol and the related bits and pieces."
+
+require suricata.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=2;md5=596ab7963a1a0e5198e5a1c4aa621843"
+
+SRC_URI = "git://github.com/OISF/libhtp.git;protocol=https;branch=0.5.x"
+SRCREV = "fca44158911a1642880ea5c774151a33ad33d906"
+
+DEPENDS = "zlib"
+
+inherit autotools-brokensep pkgconfig
+
+CFLAGS += "-D_DEFAULT_SOURCE"
+
+#S = "${WORKDIR}/suricata-${VER}/${BPN}"
+
+S = "${WORKDIR}/git"
+
+do_configure () {
+ cd ${S}
+ ./autogen.sh
+ oe_runconf
+}
+
+RDEPENDS:${PN} += "zlib"
+
diff --git a/meta-security/recipes-ids/suricata/python3-suricata-update_1.2.1.bb b/meta-security/recipes-ids/suricata/python3-suricata-update_1.2.1.bb
deleted file mode 100644
index bbdce69ab..000000000
--- a/meta-security/recipes-ids/suricata/python3-suricata-update_1.2.1.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "The tool for updating your Suricata rules. "
-HOMEPAGE = "http://suricata-ids.org/"
-SECTION = "security Monitor/Admin"
-LICENSE = "GPLv2"
-
-LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=2;md5=c70d8d3310941dcdfcd1e02800a1f548"
-
-SRCREV = "50e857f75e576e239d8306a6ac55946a1ce252a6"
-SRC_URI = "git://github.com/OISF/suricata-update;branch='master-1.2.x'"
-
-S = "${WORKDIR}/git"
-
-inherit python3native python3targetconfig setuptools3
-
-RDEPENDS_${PN} = "python3-pyyaml python3-logging python3-compression"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-security/recipes-ids/suricata/suricata.inc b/meta-security/recipes-ids/suricata/suricata.inc
index 1ce0d74a8..5754617fb 100644
--- a/meta-security/recipes-ids/suricata/suricata.inc
+++ b/meta-security/recipes-ids/suricata/suricata.inc
@@ -2,7 +2,4 @@ HOMEPAGE = "http://suricata-ids.org/"
SECTION = "security Monitor/Admin"
LICENSE = "GPLv2"
-VER = "4.1.10"
-SRC_URI = "http://www.openinfosecfoundation.org/download/suricata-${VER}.tar.gz"
-
-SRC_URI[sha256sum] = "4013cb13a2f3f7854328cf072319bba41896fad86d6b85b1cff4004f82aa7276"
+COMPATIBLE_HOST:powerpc = 'null'
diff --git a/meta-security/recipes-ids/suricata/suricata_4.1.10.bb b/meta-security/recipes-ids/suricata/suricata_4.1.10.bb
deleted file mode 100644
index bf088433a..000000000
--- a/meta-security/recipes-ids/suricata/suricata_4.1.10.bb
+++ /dev/null
@@ -1,99 +0,0 @@
-SUMMARY = "The Suricata Engine is an Open Source Next Generation Intrusion Detection and Prevention Engine"
-
-require suricata.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=2;md5=c70d8d3310941dcdfcd1e02800a1f548"
-
-SRC_URI += " \
- file://volatiles.03_suricata \
- file://tmpfiles.suricata \
- file://suricata.yaml \
- file://suricata.service \
- file://run-ptest \
- "
-
-UPSTREAM_CHECK_URI = "www.openinfosecfoundation.org/download"
-
-inherit autotools-brokensep pkgconfig python3-dir systemd ptest
-
-CFLAGS += "-D_DEFAULT_SOURCE -fcommon"
-
-CACHED_CONFIGUREVARS = "ac_cv_header_htp_htp_h=yes ac_cv_lib_htp_htp_conn_create=yes \
- ac_cv_path_HAVE_WGET=no ac_cv_path_HAVE_CURL=no "
-
-EXTRA_OECONF += " --disable-debug \
- --enable-non-bundled-htp \
- --disable-gccmarch-native \
- --disable-suricata-update \
- "
-
-PACKAGECONFIG ??= "htp jansson file pcre yaml pcap cap-ng net nfnetlink nss nspr"
-PACKAGECONFIG_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'unittests', '', d)}"
-
-PACKAGECONFIG[htp] = "--with-libhtp-includes=${STAGING_INCDIR} --with-libhtp-libraries=${STAGING_LIBDIR}, ,libhtp,"
-PACKAGECONFIG[pcre] = "--with-libpcre-includes=${STAGING_INCDIR} --with-libpcre-libraries=${STAGING_LIBDIR}, ,libpcre ,"
-PACKAGECONFIG[yaml] = "--with-libyaml-includes=${STAGING_INCDIR} --with-libyaml-libraries=${STAGING_LIBDIR}, ,libyaml ,"
-PACKAGECONFIG[pcap] = "--with-libpcap-includes=${STAGING_INCDIR} --with-libpcap-libraries=${STAGING_LIBDIR}, ,libpcap ,"
-PACKAGECONFIG[cap-ng] = "--with-libcap_ng-includes=${STAGING_INCDIR} --with-libcap_ng-libraries=${STAGING_LIBDIR}, ,libcap-ng , "
-PACKAGECONFIG[net] = "--with-libnet-includes=${STAGING_INCDIR} --with-libnet-libraries=${STAGING_LIBDIR}, , libnet,"
-PACKAGECONFIG[nfnetlink] = "--with-libnfnetlink-includes=${STAGING_INCDIR} --with-libnfnetlink-libraries=${STAGING_LIBDIR}, ,libnfnetlink ,"
-PACKAGECONFIG[nfq] = "--enable-nfqueue, --disable-nfqueue,libnetfilter-queue,"
-
-PACKAGECONFIG[jansson] = "--with-libjansson-includes=${STAGING_INCDIR} --with-libjansson-libraries=${STAGING_LIBDIR},,jansson, jansson"
-PACKAGECONFIG[file] = ",,file, file"
-PACKAGECONFIG[nss] = "--with-libnss-includes=${STAGING_INCDIR} --with-libnss-libraries=${STAGING_LIBDIR}, nss, nss,"
-PACKAGECONFIG[nspr] = "--with-libnspr-includes=${STAGING_INCDIR} --with-libnspr-libraries=${STAGING_LIBDIR}, nspr, nspr,"
-PACKAGECONFIG[python] = "--enable-python, --disable-python, python3, python3"
-PACKAGECONFIG[unittests] = "--enable-unittests, --disable-unittests,"
-
-export logdir = "${localstatedir}/log"
-
-do_install_append () {
-
- install -d ${D}${sysconfdir}/suricata
-
- oe_runmake install-conf DESTDIR=${D}
-
- oe_runmake install-rules DESTDIR=${D}
-
- install -d ${D}${sysconfdir}/suricata ${D}${sysconfdir}/default/volatiles
- install -m 0644 ${WORKDIR}/volatiles.03_suricata ${D}${sysconfdir}/default/volatiles/03_suricata
-
- install -m 0644 ${S}/threshold.config ${D}${sysconfdir}/suricata
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d
- install -m 0644 ${WORKDIR}/tmpfiles.suricata ${D}${sysconfdir}/tmpfiles.d/suricata.conf
-
- install -d ${D}${systemd_unitdir}/system
- sed -e s:/etc:${sysconfdir}:g \
- -e s:/var/run:/run:g \
- -e s:/var:${localstatedir}:g \
- -e s:/usr/bin:${bindir}:g \
- -e s:/bin/kill:${base_bindir}/kill:g \
- -e s:/usr/lib:${libdir}:g \
- ${WORKDIR}/suricata.service > ${D}${systemd_unitdir}/system/suricata.service
- fi
-
- # Remove /var/run as it is created on startup
- rm -rf ${D}${localstatedir}/run
-
-}
-
-pkg_postinst_ontarget_${PN} () {
-if command -v systemd-tmpfiles >/dev/null; then
- systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/suricata.conf
-elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
- ${sysconfdir}/init.d/populate-volatile.sh update
-fi
-}
-
-SYSTEMD_PACKAGES = "${PN}"
-
-PACKAGES =+ "${PN}-socketcontrol"
-FILES_${PN} += "${systemd_unitdir} ${sysconfdir}/tmpfiles.d"
-FILES_${PN}-socketcontrol = "${bindir}/suricatasc ${PYTHON_SITEPACKAGES_DIR}"
-
-CONFFILES_${PN} = "${sysconfdir}/suricata/suricata.yaml"
-
-RDEPENDS_${PN}-python = "python"
diff --git a/meta-security/recipes-ids/suricata/suricata_6.0.3.bb b/meta-security/recipes-ids/suricata/suricata_6.0.3.bb
new file mode 100644
index 000000000..ca9e03e32
--- /dev/null
+++ b/meta-security/recipes-ids/suricata/suricata_6.0.3.bb
@@ -0,0 +1,206 @@
+SUMMARY = "The Suricata Engine is an Open Source Next Generation Intrusion Detection and Prevention Engine"
+
+require suricata.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=2;md5=c70d8d3310941dcdfcd1e02800a1f548"
+
+SRC_URI = "http://www.openinfosecfoundation.org/download/suricata-${PV}.tar.gz"
+SRC_URI[sha256sum] = "daf134bb2d7c980035e9ae60f7aaf313323a809340009f26e48110ccde81f602"
+
+DEPENDS = "lz4 libhtp"
+
+SRC_URI += " \
+ file://volatiles.03_suricata \
+ file://tmpfiles.suricata \
+ file://suricata.yaml \
+ file://suricata.service \
+ file://run-ptest \
+ file://fixup.patch \
+ "
+
+SRC_URI += " \
+ crate://crates.io/autocfg/1.0.1 \
+ crate://crates.io/semver-parser/0.7.0 \
+ crate://crates.io/arrayvec/0.4.12 \
+ crate://crates.io/ryu/1.0.5 \
+ crate://crates.io/libc/0.2.86 \
+ crate://crates.io/bitflags/1.2.1 \
+ crate://crates.io/version_check/0.9.2 \
+ crate://crates.io/memchr/2.3.4 \
+ crate://crates.io/nodrop/0.1.14 \
+ crate://crates.io/cfg-if/0.1.9 \
+ crate://crates.io/static_assertions/0.3.4 \
+ crate://crates.io/getrandom/0.1.16 \
+ crate://crates.io/cfg-if/1.0.0 \
+ crate://crates.io/siphasher/0.3.3 \
+ crate://crates.io/ppv-lite86/0.2.10 \
+ crate://crates.io/proc-macro-hack/0.5.19 \
+ crate://crates.io/proc-macro2/0.4.30 \
+ crate://crates.io/unicode-xid/0.1.0 \
+ crate://crates.io/syn/0.15.44 \
+ crate://crates.io/build_const/0.2.1 \
+ crate://crates.io/num-derive/0.2.5 \
+ crate://crates.io/base64/0.11.0 \
+ crate://crates.io/widestring/0.4.3 \
+ crate://crates.io/md5/0.7.0 \
+ crate://crates.io/uuid/0.8.2 \
+ crate://crates.io/byteorder/1.4.2 \
+ crate://crates.io/semver/0.9.0 \
+ crate://crates.io/nom/5.1.1 \
+ crate://crates.io/num-traits/0.2.14 \
+ crate://crates.io/num-integer/0.1.44 \
+ crate://crates.io/num-bigint/0.2.6 \
+ crate://crates.io/num-bigint/0.3.1 \
+ crate://crates.io/num-rational/0.2.4 \
+ crate://crates.io/num-complex/0.2.4 \
+ crate://crates.io/num-iter/0.1.42 \
+ crate://crates.io/phf_shared/0.8.0 \
+ crate://crates.io/crc/1.8.1 \
+ crate://crates.io/rustc_version/0.2.3 \
+ crate://crates.io/phf/0.8.0 \
+ crate://crates.io/lexical-core/0.6.7 \
+ crate://crates.io/time/0.1.44 \
+ crate://crates.io/quote/0.6.13 \
+ crate://crates.io/rand_core/0.5.1 \
+ crate://crates.io/rand_chacha/0.2.2 \
+ crate://crates.io/rand_pcg/0.2.1 \
+ crate://crates.io/num-traits/0.1.43 \
+ crate://crates.io/rand/0.7.3 \
+ crate://crates.io/enum_primitive/0.1.1 \
+ crate://crates.io/phf_generator/0.8.0 \
+ crate://crates.io/phf_codegen/0.8.0 \
+ crate://crates.io/tls-parser/0.9.4 \
+ crate://crates.io/num/0.2.1 \
+ crate://crates.io/rusticata-macros/2.1.0 \
+ crate://crates.io/ntp-parser/0.4.0 \
+ crate://crates.io/der-oid-macro/0.2.0 \
+ crate://crates.io/der-parser/3.0.4 \
+ crate://crates.io/ipsec-parser/0.5.0 \
+ crate://crates.io/x509-parser/0.6.5 \
+ crate://crates.io/der-parser/4.1.0 \
+ crate://crates.io/snmp-parser/0.6.0 \
+ crate://crates.io/kerberos-parser/0.5.0 \
+ crate://crates.io/wasi/0.10.0+wasi-snapshot-preview1 \
+ crate://crates.io/winapi/0.3.9 \
+ crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
+ crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
+ crate://crates.io/log/0.4.0 \
+ crate://crates.io/rand_hc/0.2.0 \
+ crate://crates.io/wasi/0.9.0+wasi-snapshot-preview1 \
+ crate://crates.io/sawp/0.5.0 \
+ crate://crates.io/sawp-modbus/0.5.0 \
+ crate://crates.io/brotli/3.3.0 \
+ crate://crates.io/flate2/1.0.20 \
+ crate://crates.io/alloc-no-stdlib/2.0.1 \
+ crate://crates.io/alloc-stdlib/0.2.1 \
+ crate://crates.io/brotli-decompressor/2.3.1 \
+ crate://crates.io/crc32fast/1.2.1 \
+ crate://crates.io/miniz_oxide/0.4.4 \
+ crate://crates.io/adler/1.0.2 \
+ "
+
+# test case support
+SRC_URI += " \
+ crate://crates.io/test-case/1.0.1 \
+ crate://crates.io/proc-macro2/1.0.1 \
+ crate://crates.io/quote/1.0.1 \
+ crate://crates.io/syn/1.0.1 \
+ crate://crates.io/unicode-xid/0.2.0 \
+ "
+
+inherit autotools pkgconfig python3native systemd ptest cargo
+
+EXTRA_OECONF += " --disable-debug \
+ --disable-gccmarch-native \
+ --enable-non-bundled-htp \
+ --disable-suricata-update \
+ --with-libhtp-includes=${STAGING_INCDIR} --with-libhtp-libraries=${STAGING_LIBDIR} \
+ "
+
+CARGO_SRC_DIR = "rust"
+
+B = "${S}"
+
+PACKAGECONFIG ??= "jansson file pcre yaml python pcap cap-ng net nfnetlink nss nspr "
+PACKAGECONFIG:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'unittests', '', d)}"
+
+PACKAGECONFIG[pcre] = "--with-libpcre-includes=${STAGING_INCDIR} --with-libpcre-libraries=${STAGING_LIBDIR}, ,libpcre ,"
+PACKAGECONFIG[yaml] = "--with-libyaml-includes=${STAGING_INCDIR} --with-libyaml-libraries=${STAGING_LIBDIR}, ,libyaml ,"
+PACKAGECONFIG[pcap] = "--with-libpcap-includes=${STAGING_INCDIR} --with-libpcap-libraries=${STAGING_LIBDIR}, ,libpcap"
+PACKAGECONFIG[cap-ng] = "--with-libcap_ng-includes=${STAGING_INCDIR} --with-libcap_ng-libraries=${STAGING_LIBDIR}, ,libcap-ng , "
+PACKAGECONFIG[net] = "--with-libnet-includes=${STAGING_INCDIR} --with-libnet-libraries=${STAGING_LIBDIR}, , libnet,"
+PACKAGECONFIG[nfnetlink] = "--with-libnfnetlink-includes=${STAGING_INCDIR} --with-libnfnetlink-libraries=${STAGING_LIBDIR}, ,libnfnetlink ,"
+PACKAGECONFIG[nfq] = "--enable-nfqueue, --disable-nfqueue,libnetfilter-queue,"
+
+PACKAGECONFIG[jansson] = "--with-libjansson-includes=${STAGING_INCDIR} --with-libjansson-libraries=${STAGING_LIBDIR},,jansson, jansson"
+PACKAGECONFIG[file] = ",,file, file"
+PACKAGECONFIG[nss] = "--with-libnss-includes=${STAGING_INCDIR} --with-libnss-libraries=${STAGING_LIBDIR}, nss, nss,"
+PACKAGECONFIG[nspr] = "--with-libnspr-includes=${STAGING_INCDIR} --with-libnspr-libraries=${STAGING_LIBDIR}, nspr, nspr,"
+PACKAGECONFIG[python] = "--enable-python, --disable-python, python3, python3-core"
+PACKAGECONFIG[unittests] = "--enable-unittests, --disable-unittests,"
+
+export logdir = "${localstatedir}/log"
+
+CACHED_CONFIGUREVARS = "ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes"
+
+do_configure:prepend () {
+ oe_runconf
+}
+
+do_compile () {
+ # we do this to bypass the make provided by this pkg
+ # patches Makefile to skip the subdir
+ cargo_do_compile
+
+ # Finish building
+ cd ${S}
+ make
+}
+
+do_install () {
+ install -d ${D}${sysconfdir}/suricata
+
+ oe_runmake install DESTDIR=${D}
+
+ install -d ${D}${sysconfdir}/suricata ${D}${sysconfdir}/default/volatiles
+ install -m 0644 ${WORKDIR}/volatiles.03_suricata ${D}${sysconfdir}/default/volatiles/03_suricata
+
+ install -m 0644 ${S}/threshold.config ${D}${sysconfdir}/suricata
+ install -m 0644 ${S}/suricata.yaml ${D}${sysconfdir}/suricata
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ install -m 0644 ${WORKDIR}/tmpfiles.suricata ${D}${sysconfdir}/tmpfiles.d/suricata.conf
+
+ install -d ${D}${systemd_unitdir}/system
+ sed -e s:/etc:${sysconfdir}:g \
+ -e s:/var/run:/run:g \
+ -e s:/var:${localstatedir}:g \
+ -e s:/usr/bin:${bindir}:g \
+ -e s:/bin/kill:${base_bindir}/kill:g \
+ -e s:/usr/lib:${libdir}:g \
+ ${WORKDIR}/suricata.service > ${D}${systemd_unitdir}/system/suricata.service
+ fi
+
+ # Remove /var/run as it is created on startup
+ rm -rf ${D}${localstatedir}/run
+
+ sed -i -e "s:#!.*$:#!${USRBINPATH}/env ${PYTHON_PN}:g" ${D}${bindir}/suricatasc
+ sed -i -e "s:#!.*$:#!${USRBINPATH}/env ${PYTHON_PN}:g" ${D}${bindir}/suricatactl
+}
+
+pkg_postinst_ontarget:${PN} () {
+if command -v systemd-tmpfiles >/dev/null; then
+ systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/suricata.conf
+elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+ ${sysconfdir}/init.d/populate-volatile.sh update
+fi
+}
+
+SYSTEMD_PACKAGES = "${PN}"
+
+PACKAGES =+ "${PN}-python"
+FILES:${PN} += "${systemd_unitdir} ${sysconfdir}/tmpfiles.d"
+FILES:${PN}-python = "${bindir}/suricatasc ${PYTHON_SITEPACKAGES_DIR}"
+
+CONFFILES:${PN} = "${sysconfdir}/suricata/suricata.yaml"