Gentoo Archives: gentoo-commits

From: "Robin H. Johnson" <robbat2@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-process/audit/
Date: Wed, 25 Dec 2019 05:32:06
Message-Id: 1577251233.3a79d410c369d211349dcbce8997a68344dc4014.robbat2@gentoo
1 commit: 3a79d410c369d211349dcbce8997a68344dc4014
2 Author: Chris Mayo <aklhfex <AT> gmail <DOT> com>
3 AuthorDate: Wed Dec 18 19:59:38 2019 +0000
4 Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
5 CommitDate: Wed Dec 25 05:20:33 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a79d410
7
8 sys-process/audit: bump to 2.8.5
9
10 Fixes: https://bugs.gentoo.org/616492
11 Package-Manager: Portage-2.3.79, Repoman-2.3.16
12 Signed-off-by: Chris Mayo <aklhfex <AT> gmail.com>
13 (cherry picked from commit 40f17b56c0184c0868ba372361177258ce271ef9)
14 Closes: https://github.com/gentoo/gentoo/pull/14042
15 Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>
16
17 sys-process/audit/Manifest | 1 +
18 sys-process/audit/audit-2.8.5.ebuild | 226 +++++++++++++++++++++++++++++++++++
19 2 files changed, 227 insertions(+)
20
21 diff --git a/sys-process/audit/Manifest b/sys-process/audit/Manifest
22 index d262ad0fcb5..c4240fd37de 100644
23 --- a/sys-process/audit/Manifest
24 +++ b/sys-process/audit/Manifest
25 @@ -3,3 +3,4 @@ DIST audit-2.7.1.tar.gz 1099083 BLAKE2B 10f72ac3273ce9e23e1fb8ad8d57dcae772ba1f8
26 DIST audit-2.8.2.tar.gz 1121970 BLAKE2B bbec694ed1177a8590d035c2d6d197e49343fc370b101589e58736042c3b12cabb68fe796422f3133feb79068ab7d5931efa5414d22edead10c8871fefcd2549 SHA512 888ebf5e8e9d285b82d87377fc8836886d7a8b089c1be4091420a77a0250c9baf09aebb7a6330ff5043fb35f51eb6baf8d4491e26da7ad0811f0087e395b5012
27 DIST audit-2.8.3.tar.gz 1107583 BLAKE2B 21c2b8543a31c0ca4319af40b844f4400615108a59195a95ea79499ff2923d7dbbc840716d60dfba311bfc451983cd4cd0f7cb27c2444825df2c0dfb50f9614f SHA512 aa939b81a66111f4e466208d7a38414bd186d00ccd374b420439764905b4707bbfcdc2331a6179a080fca981d19171696ecabd26674205b2f9339c44954db933
28 DIST audit-2.8.4.tar.gz 1123889 BLAKE2B b80272b1984942d3c38bde30d22c736a8cc8896a2e42a9bf286446129313ce57a2a117ce26a0a5f1a4a06b4a48ddde463b8837b8c98273051be0c90e5bbebd42 SHA512 5795c565effab995cee447a2dc457ef6a6f15201fb185d7104992ac373a3cb5cfc865dd661c0896a895c96f452eff392d455064d0eead55cd7364d96e0d15c4a
29 +DIST audit-2.8.5.tar.gz 1140694 BLAKE2B 64fd0cd93f934e3dd11faf21fcd765894a9c4336d8322179980bb7df1ef5a06d301a665860aeb84fefa0cf278940668023675b99ba7f33cdcfb542d869034358 SHA512 7d416aaa21c1a167f8e911ca82aecbaba804424f3243f505066c43ecc4a62a34feb2c27555e99d3268608404793dccca0f828c63670e3aa816016fb493f8174a
30
31 diff --git a/sys-process/audit/audit-2.8.5.ebuild b/sys-process/audit/audit-2.8.5.ebuild
32 new file mode 100644
33 index 00000000000..1d274b1bf20
34 --- /dev/null
35 +++ b/sys-process/audit/audit-2.8.5.ebuild
36 @@ -0,0 +1,226 @@
37 +# Copyright 1999-2019 Gentoo Authors
38 +# Distributed under the terms of the GNU General Public License v2
39 +
40 +EAPI="6"
41 +
42 +PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
43 +
44 +inherit autotools multilib multilib-minimal toolchain-funcs preserve-libs python-r1 linux-info systemd usr-ldscript
45 +
46 +DESCRIPTION="Userspace utilities for storing and processing auditing records"
47 +HOMEPAGE="https://people.redhat.com/sgrubb/audit/"
48 +SRC_URI="https://people.redhat.com/sgrubb/audit/${P}.tar.gz"
49 +
50 +LICENSE="GPL-2+ LGPL-2.1+"
51 +SLOT="0"
52 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86"
53 +IUSE="gssapi ldap python static-libs"
54 +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
55 +# Testcases are pretty useless as they are built for RedHat users/groups and kernels.
56 +RESTRICT="test"
57 +
58 +RDEPEND="gssapi? ( virtual/krb5 )
59 + ldap? ( net-nds/openldap )
60 + sys-libs/libcap-ng
61 + python? ( ${PYTHON_DEPS} )"
62 +DEPEND="${RDEPEND}
63 + >=sys-kernel/linux-headers-2.6.34
64 + python? ( dev-lang/swig:0 )"
65 +# Do not use os-headers as this is linux specific
66 +
67 +CONFIG_CHECK="~AUDIT"
68 +
69 +pkg_setup() {
70 + linux-info_pkg_setup
71 +}
72 +
73 +src_prepare() {
74 + # Do not build GUI tools
75 + sed -i \
76 + -e '/AC_CONFIG_SUBDIRS.*system-config-audit/d' \
77 + "${S}"/configure.ac || die
78 + sed -i \
79 + -e 's,system-config-audit,,g' \
80 + "${S}"/Makefile.am || die
81 + rm -rf "${S}"/system-config-audit
82 +
83 + # audisp-remote moved in multilib_src_install_all
84 + sed -i \
85 + -e "s,/sbin/audisp-remote,${EPREFIX}/usr/sbin/audisp-remote," \
86 + "${S}"/audisp/plugins/remote/au-remote.conf || die
87 +
88 + # Don't build static version of Python module.
89 + eapply "${FILESDIR}"/${PN}-2.4.3-python.patch
90 +
91 + # glibc/kernel upstreams suck with both defining ia64_fpreg
92 + # This patch is a horribly workaround that is only valid as long as you
93 + # don't need the OTHER definitions in fpu.h.
94 + eapply "${FILESDIR}"/${PN}-2.8.4-ia64-compile-fix.patch
95 +
96 + # there is no --without-golang conf option
97 + sed -e "/^SUBDIRS =/s/ @gobind_dir@//" -i bindings/Makefile.am || die
98 +
99 + eapply_user
100 +
101 + # Regenerate autotooling
102 + eautoreconf
103 +}
104 +
105 +multilib_src_configure() {
106 + local ECONF_SOURCE=${S}
107 + local my_conf="$(use_enable ldap zos-remote)"
108 + econf \
109 + ${my_conf} \
110 + --sbindir="${EPREFIX}/sbin" \
111 + $(use_enable gssapi gssapi-krb5) \
112 + $(use_enable static-libs static) \
113 + --enable-systemd \
114 + --without-python \
115 + --without-python3
116 +
117 + if multilib_is_native_abi; then
118 + python_configure() {
119 + mkdir -p "${BUILD_DIR}" || die
120 + cd "${BUILD_DIR}" || die
121 +
122 + if python_is_python3; then
123 + econf ${my_conf} --without-python --with-python3
124 + else
125 + econf ${my_conf} --with-python --without-python3
126 + fi
127 + }
128 +
129 + use python && python_foreach_impl python_configure
130 + fi
131 +}
132 +
133 +src_configure() {
134 + tc-export_build_env BUILD_{CC,CPP}
135 + export CC_FOR_BUILD="${BUILD_CC}"
136 + export CPP_FOR_BUILD="${BUILD_CPP}"
137 +
138 + multilib-minimal_src_configure
139 +}
140 +
141 +multilib_src_compile() {
142 + if multilib_is_native_abi; then
143 + default
144 +
145 + python_compile() {
146 + local pysuffix pydef
147 + if python_is_python3; then
148 + pysuffix=3
149 + pydef='USE_PYTHON3=true'
150 + else
151 + pysuffix=2
152 + pydef='HAVE_PYTHON=true'
153 + fi
154 +
155 + emake -C "${BUILD_DIR}"/bindings/swig \
156 + VPATH="${native_build}/lib" \
157 + LIBS="${native_build}/lib/libaudit.la" \
158 + _audit_la_LIBADD="${native_build}/lib/libaudit.la" \
159 + _audit_la_DEPENDENCIES="${S}/lib/libaudit.h ${native_build}/lib/libaudit.la" \
160 + ${pydef}
161 + emake -C "${BUILD_DIR}"/bindings/python/python${pysuffix} \
162 + VPATH="${S}/bindings/python/python${pysuffix}:${native_build}/bindings/python/python${pysuffix}" \
163 + auparse_la_LIBADD="${native_build}/auparse/libauparse.la ${native_build}/lib/libaudit.la" \
164 + ${pydef}
165 + }
166 +
167 + local native_build="${BUILD_DIR}"
168 + use python && python_foreach_impl python_compile
169 + else
170 + emake -C lib
171 + emake -C auparse
172 + fi
173 +}
174 +
175 +multilib_src_install() {
176 + if multilib_is_native_abi; then
177 + emake DESTDIR="${D}" initdir="$(systemd_get_systemunitdir)" install
178 +
179 + python_install() {
180 + local pysuffix pydef
181 + if python_is_python3; then
182 + pysuffix=3
183 + pydef='USE_PYTHON3=true'
184 + else
185 + pysuffix=2
186 + pydef='HAVE_PYTHON=true'
187 + fi
188 +
189 + emake -C "${BUILD_DIR}"/bindings/swig \
190 + VPATH="${native_build}/lib" \
191 + LIBS="${native_build}/lib/libaudit.la" \
192 + _audit_la_LIBADD="${native_build}/lib/libaudit.la" \
193 + _audit_la_DEPENDENCIES="${S}/lib/libaudit.h ${native_build}/lib/libaudit.la" \
194 + ${pydef} \
195 + DESTDIR="${D}" install
196 + emake -C "${BUILD_DIR}"/bindings/python/python${pysuffix} \
197 + VPATH="${S}/bindings/python/python${pysuffix}:${native_build}/bindings/python/python${pysuffix}" \
198 + auparse_la_LIBADD="${native_build}/auparse/libauparse.la ${native_build}/lib/libaudit.la" \
199 + ${pydef} \
200 + DESTDIR="${D}" install
201 + }
202 +
203 + local native_build=${BUILD_DIR}
204 + use python && python_foreach_impl python_install
205 +
206 + # things like shadow use this so we need to be in /
207 + gen_usr_ldscript -a audit auparse
208 + else
209 + emake -C lib DESTDIR="${D}" install
210 + emake -C auparse DESTDIR="${D}" install
211 + fi
212 +}
213 +
214 +multilib_src_install_all() {
215 + dodoc AUTHORS ChangeLog README* THANKS
216 + docinto contrib
217 + dodoc contrib/{avc_snap,skeleton.c}
218 + docinto contrib/plugin
219 + dodoc contrib/plugin/*
220 + docinto rules
221 + dodoc rules/*
222 +
223 + newinitd "${FILESDIR}"/auditd-init.d-2.4.3 auditd
224 + newconfd "${FILESDIR}"/auditd-conf.d-2.1.3 auditd
225 +
226 + [ -f "${ED}"/sbin/audisp-remote ] && \
227 + dodir /usr/sbin && \
228 + mv "${ED}"/{sbin,usr/sbin}/audisp-remote || die
229 +
230 + # Gentoo rules
231 + insinto /etc/audit/
232 + newins "${FILESDIR}"/audit.rules-2.1.3 audit.rules
233 + doins "${FILESDIR}"/audit.rules.stop*
234 +
235 + # audit logs go here
236 + keepdir /var/log/audit/
237 +
238 + find "${D}" -name '*.la' -delete || die
239 +
240 + # Security
241 + lockdown_perms "${ED}"
242 +}
243 +
244 +pkg_preinst() {
245 + # Preserve from the audit-1 series
246 + preserve_old_lib /$(get_libdir)/libaudit.so.0
247 +}
248 +
249 +pkg_postinst() {
250 + lockdown_perms "${EROOT}"
251 + # Preserve from the audit-1 series
252 + preserve_old_lib_notify /$(get_libdir)/libaudit.so.0
253 +}
254 +
255 +lockdown_perms() {
256 + # Upstream wants these to have restrictive perms.
257 + # Should not || die as not all paths may exist.
258 + local basedir="$1"
259 + chmod 0750 "${basedir}"/sbin/au{ditctl,report,dispd,ditd,search,trace} 2>/dev/null
260 + chmod 0750 "${basedir}"/var/log/audit/ 2>/dev/null
261 + chmod 0640 "${basedir}"/etc/{audit/,}{auditd.conf,audit.rules*} 2>/dev/null
262 +}