1SUMMARY = "User space tools for kernel auditing"
2DESCRIPTION = "The audit package contains the user space utilities for \
3storing and searching the audit records generated by the audit subsystem \
4in the Linux kernel."
5HOMEPAGE = "http://people.redhat.com/sgrubb/audit/"
6SECTION = "base"
7LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later"
8LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
9
10SRC_URI = "git://github.com/linux-audit/${BPN}-userspace.git;branch=master;protocol=https \
11           file://0001-Fixed-swig-host-contamination-issue.patch \
12           file://auditd \
13           file://audit-volatile.conf \
14          "
15
16SRC_URI:append:libc-musl = " file://0001-Replace-__attribute_malloc__-with-__attribute__-__ma.patch"
17
18S = "${WORKDIR}/git"
19SRCREV = "22ccbd984e493524050ac445f796e9a7e90e1149"
20
21inherit autotools python3targetconfig update-rc.d systemd
22
23UPDATERCPN = "auditd"
24INITSCRIPT_NAME = "auditd"
25INITSCRIPT_PARAMS = "defaults"
26
27SYSTEMD_PACKAGES = "auditd"
28SYSTEMD_SERVICE:auditd = "auditd.service audit-rules.service"
29
30DEPENDS = "python3 tcp-wrappers libcap-ng linux-libc-headers swig-native python3-setuptools-native coreutils-native"
31
32EXTRA_OECONF = " \
33        --with-libwrap \
34        --with-libcap-ng \
35        --with-python3 \
36        --with-arm \
37        --with-aarch64 \
38        --without-golang \
39        --disable-gssapi-krb5 \
40        --disable-zos-remote \
41        --sbindir=${base_sbindir} \
42        --runstatedir=/run \
43        "
44
45EXTRA_OEMAKE = " \
46        PYTHON=python3 \
47        pythondir=${libdir}/python${PYTHON_BASEVERSION}/site-packages \
48        pyexecdir=${libdir}/python${PYTHON_BASEVERSION}/site-packages \
49        STDINC='${STAGING_INCDIR}' \
50        "
51
52SUMMARY:audispd-plugins = "Plugins for the audit event dispatcher"
53DESCRIPTION:audispd-plugins = "The audispd-plugins package provides plugins for the real-time \
54interface to the audit system, audispd. These plugins can do things \
55like relay events to remote machines or analyze events for suspicious \
56behavior."
57
58PACKAGES =+ "audispd-plugins"
59PACKAGES += "auditd ${PN}-python"
60
61FILES:${PN} = "${sysconfdir}/libaudit.conf ${libdir}/libau*.so.*"
62FILES:auditd = "${bindir}/* ${base_sbindir}/* ${sysconfdir}/* ${datadir}/audit-rules/* ${libexecdir}/*"
63FILES:audispd-plugins = "${sysconfdir}/audit/audisp-remote.conf \
64        ${sysconfdir}/audit/plugins.d/au-remote.conf \
65        ${sysconfdir}/audit/plugins.d/syslog.conf \
66        ${base_sbindir}/audisp-remote \
67        ${base_sbindir}/audisp-syslog \
68        ${localstatedir}/spool/audit \
69        "
70FILES:${PN}-dbg += "${libdir}/python${PYTHON_BASEVERSION}/*/.debug"
71FILES:${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}"
72
73CONFFILES:auditd = "${sysconfdir}/audit/audit.rules"
74
75do_configure:prepend() {
76    sed -e 's|buf\[];|buf[0];|g'  ${STAGING_INCDIR}/linux/audit.h > ${S}/lib/audit.h
77    sed -i -e 's|#include <linux/audit.h>|#include "audit.h"|g' ${S}/lib/libaudit.h
78}
79
80do_install:append() {
81    sed -i -e 's|#include "audit.h"|#include <linux/audit.h>|g' ${D}${includedir}/libaudit.h
82
83    # Install default rules
84    install -d -m 750 ${D}/etc/audit
85    install -d -m 750 ${D}/etc/audit/rules.d
86
87    install -m 0640 ${S}/rules/10-base-config.rules ${D}/etc/audit/rules.d/audit.rules
88
89    # Based on the audit.spec "Copy default rules into place on new installation"
90    install -m 0640 ${D}/etc/audit/rules.d/audit.rules ${D}/etc/audit/audit.rules
91
92    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
93        install -D -m 0644 ${WORKDIR}/audit-volatile.conf ${D}${sysconfdir}/tmpfiles.d/audit.conf
94    fi
95
96    if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
97        install -D -m 0755 ${WORKDIR}/auditd ${D}/etc/init.d/auditd
98        rm -rf ${D}${libdir}/systemd
99    fi
100
101    # Create /var/spool/audit directory for audisp-remote
102    install -d -m 0700 ${D}${localstatedir}/spool/audit
103}
104