Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/musl:master commit in: sys-process/audit/
Date: Sat, 06 Oct 2018 12:37:44
Message-Id: 1538829300.fecd3f7de709e91dc936ae9ea879746ad9986906.blueness@gentoo
1 commit: fecd3f7de709e91dc936ae9ea879746ad9986906
2 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
3 AuthorDate: Sat Oct 6 12:35:00 2018 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Sat Oct 6 12:35:00 2018 +0000
6 URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=fecd3f7d
7
8 sys-process/audit: bump to 2.8.3, sync with tree
9
10 Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>
11 Package-Manager: Portage-2.3.49, Repoman-2.3.10
12
13 sys-process/audit/Manifest | 1 +
14 sys-process/audit/audit-2.8.3.ebuild | 232 +++++++++++++++++++++++++++++++++++
15 2 files changed, 233 insertions(+)
16
17 diff --git a/sys-process/audit/Manifest b/sys-process/audit/Manifest
18 index 7303bc7..b95d167 100644
19 --- a/sys-process/audit/Manifest
20 +++ b/sys-process/audit/Manifest
21 @@ -1,3 +1,4 @@
22 DIST audit-2.6.4.tar.gz 1078677 BLAKE2B 056d9f269926d9b0d74f7187f833f1e94d4e03a5137750fe4ff87b71fa0ce0e0a8569b97ecbd671f951061cfb088dff17b46e37cc14122864c37615356646fc5 SHA512 69b5d3987d2b8b189d1242fde639af3d7d366e901733133e47ee71223caf73aa7da40b7811298f0af861969b0ab482c5ef9830b711bdd15bd5f4d0ebc88a1224
23 DIST audit-2.7.1.tar.gz 1099083 BLAKE2B 10f72ac3273ce9e23e1fb8ad8d57dcae772ba1f861f519867399d95e14f4809897637969de45566d62a73a35e5674260155773daf8de00481fcbd1b9c3138f96 SHA512 37964d81deee8608fde5f90d5d096727d3eb009e084be34749adcb0662e607e35c49c80bd83ce38b17161f11363b691721c8a8aa5dea832d320c53ab0ebb7483
24 DIST audit-2.8.2.tar.gz 1121970 BLAKE2B bbec694ed1177a8590d035c2d6d197e49343fc370b101589e58736042c3b12cabb68fe796422f3133feb79068ab7d5931efa5414d22edead10c8871fefcd2549 SHA512 888ebf5e8e9d285b82d87377fc8836886d7a8b089c1be4091420a77a0250c9baf09aebb7a6330ff5043fb35f51eb6baf8d4491e26da7ad0811f0087e395b5012
25 +DIST audit-2.8.3.tar.gz 1107583 BLAKE2B 21c2b8543a31c0ca4319af40b844f4400615108a59195a95ea79499ff2923d7dbbc840716d60dfba311bfc451983cd4cd0f7cb27c2444825df2c0dfb50f9614f SHA512 aa939b81a66111f4e466208d7a38414bd186d00ccd374b420439764905b4707bbfcdc2331a6179a080fca981d19171696ecabd26674205b2f9339c44954db933
26
27 diff --git a/sys-process/audit/audit-2.8.3.ebuild b/sys-process/audit/audit-2.8.3.ebuild
28 new file mode 100644
29 index 0000000..c19be95
30 --- /dev/null
31 +++ b/sys-process/audit/audit-2.8.3.ebuild
32 @@ -0,0 +1,232 @@
33 +# Copyright 1999-2018 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI="6"
37 +
38 +PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
39 +
40 +inherit autotools multilib multilib-minimal toolchain-funcs preserve-libs python-r1 linux-info systemd
41 +
42 +DESCRIPTION="Userspace utilities for storing and processing auditing records"
43 +HOMEPAGE="https://people.redhat.com/sgrubb/audit/"
44 +SRC_URI="https://people.redhat.com/sgrubb/audit/${P}.tar.gz"
45 +
46 +LICENSE="GPL-2+ LGPL-2.1+"
47 +SLOT="0"
48 +KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~x86"
49 +IUSE="gssapi ldap python static-libs"
50 +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
51 +# Testcases are pretty useless as they are built for RedHat users/groups and kernels.
52 +RESTRICT="test"
53 +
54 +RDEPEND="gssapi? ( virtual/krb5 )
55 + ldap? ( net-nds/openldap )
56 + sys-libs/libcap-ng
57 + python? ( ${PYTHON_DEPS} )"
58 +DEPEND="${RDEPEND}
59 + >=sys-kernel/linux-headers-2.6.34
60 + python? ( dev-lang/swig:0 )"
61 +# Do not use os-headers as this is linux specific
62 +
63 +CONFIG_CHECK="~AUDIT"
64 +
65 +pkg_setup() {
66 + linux-info_pkg_setup
67 +}
68 +
69 +src_prepare() {
70 + eapply "${FILESDIR}/${PN}-2.8.2-musl.patch"
71 + eapply "${FILESDIR}/${PN}-2.7.1-swig.patch"
72 + eapply_user
73 +
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 + if ! use ldap; then
84 + sed -i \
85 + -e '/^AC_OUTPUT/s,audisp/plugins/zos-remote/Makefile,,g' \
86 + "${S}"/configure.ac || die
87 + sed -i \
88 + -e '/^SUBDIRS/s,zos-remote,,g' \
89 + "${S}"/audisp/plugins/Makefile.am || die
90 + fi
91 +
92 + # Don't build static version of Python module.
93 + eapply "${FILESDIR}"/${PN}-2.4.3-python.patch
94 +
95 + # glibc/kernel upstreams suck with both defining ia64_fpreg
96 + # This patch is a horribly workaround that is only valid as long as you
97 + # don't need the OTHER definitions in fpu.h.
98 + eapply "${FILESDIR}"/${PN}-2.1.3-ia64-compile-fix.patch
99 +
100 + # there is no --without-golang conf option
101 + sed -e "/^SUBDIRS =/s/ @gobind_dir@//" -i bindings/Makefile.am || die
102 +
103 + # Regenerate autotooling
104 + eautoreconf
105 +}
106 +
107 +multilib_src_configure() {
108 + local ECONF_SOURCE=${S}
109 + econf \
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 --without-python --with-python3
124 + else
125 + econf --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 TODO
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 + fperms 644 "$(systemd_get_systemunitdir)"/auditd.service # 556436
227 +
228 + [ -f "${ED}"/sbin/audisp-remote ] && \
229 + dodir /usr/sbin && \
230 + mv "${ED}"/{sbin,usr/sbin}/audisp-remote || die
231 +
232 + # Gentoo rules
233 + insinto /etc/audit/
234 + newins "${FILESDIR}"/audit.rules-2.1.3 audit.rules
235 + doins "${FILESDIR}"/audit.rules.stop*
236 +
237 + # audit logs go here
238 + keepdir /var/log/audit/
239 +
240 + find "${D}" -name '*.la' -delete || die
241 +
242 + # Security
243 + lockdown_perms "${ED}"
244 +}
245 +
246 +pkg_preinst() {
247 + # Preserve from the audit-1 series
248 + preserve_old_lib /$(get_libdir)/libaudit.so.0
249 +}
250 +
251 +pkg_postinst() {
252 + lockdown_perms "${EROOT}"
253 + # Preserve from the audit-1 series
254 + preserve_old_lib_notify /$(get_libdir)/libaudit.so.0
255 +}
256 +
257 +lockdown_perms() {
258 + # Upstream wants these to have restrictive perms.
259 + # Should not || die as not all paths may exist.
260 + local basedir="$1"
261 + chmod 0750 "${basedir}"/sbin/au{ditctl,report,dispd,ditd,search,trace} 2>/dev/null
262 + chmod 0750 "${basedir}"/var/log/audit/ 2>/dev/null
263 + chmod 0640 "${basedir}"/etc/{audit/,}{auditd.conf,audit.rules*} 2>/dev/null
264 +}