3 %bcond_without kerberos5 # Kerberos V support via heimdal
4 %bcond_without golang # Go language bindings
5 %bcond_with gccgo # use GCC go frontend instead of golang implementation
6 %bcond_without python # Python bindings (any)
7 %bcond_without python2 # Python 2 bindings
8 %bcond_without python3 # Python 3 bindings
9 %bcond_without zos_remote # zos-remote audisp plugin (LDAP dep)
16 %undefine with_python2
17 %undefine with_python3
20 Summary: User space tools for 2.6 kernel auditing
21 Summary(pl.UTF-8): Narzędzia przestrzeni użytkownika do audytu jąder 2.6
27 Source0: https://people.redhat.com/sgrubb/audit/%{name}-%{version}.tar.gz
28 # Source0-md5: 9d325b543f79b20a8f7ff2021ebac0c3
29 Source2: %{name}d.init
30 Source3: %{name}d.sysconfig
31 Patch0: %{name}-install.patch
32 Patch1: %{name}-nolibs.patch
33 Patch2: %{name}-systemd-notonly.patch
34 Patch3: %{name}-no-refusemanualstop.patch
35 Patch4: golang-paths.patch
36 URL: http://people.redhat.com/sgrubb/audit/
37 BuildRequires: autoconf >= 2.59
38 BuildRequires: automake >= 1:1.12.6
39 BuildRequires: glibc-headers >= 6:2.3.6
40 %{?with_kerberos5:BuildRequires: heimdal-devel}
41 BuildRequires: libcap-ng-devel
42 BuildRequires: libtool >= 2:2
43 BuildRequires: libwrap-devel
44 BuildRequires: linux-libc-headers >= 7:2.6.30
45 %{?with_zos_remote:BuildRequires: openldap-devel}
47 BuildRequires: python-devel >= 1:2.5
48 BuildRequires: python-modules
49 BuildRequires: rpm-pythonprov
50 BuildRequires: swig-python
53 BuildRequires: python3-devel
54 BuildRequires: rpm-pythonprov
55 BuildRequires: swig-python
57 BuildRequires: rpmbuild(macros) >= 2.009
58 BuildRequires: sed >= 4.0
60 %{?with_gccgo:BuildRequires: gcc-go >= 5.1}
61 %{!?with_gccgo:BuildRequires: golang >= 1.4}
63 Requires(post,preun): /sbin/chkconfig
64 Requires(post,preun,postun): systemd-units >= 38
65 Requires: %{name}-libs = %{version}-%{release}
67 Requires: systemd-units >= 38
68 Obsoletes: audit-audispd-plugins < 1.6.7
69 Obsoletes: audit-plugin-prelude < 3
70 Obsoletes: audit-systemd < 2.2-2
71 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
73 %define _sbindir /sbin
74 # use /lib, because this path is put in /usr/share/.../settings.py
75 %define _libexecdir %{_prefix}/lib
78 The audit package contains the user space utilities for storing and
79 processing the audit records generate by the audit subsystem in the
82 %description -l pl.UTF-8
83 Ten pakiet zawiera narzędzia przestrzeni użytkownika do przechowywania
84 i przetwarzania rekordów audytu generowanych przez podsystem audytu w
88 Summary: Dynamic audit libraries
89 Summary(pl.UTF-8): Biblioteki dynamiczne audit
94 The audit-libs package contains the dynamic libraries needed for
95 applications to use the audit framework.
97 %description libs -l pl.UTF-8
98 Ten pakiet zawiera biblioteki dynamiczne potrzebne dla aplikacji
99 używających środowiska audytu.
102 Summary: Header files for audit libraries
103 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek audit
105 Group: Development/Libraries
106 Requires: %{name}-libs = %{version}-%{release}
107 Requires: linux-libc-headers >= 7:2.6.30
108 Requires: libcap-ng-devel
110 %description libs-devel
111 The audit-libs-devel package contains the header files needed for
112 developing applications that need to use the audit framework library.
114 %description libs-devel -l pl.UTF-8
115 Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia aplikacji
116 używających biblioteki środowiska audytu.
119 Summary: Static audit libraries
120 Summary(pl.UTF-8): Statyczne biblioteki audit
122 Group: Development/Libraries
123 Requires: %{name}-libs-devel = %{version}-%{release}
125 %description libs-static
126 The audit-libs-static package contains the static libraries for
127 developing applications that need to use the audit framework.
129 %description libs-static -l pl.UTF-8
130 Ten pakiet zawiera statyczne biblioteki do tworzenia aplikacji
131 używających środowiska audytu.
133 %package -n golang-audit
134 Summary: Go language interface to libaudit library
135 Summary(pl.UTF-8): Interfejs języka Go do biblioteki libaudit
137 Group: Development/Languages
138 Requires: %{name}-libs = %{version}-%{release}
140 Requires: gcc-go >= 5.1
142 Requires: golang >= 1.4
145 %description -n golang-audit
146 Go language interface to libaudit library.
148 %description -n golang-audit -l pl.UTF-8
149 Interfejs języka Go do biblioteki libaudit.
151 %package -n python-audit
152 Summary: Python 2.x interface to libaudit library
153 Summary(pl.UTF-8): Interfejs Pythona 2.x do biblioteki libaudit
155 Group: Libraries/Python
156 Requires: %{name}-libs = %{version}-%{release}
158 %description -n python-audit
159 Python 2.x interface to libaudit library.
161 %description -n python-audit -l pl.UTF-8
162 Interfejs Pythona 2.x do biblioteki libaudit.
164 %package -n python3-audit
165 Summary: Python 3.x interface to libaudit library
166 Summary(pl.UTF-8): Interfejs Pythona 3.x do biblioteki libaudit
168 Group: Libraries/Python
169 Requires: %{name}-libs = %{version}-%{release}
171 %description -n python3-audit
172 Python 3.x interface to libaudit library.
174 %description -n python3-audit -l pl.UTF-8
175 Interfejs Pythona 3.x do biblioteki libaudit.
185 %if %{without python}
186 sed 's#[^ ]*swig/[^ ]*/Makefile ##g' -i configure.ac
187 sed 's/swig//' -i bindings/Makefile.am
197 CC_FOR_BUILD="%{__cc}" \
198 CPPFLAGS_FOR_BUILD="%{rpmcppflags}" \
199 CFLAGS_FOR_BUILD="%{rpmcflags}" \
200 LDFLAGS_FOR_BUILD="%{rpmldflags}" \
201 %{?with_kerberos5:--enable-gssapi-krb5} \
206 %{!?with_zos_remote:--disable-zos-remote}
211 rm -rf $RPM_BUILD_ROOT
212 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/audit/rules.d,%{_var}/log/audit}
215 DESTDIR=$RPM_BUILD_ROOT
217 # default to no audit (and no overhead)
218 cp -p rules/10-no-audit.rules $RPM_BUILD_ROOT%{_sysconfdir}/audit/rules.d
220 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/auditd
221 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/auditd
223 install -d $RPM_BUILD_ROOT/%{_lib}
224 %{__mv} $RPM_BUILD_ROOT%{_libdir}/libaudit.so.* $RPM_BUILD_ROOT/%{_lib}
225 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libaudit.so.*.*.*) \
226 $RPM_BUILD_ROOT%{_libdir}/libaudit.so
227 %{__mv} $RPM_BUILD_ROOT%{_libdir}/libauparse.so.* $RPM_BUILD_ROOT/%{_lib}
228 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libauparse.so.*.*.*) \
229 $RPM_BUILD_ROOT%{_libdir}/libauparse.so
231 # RH initscripts-specific
232 %{__rm} -r $RPM_BUILD_ROOT%{_libexecdir}/initscripts
235 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
236 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
238 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.la
242 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/*.la
246 rm -rf $RPM_BUILD_ROOT
248 %post libs -p /sbin/ldconfig
249 %postun libs -p /sbin/ldconfig
252 # Copy default rules into place on new installation
253 if [ ! -e %{_sysconfdir}/audit/audit.rules ] ; then
254 cp -a %{_sysconfdir}/audit/rules.d/10-no-audit.rules %{_sysconfdir}/audit/audit.rules
256 /sbin/chkconfig --add auditd
257 %service auditd restart "audit daemon"
258 %systemd_post auditd.service
261 if [ "$1" = "0" ]; then
263 /sbin/chkconfig --del auditd
265 %systemd_preun auditd.service
270 %triggerpostun -- audit < 3.0
271 if [ -f %{_sysconfdir}/audisp/audisp-remote.conf.rpmsave -a ! -f %{_sysconfdir}/audit/audisp-remote.conf.rpmnew ]; then
272 mv -f %{_sysconfdir}/audit/audisp-remote.conf %{_sysconfdir}/audit/audisp-remote.conf.rpmnew
273 mv -f %{_sysconfdir}/audisp/audisp-remote.conf.rpmsave %{_sysconfdir}/audit/audisp-remote.conf
275 if [ -f %{_sysconfdir}/audisp/plugins.d/af_unix.conf.rpmsave -a ! -f %{_sysconfdir}/audit/plugins.d/af_unix.conf.rpmnew ]; then
276 mv -f %{_sysconfdir}/audit/plugins.d/af_unix.conf %{_sysconfdir}/audit/plugins.d/af_unix.conf.rpmnew
277 mv -f %{_sysconfdir}/audisp/plugins.d/af_unix.conf.rpmsave %{_sysconfdir}/audit/plugins.d/af_unix.conf
279 if [ -f %{_sysconfdir}/audisp/plugins.d/au-remote.conf.rpmsave -a ! -f %{_sysconfdir}/audit/plugins.d/au-remote.conf.rpmnew ]; then
280 mv -f %{_sysconfdir}/audit/plugins.d/au-remote.conf %{_sysconfdir}/audit/plugins.d/au-remote.conf.rpmnew
281 mv -f %{_sysconfdir}/audisp/plugins.d/au-remote.conf.rpmsave %{_sysconfdir}/audit/plugins.d/au-remote.conf
283 if [ -f %{_sysconfdir}/audisp/plugins.d/syslog.conf.rpmsave -a ! -f %{_sysconfdir}/audit/plugins.d/syslog.conf.rpmnew ]; then
284 mv -f %{_sysconfdir}/audit/plugins.d/syslog.conf %{_sysconfdir}/audit/plugins.d/syslog.conf.rpmnew
285 mv -f %{_sysconfdir}/audisp/plugins.d/syslog.conf.rpmsave %{_sysconfdir}/audit/plugins.d/syslog.conf
287 %if %{with zos_remote}
288 if [ -f %{_sysconfdir}/audisp/zos-remote.conf.rpmsave -a ! -f %{_sysconfdir}/audit/zos-remote.conf.rpmnew ]; then
289 mv -f %{_sysconfdir}/audit/zos-remote.conf %{_sysconfdir}/audit/zos-remote.conf.rpmnew
290 mv -f %{_sysconfdir}/audisp/zos-remote.conf.rpmsave %{_sysconfdir}/audit/zos-remote.conf
292 if [ -f %{_sysconfdir}/audisp/plugins.d/audisp-zos-remote.conf.rpmsave -a ! -f %{_sysconfdir}/audit/plugins.d/audisp-zos-remote.conf.rpmnew ]; then
293 mv -f %{_sysconfdir}/audit/plugins.d/audisp-zos-remote.conf %{_sysconfdir}/audit/plugins.d/audisp-zos-remote.conf.rpmnew
294 mv -f %{_sysconfdir}/audisp/plugins.d/audisp-zos-remote.conf.rpmsave %{_sysconfdir}/audit/plugins.d/audisp-zos-remote.conf
299 %defattr(644,root,root,755)
300 %doc AUTHORS ChangeLog README THANKS rules/{README-rules,*.rules} init.d/auditd.cron
301 %attr(750,root,root) %{_bindir}/aulast
302 %attr(750,root,root) %{_bindir}/aulastlog
303 %attr(750,root,root) %{_bindir}/ausyscall
304 %attr(750,root,root) %{_bindir}/auvirt
305 %attr(750,root,root) %{_sbindir}/auditctl
306 %attr(750,root,root) %{_sbindir}/auditd
307 %attr(750,root,root) %{_sbindir}/augenrules
308 %attr(750,root,root) %{_sbindir}/aureport
309 %attr(750,root,root) %{_sbindir}/ausearch
310 %attr(750,root,root) %{_sbindir}/autrace
311 %attr(755,root,root) %{_sbindir}/audisp-af_unix
312 %attr(755,root,root) %{_sbindir}/audisp-remote
313 %attr(755,root,root) %{_sbindir}/audisp-syslog
314 %{_libexecdir}/audit-functions
315 %dir %{_datadir}/audit
316 %{_datadir}/audit/sample-rules
317 %dir %{_sysconfdir}/audit
318 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/audit/audisp-remote.conf
319 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/audit/audit-stop.rules
320 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/audit/auditd.conf
321 %dir %{_sysconfdir}/audit/plugins.d
322 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/audit/plugins.d/af_unix.conf
323 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/audit/plugins.d/au-remote.conf
324 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/audit/plugins.d/syslog.conf
325 %dir %{_sysconfdir}/audit/rules.d
326 %attr(640,root,root) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/audit/rules.d/10-no-audit.rules
327 %attr(754,root,root) /etc/rc.d/init.d/auditd
328 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/auditd
329 %{systemdunitdir}/auditd.service
330 %attr(750,root,root) %dir %{_var}/log/audit
331 %{_mandir}/man5/audisp-remote.conf.5*
332 %{_mandir}/man5/auditd.conf.5*
333 %{_mandir}/man5/auditd-plugins.5*
334 %{_mandir}/man5/ausearch-expression.5*
335 %{_mandir}/man7/audit.rules.7*
336 %{_mandir}/man8/audisp-af_unix.8*
337 %{_mandir}/man8/audisp-remote.8*
338 %{_mandir}/man8/audisp-syslog.8*
339 %{_mandir}/man8/auditctl.8*
340 %{_mandir}/man8/auditd.8*
341 %{_mandir}/man8/augenrules.8*
342 %{_mandir}/man8/aulast.8*
343 %{_mandir}/man8/aulastlog.8*
344 %{_mandir}/man8/aureport.8*
345 %{_mandir}/man8/ausearch.8*
346 %{_mandir}/man8/ausyscall.8*
347 %{_mandir}/man8/autrace.8*
348 %{_mandir}/man8/auvirt.8*
350 %if %{with zos_remote}
351 %attr(755,root,root) %{_sbindir}/audispd-zos-remote
352 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/audit/zos-remote.conf
353 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/audit/plugins.d/audispd-zos-remote.conf
354 %{_mandir}/man5/zos-remote.conf.5*
355 %{_mandir}/man8/audispd-zos-remote.8*
359 %defattr(644,root,root,755)
360 %attr(755,root,root) /%{_lib}/libaudit.so.*.*.*
361 %attr(755,root,root) %ghost /%{_lib}/libaudit.so.1
362 %attr(755,root,root) /%{_lib}/libauparse.so.*.*.*
363 %attr(755,root,root) %ghost /%{_lib}/libauparse.so.0
364 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libaudit.conf
365 %{_mandir}/man5/libaudit.conf.5*
368 %defattr(644,root,root,755)
369 %attr(755,root,root) %{_libdir}/libaudit.so
370 %attr(755,root,root) %{_libdir}/libauparse.so
371 %{_libdir}/libaudit.la
372 %{_libdir}/libauparse.la
373 %{_includedir}/auparse*.h
374 %{_includedir}/libaudit.h
375 %{_pkgconfigdir}/audit.pc
376 %{_pkgconfigdir}/auparse.pc
377 %{_aclocaldir}/audit.m4
378 %{_mandir}/man3/audit_*.3*
379 %{_mandir}/man3/auparse_*.3*
380 %{_mandir}/man3/ausearch_*.3*
381 %{_mandir}/man3/get_auditfail_action.3*
382 %{_mandir}/man3/set_aumessage_mode.3*
385 %defattr(644,root,root,755)
386 %{_libdir}/libaudit.a
387 %{_libdir}/libauparse.a
390 %files -n golang-audit
391 %defattr(644,root,root,755)
392 %dir %{_libdir}/golang/src/redhat.com
393 %{_libdir}/golang/src/redhat.com/audit
397 %files -n python-audit
398 %defattr(644,root,root,755)
399 %attr(755,root,root) %{py_sitedir}/_audit.so
400 %attr(755,root,root) %{py_sitedir}/auparse.so
401 %{py_sitedir}/audit.py[co]
405 %files -n python3-audit
406 %defattr(644,root,root,755)
407 %attr(755,root,root) %{py3_sitedir}/_audit.so
408 %attr(755,root,root) %{py3_sitedir}/auparse.so
409 %{py3_sitedir}/audit.py
410 %{py3_sitedir}/__pycache__/audit.cpython-*.py[co]