]> git.pld-linux.org Git - packages/audit.git/blob - audit.spec
- updated to 3.0.9
[packages/audit.git] / audit.spec
1 #
2 # Conditional build:
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)
10
11 %ifnarch %{ix86} %{x8664} %{arm} aarch64 mips64 mips64le ppc64 ppc64le s390x
12 %define         with_gccgo      1
13 %endif
14
15 %if %{without python}
16 %undefine       with_python2
17 %undefine       with_python3
18 %endif
19
20 %if %{_ver_ge %(rpm -q --qf='%%{E}:%%{V}' linux-libc-headers) 7:5.17}
21 %define         with_flex_array_fix     1
22 %endif
23 Summary:        User space tools for 2.6 kernel auditing
24 Summary(pl.UTF-8):      Narzędzia przestrzeni użytkownika do audytu jąder 2.6
25 Name:           audit
26 Version:        3.0.9
27 Release:        1
28 License:        GPL v2+
29 Group:          Daemons
30 Source0:        https://people.redhat.com/sgrubb/audit/%{name}-%{version}.tar.gz
31 # Source0-md5:  b10d29cc8454316eb0ec34f4c0345c2d
32 Source2:        %{name}d.init
33 Source3:        %{name}d.sysconfig
34 Patch0:         %{name}-install.patch
35 Patch1:         %{name}-m4.patch
36 Patch2:         %{name}-nolibs.patch
37 Patch3:         %{name}-systemd-notonly.patch
38 Patch4:         %{name}-am.patch
39 Patch5:         %{name}-no-refusemanualstop.patch
40 Patch7:         golang-paths.patch
41 Patch8:         %{name}-flex-array-workaround.patch
42 Patch9:         %{name}-undo-flex-array.patch
43 URL:            http://people.redhat.com/sgrubb/audit/
44 BuildRequires:  autoconf >= 2.59
45 BuildRequires:  automake >= 1:1.12.6
46 BuildRequires:  glibc-headers >= 6:2.3.6
47 %{?with_kerberos5:BuildRequires:        heimdal-devel}
48 BuildRequires:  libcap-ng-devel
49 BuildRequires:  libtool
50 BuildRequires:  libwrap-devel
51 BuildRequires:  linux-libc-headers >= 7:2.6.30
52 %{?with_zos_remote:BuildRequires:       openldap-devel}
53 %if %{with python2}
54 BuildRequires:  python-devel >= 1:2.5
55 BuildRequires:  rpm-pythonprov
56 BuildRequires:  swig-python
57 %endif
58 %if %{with python3}
59 BuildRequires:  python3-devel
60 BuildRequires:  rpm-pythonprov
61 BuildRequires:  swig-python
62 %endif
63 BuildRequires:  rpmbuild(macros) >= 1.750
64 BuildRequires:  sed >= 4.0
65 %if %{with golang}
66 %{?with_gccgo:BuildRequires:    gcc-go >= 5.1}
67 %{!?with_gccgo:BuildRequires:   golang >= 1.4}
68 %endif
69 Requires(post,preun):   /sbin/chkconfig
70 Requires(post,preun,postun):    systemd-units >= 38
71 Requires:       %{name}-libs = %{version}-%{release}
72 Requires:       rc-scripts
73 Requires:       systemd-units >= 38
74 Obsoletes:      audit-audispd-plugins < 1.6.7
75 Obsoletes:      audit-plugin-prelude < 3
76 Obsoletes:      audit-systemd < 2.2-2
77 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
78
79 %define         _sbindir        /sbin
80 # use /lib, because this path is put in /usr/share/.../settings.py
81 %define         _libexecdir     %{_prefix}/lib
82
83 %description
84 The audit package contains the user space utilities for storing and
85 processing the audit records generate by the audit subsystem in the
86 Linux 2.6 kernel.
87
88 %description -l pl.UTF-8
89 Ten pakiet zawiera narzędzia przestrzeni użytkownika do przechowywania
90 i przetwarzania rekordów audytu generowanych przez podsystem audytu w
91 jądrach Linuksa 2.6.
92
93 %package libs
94 Summary:        Dynamic audit libraries
95 Summary(pl.UTF-8):      Biblioteki dynamiczne audit
96 License:        LGPL v2.1+
97 Group:          Libraries
98
99 %description libs
100 The audit-libs package contains the dynamic libraries needed for
101 applications to use the audit framework.
102
103 %description libs -l pl.UTF-8
104 Ten pakiet zawiera biblioteki dynamiczne potrzebne dla aplikacji
105 używających środowiska audytu.
106
107 %package libs-devel
108 Summary:        Header files for audit libraries
109 Summary(pl.UTF-8):      Pliki nagłówkowe bibliotek audit
110 License:        LGPL v2.1+
111 Group:          Development/Libraries
112 Requires:       %{name}-libs = %{version}-%{release}
113 Requires:       linux-libc-headers >= 7:2.6.30
114 Requires:       libcap-ng-devel
115
116 %description libs-devel
117 The audit-libs-devel package contains the header files needed for
118 developing applications that need to use the audit framework library.
119
120 %description libs-devel -l pl.UTF-8
121 Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia aplikacji
122 używających biblioteki środowiska audytu.
123
124 %package libs-static
125 Summary:        Static audit libraries
126 Summary(pl.UTF-8):      Statyczne biblioteki audit
127 License:        LGPL v2.1+
128 Group:          Development/Libraries
129 Requires:       %{name}-libs-devel = %{version}-%{release}
130
131 %description libs-static
132 The audit-libs-static package contains the static libraries for
133 developing applications that need to use the audit framework.
134
135 %description libs-static -l pl.UTF-8
136 Ten pakiet zawiera statyczne biblioteki do tworzenia aplikacji
137 używających środowiska audytu.
138
139 %package -n golang-audit
140 Summary:        Go language interface to libaudit library
141 Summary(pl.UTF-8):      Interfejs języka Go do biblioteki libaudit
142 License:        LGPL v2.1+
143 Group:          Development/Languages
144 Requires:       %{name}-libs = %{version}-%{release}
145 %if %{with gccgo}
146 Requires:       gcc-go >= 5.1
147 %else
148 Requires:       golang >= 1.4
149 %endif
150
151 %description -n golang-audit
152 Go language interface to libaudit library.
153
154 %description -n golang-audit -l pl.UTF-8
155 Interfejs języka Go do biblioteki libaudit.
156
157 %package -n python-audit
158 Summary:        Python 2.x interface to libaudit library
159 Summary(pl.UTF-8):      Interfejs Pythona 2.x do biblioteki libaudit
160 License:        LGPL v2.1+
161 Group:          Libraries/Python
162 Requires:       %{name}-libs = %{version}-%{release}
163
164 %description -n python-audit
165 Python 2.x interface to libaudit library.
166
167 %description -n python-audit -l pl.UTF-8
168 Interfejs Pythona 2.x do biblioteki libaudit.
169
170 %package -n python3-audit
171 Summary:        Python 3.x interface to libaudit library
172 Summary(pl.UTF-8):      Interfejs Pythona 3.x do biblioteki libaudit
173 License:        LGPL v2.1+
174 Group:          Libraries/Python
175 Requires:       %{name}-libs = %{version}-%{release}
176
177 %description -n python3-audit
178 Python 3.x interface to libaudit library.
179
180 %description -n python3-audit -l pl.UTF-8
181 Interfejs Pythona 3.x do biblioteki libaudit.
182
183 %prep
184 %setup -q
185 %patch0 -p1
186 %patch1 -p1
187 %patch2 -p1
188 %patch3 -p1
189 %patch4 -p1
190 %patch5 -p1
191 %patch7 -p1
192
193 %if %{with flex_array_fix}
194 # workaround flexible array member (char buf[]) incompatible with swig<=4.0.2
195 cp /usr/include/linux/audit.h lib
196 %patch8 -p1
197 %endif
198
199 %if %{without python}
200 sed 's#[^ ]*swig/[^ ]*/Makefile ##g' -i configure.ac
201 sed 's/swig//' -i bindings/Makefile.am
202 %endif
203
204 %build
205 %{__libtoolize}
206 %{__aclocal}
207 %{__autoconf}
208 %{__autoheader}
209 %{__automake}
210 %configure \
211         CC_FOR_BUILD="%{__cc}" \
212         CPPFLAGS_FOR_BUILD="%{rpmcppflags}" \
213         CFLAGS_FOR_BUILD="%{rpmcflags}" \
214         LDFLAGS_FOR_BUILD="%{rpmldflags}" \
215         %{?with_kerberos5:--enable-gssapi-krb5} \
216         --enable-systemd \
217         --with-apparmor \
218         --with-libwrap \
219         %{!?with_zos_remote:--disable-zos-remote}
220
221 %{__make}
222
223 %install
224 rm -rf $RPM_BUILD_ROOT
225 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/audit/rules.d,%{_var}/log/audit}
226
227 %{__make} install \
228         DESTDIR=$RPM_BUILD_ROOT
229
230 %if %{with flex_array_fix}
231 # undo include change
232 cd $RPM_BUILD_ROOT
233 patch -p0 --no-backup-if-mismatch < %{PATCH9}
234 cd -
235 %endif
236
237 # default to no audit (and no overhead)
238 cp -p rules/10-no-audit.rules $RPM_BUILD_ROOT%{_sysconfdir}/audit/rules.d
239
240 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/auditd
241 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/auditd
242
243 install -d $RPM_BUILD_ROOT/%{_lib}
244 mv -f $RPM_BUILD_ROOT%{_libdir}/libaudit.so.* $RPM_BUILD_ROOT/%{_lib}
245 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libaudit.so.*.*.*) \
246         $RPM_BUILD_ROOT%{_libdir}/libaudit.so
247 mv -f $RPM_BUILD_ROOT%{_libdir}/libauparse.so.* $RPM_BUILD_ROOT/%{_lib}
248 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libauparse.so.*.*.*) \
249         $RPM_BUILD_ROOT%{_libdir}/libauparse.so
250
251 # RH initscripts-specific
252 %{__rm} -r $RPM_BUILD_ROOT%{_libexecdir}/initscripts
253
254 %if %{with python2}
255 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
256 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
257 %py_postclean
258 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.la
259 %endif
260
261 %if %{with python3}
262 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/*.la
263 %endif
264
265 %clean
266 rm -rf $RPM_BUILD_ROOT
267
268 %post   libs -p /sbin/ldconfig
269 %postun libs -p /sbin/ldconfig
270
271 %post
272 # Copy default rules into place on new installation
273 if [ ! -e %{_sysconfdir}/audit/audit.rules ] ; then
274         cp -a %{_sysconfdir}/audit/rules.d/10-no-audit.rules %{_sysconfdir}/audit/audit.rules
275 fi
276 /sbin/chkconfig --add auditd
277 %service auditd restart "audit daemon"
278 %systemd_post auditd.service
279
280 %preun
281 if [ "$1" = "0" ]; then
282         %service auditd stop
283         /sbin/chkconfig --del auditd
284 fi
285 %systemd_preun auditd.service
286
287 %postun
288 %systemd_reload
289
290 %triggerpostun -- audit < 3.0
291 if [ -f %{_sysconfdir}/audisp/audisp-remote.conf.rpmsave -a ! -f %{_sysconfdir}/audit/audisp-remote.conf.rpmnew ]; then
292         mv -f %{_sysconfdir}/audit/audisp-remote.conf %{_sysconfdir}/audit/audisp-remote.conf.rpmnew
293         mv -f %{_sysconfdir}/audisp/audisp-remote.conf.rpmsave %{_sysconfdir}/audit/audisp-remote.conf
294 fi
295 if [ -f %{_sysconfdir}/audisp/plugins.d/af_unix.conf.rpmsave -a ! -f %{_sysconfdir}/audit/plugins.d/af_unix.conf.rpmnew ]; then
296         mv -f %{_sysconfdir}/audit/plugins.d/af_unix.conf %{_sysconfdir}/audit/plugins.d/af_unix.conf.rpmnew
297         mv -f %{_sysconfdir}/audisp/plugins.d/af_unix.conf.rpmsave %{_sysconfdir}/audit/plugins.d/af_unix.conf
298 fi
299 if [ -f %{_sysconfdir}/audisp/plugins.d/au-remote.conf.rpmsave -a ! -f %{_sysconfdir}/audit/plugins.d/au-remote.conf.rpmnew ]; then
300         mv -f %{_sysconfdir}/audit/plugins.d/au-remote.conf %{_sysconfdir}/audit/plugins.d/au-remote.conf.rpmnew
301         mv -f %{_sysconfdir}/audisp/plugins.d/au-remote.conf.rpmsave %{_sysconfdir}/audit/plugins.d/au-remote.conf
302 fi
303 if [ -f %{_sysconfdir}/audisp/plugins.d/syslog.conf.rpmsave -a ! -f %{_sysconfdir}/audit/plugins.d/syslog.conf.rpmnew ]; then
304         mv -f %{_sysconfdir}/audit/plugins.d/syslog.conf %{_sysconfdir}/audit/plugins.d/syslog.conf.rpmnew
305         mv -f %{_sysconfdir}/audisp/plugins.d/syslog.conf.rpmsave %{_sysconfdir}/audit/plugins.d/syslog.conf
306 fi
307 %if %{with zos_remote}
308 if [ -f %{_sysconfdir}/audisp/zos-remote.conf.rpmsave -a ! -f %{_sysconfdir}/audit/zos-remote.conf.rpmnew ]; then
309         mv -f %{_sysconfdir}/audit/zos-remote.conf %{_sysconfdir}/audit/zos-remote.conf.rpmnew
310         mv -f %{_sysconfdir}/audisp/zos-remote.conf.rpmsave %{_sysconfdir}/audit/zos-remote.conf
311 fi
312 if [ -f %{_sysconfdir}/audisp/plugins.d/audisp-zos-remote.conf.rpmsave -a ! -f %{_sysconfdir}/audit/plugins.d/audisp-zos-remote.conf.rpmnew ]; then
313         mv -f %{_sysconfdir}/audit/plugins.d/audisp-zos-remote.conf %{_sysconfdir}/audit/plugins.d/audisp-zos-remote.conf.rpmnew
314         mv -f %{_sysconfdir}/audisp/plugins.d/audisp-zos-remote.conf.rpmsave %{_sysconfdir}/audit/plugins.d/audisp-zos-remote.conf
315 fi
316 %endif
317
318 %files
319 %defattr(644,root,root,755)
320 %doc AUTHORS ChangeLog README THANKS rules/{README-rules,*.rules} init.d/auditd.cron
321 %attr(750,root,root) %{_bindir}/aulast
322 %attr(750,root,root) %{_bindir}/aulastlog
323 %attr(750,root,root) %{_bindir}/ausyscall
324 %attr(750,root,root) %{_bindir}/auvirt
325 %attr(750,root,root) %{_sbindir}/auditctl
326 %attr(750,root,root) %{_sbindir}/auditd
327 %attr(750,root,root) %{_sbindir}/augenrules
328 %attr(750,root,root) %{_sbindir}/aureport
329 %attr(750,root,root) %{_sbindir}/ausearch
330 %attr(750,root,root) %{_sbindir}/autrace
331 %attr(755,root,root) %{_sbindir}/audisp-remote
332 %attr(755,root,root) %{_sbindir}/audisp-syslog
333 %{_libexecdir}/audit-functions
334 %dir %{_datadir}/audit
335 %{_datadir}/audit/sample-rules
336 %dir %{_sysconfdir}/audit
337 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/audit/audisp-remote.conf
338 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/audit/audit-stop.rules
339 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/audit/auditd.conf
340 %dir %{_sysconfdir}/audit/plugins.d
341 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/audit/plugins.d/af_unix.conf
342 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/audit/plugins.d/au-remote.conf
343 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/audit/plugins.d/syslog.conf
344 %dir %{_sysconfdir}/audit/rules.d
345 %attr(640,root,root) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/audit/rules.d/10-no-audit.rules
346 %attr(754,root,root) /etc/rc.d/init.d/auditd
347 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/auditd
348 %{systemdunitdir}/auditd.service
349 %attr(750,root,root) %dir %{_var}/log/audit
350 %{_mandir}/man5/audisp-remote.conf.5*
351 %{_mandir}/man5/auditd.conf.5*
352 %{_mandir}/man5/auditd-plugins.5*
353 %{_mandir}/man5/ausearch-expression.5*
354 %{_mandir}/man7/audit.rules.7*
355 %{_mandir}/man8/audisp-remote.8*
356 %{_mandir}/man8/audisp-syslog.8*
357 %{_mandir}/man8/auditctl.8*
358 %{_mandir}/man8/auditd.8*
359 %{_mandir}/man8/augenrules.8*
360 %{_mandir}/man8/aulast.8*
361 %{_mandir}/man8/aulastlog.8*
362 %{_mandir}/man8/aureport.8*
363 %{_mandir}/man8/ausearch.8*
364 %{_mandir}/man8/ausyscall.8*
365 %{_mandir}/man8/autrace.8*
366 %{_mandir}/man8/auvirt.8*
367
368 %if %{with zos_remote}
369 %attr(755,root,root) %{_sbindir}/audispd-zos-remote
370 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/audit/zos-remote.conf
371 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/audit/plugins.d/audispd-zos-remote.conf
372 %{_mandir}/man5/zos-remote.conf.5*
373 %{_mandir}/man8/audispd-zos-remote.8*
374 %endif
375
376 %files libs
377 %defattr(644,root,root,755)
378 %attr(755,root,root) /%{_lib}/libaudit.so.*.*.*
379 %attr(755,root,root) %ghost /%{_lib}/libaudit.so.1
380 %attr(755,root,root) /%{_lib}/libauparse.so.*.*.*
381 %attr(755,root,root) %ghost /%{_lib}/libauparse.so.0
382 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libaudit.conf
383 %{_mandir}/man5/libaudit.conf.5*
384
385 %files libs-devel
386 %defattr(644,root,root,755)
387 %attr(755,root,root) %{_libdir}/libaudit.so
388 %attr(755,root,root) %{_libdir}/libauparse.so
389 %{_libdir}/libaudit.la
390 %{_libdir}/libauparse.la
391 %{_includedir}/auparse*.h
392 %{_includedir}/libaudit.h
393 %{_pkgconfigdir}/audit.pc
394 %{_pkgconfigdir}/auparse.pc
395 %{_aclocaldir}/audit.m4
396 %{_mandir}/man3/audit_*.3*
397 %{_mandir}/man3/auparse_*.3*
398 %{_mandir}/man3/ausearch_*.3*
399 %{_mandir}/man3/get_auditfail_action.3*
400 %{_mandir}/man3/set_aumessage_mode.3*
401
402 %files libs-static
403 %defattr(644,root,root,755)
404 %{_libdir}/libaudit.a
405 %{_libdir}/libauparse.a
406
407 %if %{with golang}
408 %files -n golang-audit
409 %defattr(644,root,root,755)
410 %dir %{_libdir}/golang/src/redhat.com
411 %{_libdir}/golang/src/redhat.com/audit
412 %endif
413
414 %if %{with python2}
415 %files -n python-audit
416 %defattr(644,root,root,755)
417 %attr(755,root,root) %{py_sitedir}/_audit.so
418 %attr(755,root,root) %{py_sitedir}/auparse.so
419 %{py_sitedir}/audit.py[co]
420 %endif
421
422 %if %{with python3}
423 %files -n python3-audit
424 %defattr(644,root,root,755)
425 %attr(755,root,root) %{py3_sitedir}/_audit.so
426 %attr(755,root,root) %{py3_sitedir}/auparse.so
427 %{py3_sitedir}/audit.py
428 %{py3_sitedir}/__pycache__/audit.cpython-*.py[co]
429 %endif
This page took 0.063798 seconds and 3 git commands to generate.