sys-process/audit: Sync with Gentoo

It's from Gentoo commit acf4c3b19d2e93a66020970627da22e813747e2a.
This commit is contained in:
Flatcar Buildbot 2024-07-01 07:19:42 +00:00 committed by Mathieu Tortuyaux
parent 70cb063c1f
commit 835bf047ff
No known key found for this signature in database
GPG Key ID: AC5CCFB52545D9B8
5 changed files with 254 additions and 7 deletions

View File

@ -1,2 +1,3 @@
DIST audit-3.1.1.tar.gz 1218111 BLAKE2B a804684e438efc5f35b387708b3dc91bf857eeb56624261e0f75543556c436bfe638b792f63289f049c11541b10b2dc0e9f17b22f44b913da0168b1cf20684fc SHA512 4917970cc4c7f786c464a6d101bf66d55d55ac4716cf415ff97177f08176a6301e946716d28cf5b16054538469b3140b97db99d55a28686a9a807eea60c070f3
DIST audit-3.1.2.tar.gz 1219860 BLAKE2B dfdec470bf12cce6c570b3d260e65e2b49e8ac0761e6a6fbf7b4f4a57f92e88367cd74bfcb88e6d718619b88fea27ce963a977c9f4346c95d18a5310e217accb SHA512 a97003a294ed3671df01e2952688e7d5eef59a35f6891feb53e67c4c7eab9ae8c2d18de41a5b5b20e0ad7156fac93aec05f32f6bc5eea706b42b6f27f676446a
DIST audit-3.1.3.tar.gz 1225761 BLAKE2B 97ee35fc722083d541e164b27fd318ec7be2a4e4e8774767d14c6a2e800092a37b7042a272db5d208c913fb36d295c5343bd6082237caf0fb561ec3c7a2883db SHA512 7d6399ca97b171d5ea3cf7f7566bdabe9d5677a3a54c75411146dc2971106809a90d1a9cd0b1ba9b8af4cc409e6bee5876c7f2a0c54c42400fdcf9cfade58a8c

View File

@ -1,4 +1,4 @@
# Copyright 1999-2023 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -7,7 +7,7 @@ EAPI=8
# check Fedora's packaging (https://src.fedoraproject.org/rpms/audit/tree/rawhide)
# on bumps (or if hitting a bug) to see what they've done there.
PYTHON_COMPAT=( python3_{9..11} )
PYTHON_COMPAT=( python3_{10..12} )
inherit autotools multilib-minimal toolchain-funcs python-r1 linux-info systemd usr-ldscript
@ -34,7 +34,13 @@ DEPEND="
>=sys-kernel/linux-headers-2.6.34
test? ( dev-libs/check )
"
BDEPEND="python? ( dev-lang/swig )"
BDEPEND="python? (
dev-lang/swig
$(python_gen_cond_dep '
dev-python/setuptools[${PYTHON_USEDEP}]
' python3_12)
)
"
CONFIG_CHECK="~AUDIT"
@ -45,6 +51,12 @@ PATCHES=(
"${FILESDIR}"/${PN}-3.0.8-musl-malloc.patch
)
QA_CONFIG_IMPL_DECL_SKIP=(
# missing on musl. Uses handrolled AC_LINK_IFELSE but fails at link time
# for older compilers regardless. bug #898828
strndupa
)
src_prepare() {
# audisp-remote moved in multilib_src_install_all
sed -i \

View File

@ -1,4 +1,4 @@
# Copyright 1999-2023 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -7,7 +7,7 @@ EAPI=8
# check Fedora's packaging (https://src.fedoraproject.org/rpms/audit/tree/rawhide)
# on bumps (or if hitting a bug) to see what they've done there.
PYTHON_COMPAT=( python3_{9..11} )
PYTHON_COMPAT=( python3_{10..12} )
inherit autotools multilib-minimal toolchain-funcs python-r1 linux-info systemd usr-ldscript
@ -17,7 +17,7 @@ SRC_URI="https://people.redhat.com/sgrubb/audit/${P}.tar.gz"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="gssapi io-uring ldap python static-libs test"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@ -34,7 +34,13 @@ DEPEND="
>=sys-kernel/linux-headers-2.6.34
test? ( dev-libs/check )
"
BDEPEND="python? ( dev-lang/swig )"
BDEPEND="python? (
dev-lang/swig
$(python_gen_cond_dep '
dev-python/setuptools[${PYTHON_USEDEP}]
' python3_12)
)
"
CONFIG_CHECK="~AUDIT"
@ -42,6 +48,12 @@ PATCHES=(
"${FILESDIR}"/${PN}-3.0.8-musl-malloc.patch
)
QA_CONFIG_IMPL_DECL_SKIP=(
# missing on musl. Uses handrolled AC_LINK_IFELSE but fails at link time
# for older compilers regardless. bug #898828
strndupa
)
src_prepare() {
# audisp-remote moved in multilib_src_install_all
sed -i \

View File

@ -0,0 +1,194 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# As with sys-libs/libcap-ng, same maintainer in Fedora as upstream, so
# check Fedora's packaging (https://src.fedoraproject.org/rpms/audit/tree/rawhide)
# on bumps (or if hitting a bug) to see what they've done there.
PYTHON_COMPAT=( python3_{10..12} )
inherit autotools multilib-minimal toolchain-funcs python-r1 linux-info systemd usr-ldscript
DESCRIPTION="Userspace utilities for storing and processing auditing records"
HOMEPAGE="https://people.redhat.com/sgrubb/audit/"
SRC_URI="https://people.redhat.com/sgrubb/audit/${P}.tar.gz"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="gssapi io-uring ldap python static-libs test"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RESTRICT="!test? ( test )"
RDEPEND="
sys-libs/libcap-ng
gssapi? ( virtual/krb5 )
ldap? ( net-nds/openldap:= )
python? ( ${PYTHON_DEPS} )
"
DEPEND="
${RDEPEND}
>=sys-kernel/linux-headers-2.6.34
test? ( dev-libs/check )
"
BDEPEND="
python? (
dev-lang/swig
$(python_gen_cond_dep '
dev-python/setuptools[${PYTHON_USEDEP}]
' python3_12)
)
"
CONFIG_CHECK="~AUDIT"
PATCHES=(
"${FILESDIR}"/${PN}-3.1.3-musl-malloc.patch
)
QA_CONFIG_IMPL_DECL_SKIP=(
# missing on musl. Uses handrolled AC_LINK_IFELSE but fails at link time
# for older compilers regardless. bug #898828
strndupa
)
src_prepare() {
# audisp-remote moved in multilib_src_install_all
sed -i \
-e "s,/sbin/audisp-remote,${EPREFIX}/usr/sbin/audisp-remote," \
audisp/plugins/remote/au-remote.conf || die
# Disable installing sample rules so they can be installed as docs.
echo -e '%:\n\t:' | tee rules/Makefile.{am,in} >/dev/null || die
default
eautoreconf
}
multilib_src_configure() {
local myeconfargs=(
--sbindir="${EPREFIX}"/sbin
$(use_enable gssapi gssapi-krb5)
$(use_enable ldap zos-remote)
$(use_enable static-libs static)
$(use_with io-uring io_uring)
--enable-systemd
--without-golang
--without-libwrap
--without-python
--without-python3
)
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
if multilib_is_native_abi && use python; then
python_configure() {
mkdir -p "${BUILD_DIR}" || die
pushd "${BUILD_DIR}" &>/dev/null || die
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" --with-python3
popd &>/dev/null || die
}
python_foreach_impl python_configure
fi
}
src_configure() {
tc-export_build_env BUILD_{CC,CPP}
local -x CC_FOR_BUILD="${BUILD_CC}"
local -x CPP_FOR_BUILD="${BUILD_CPP}"
multilib-minimal_src_configure
}
multilib_src_compile() {
if multilib_is_native_abi; then
default
local native_build="${BUILD_DIR}"
python_compile() {
emake -C "${BUILD_DIR}"/bindings/swig top_builddir="${native_build}"
emake -C "${BUILD_DIR}"/bindings/python/python3 top_builddir="${native_build}"
}
use python && python_foreach_impl python_compile
else
emake -C common
emake -C lib
emake -C auparse
fi
}
multilib_src_install() {
if multilib_is_native_abi; then
emake DESTDIR="${D}" initdir="$(systemd_get_systemunitdir)" install
local native_build="${BUILD_DIR}"
python_install() {
emake -C "${BUILD_DIR}"/bindings/swig DESTDIR="${D}" top_builddir="${native_build}" install
emake -C "${BUILD_DIR}"/bindings/python/python3 DESTDIR="${D}" top_builddir="${native_build}" install
python_optimize
}
use python && python_foreach_impl python_install
# Things like shadow use this so we need to be in /
gen_usr_ldscript -a audit auparse
else
emake -C lib DESTDIR="${D}" install
emake -C auparse DESTDIR="${D}" install
fi
}
multilib_src_install_all() {
dodoc AUTHORS ChangeLog README* THANKS
docinto contrib
dodoc contrib/avc_snap
docinto contrib/plugin
dodoc contrib/plugin/*
docinto rules
dodoc rules/*rules
newinitd "${FILESDIR}"/auditd-init.d-2.4.3 auditd
newconfd "${FILESDIR}"/auditd-conf.d-2.1.3 auditd
if [[ -f "${ED}"/sbin/audisp-remote ]] ; then
dodir /usr/sbin
mv "${ED}"/{sbin,usr/sbin}/audisp-remote || die
fi
# Gentoo rules
insinto /etc/audit
newins "${FILESDIR}"/audit.rules-2.1.3 audit.rules
doins "${FILESDIR}"/audit.rules.stop*
keepdir /etc/audit/rules.d
# audit logs go here
keepdir /var/log/audit
find "${ED}" -type f -name '*.la' -delete || die
# Security
lockdown_perms "${ED}"
}
pkg_postinst() {
lockdown_perms "${EROOT}"
}
lockdown_perms() {
# Upstream wants these to have restrictive perms.
# Should not || die as not all paths may exist.
local basedir="${1}"
chmod 0750 "${basedir}"/sbin/au{ditctl,ditd,report,search,trace} 2>/dev/null
chmod 0750 "${basedir}"/var/log/audit 2>/dev/null
chmod 0640 "${basedir}"/etc/audit/{auditd.conf,audit*.rules*} 2>/dev/null
}

View File

@ -0,0 +1,28 @@
https://bugs.gentoo.org/934006
https://github.com/linux-audit/audit-userspace/commit/1dd6123e810ce255692a693a5d52a0c34cf432d0
From 1dd6123e810ce255692a693a5d52a0c34cf432d0 Mon Sep 17 00:00:00 2001
From: Steve Grubb <ausearch.1@gmail.com>
Date: Mon, 1 Apr 2024 12:10:33 -0400
Subject: [PATCH] Add empty macro to fix muscl c builds
--- a/common/common.h
+++ b/common/common.h
@@ -1,5 +1,5 @@
-/* audit-fgets.h -- a replacement for glibc's fgets
- * Copyright 2018,2022 Red Hat Inc.
+/* common.h -- common utility functions used throughout
+ * Copyright 2018-24 Red Hat Inc.
* All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
@@ -29,6 +29,9 @@
#ifndef __attr_access
# define __attr_access(x)
#endif
+#ifndef __attribute_malloc__
+# define __attribute_malloc__
+#endif
#ifndef __attr_dealloc
# define __attr_dealloc(dealloc, argno)
#endif