3 %bcond_with tests # don't perform "make tests"
4 %bcond_with dynamic # link libstdc++ and libgcc dynamically
6 Summary: AppArmor userlevel parser utility
7 Summary(pl.UTF-8): Narzędzie przestrzeni użytkownika do przetwarzania AppArmor
13 Group: Applications/System
14 Source0: https://launchpad.net/apparmor/3.1/%{version}/+download/apparmor-%{version}.tar.gz
15 # Source0-md5: eee581ab969f708f1e4c6f2847c0c7a6
17 Patch0: %{name}-pld.patch
18 # Drop when upstream does cache rebuild based on hash and not on mtime
19 Patch1: %{name}-cache-rebuild.patch
21 URL: https://wiki.apparmor.net/
24 BuildRequires: gettext-tools
25 BuildRequires: libapparmor-devel >= 1:%{version}
26 BuildRequires: libcap-devel
27 BuildRequires: libstdc++-devel
28 # for apparmor_profile which links statically sometimes
29 %if %{without dynamic}
30 BuildRequires: libapparmor-static
31 BuildRequires: libstdc++-static
33 BuildRequires: perl-tools-pod
35 %if %(test -e /sys/kernel/security/apparmor/features ; echo $?)
36 # apparmor enabled kernel running and fs mounted
37 BuildRequires: /sys/kernel/security/apparmor/features
39 BuildRequires: perl-Locale-gettext
40 BuildRequires: perl-Test-Harness
41 BuildRequires: perl-tools-devel
42 Requires(post,preun): /sbin/chkconfig
44 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
47 AppArmor Parser is a userlevel program that is used to load in program
48 profiles to the AppArmor Security kernel module. This package is part
49 of a suite of tools that used to be named SubDomain.
51 %description -l pl.UTF-8
52 AppArmor Parser to program przestrzeni użytkownika służący do
53 wczytywania profili programów dla modułu bezpieczeństwa AppArmor jądra
54 Linuksa. Ten pakiet jest częścią zestawu narzędzi nazywanych
58 %setup -q -n apparmor-%{version}
63 # avoid unnecessary rebuilding on install
64 %{__sed} -i -e '/^\.PHONY: af_names.h/d' parser/Makefile
65 %{__sed} -i -e '/^\.\(PHONY\|SILENT\): \$(AAREOBJECT)/d' parser/Makefile
68 %{__make} -j1 -C parser \
71 CFLAGS="%{rpmcflags} %{rpmcppflags}" \
72 %{?with_dynamic:AAREOBJECTS='$(AAREOBJECT)' AARE_LDFLAGS= AALIB=-lapparmor} \
76 %{__make} -j1 -C parser tests \
78 %{?with_dynamic:AAREOBJECTS='$(AAREOBJECT)' AARE_LDFLAGS=-lstdc++ AALIB=-lapparmor} \
83 rm -rf $RPM_BUILD_ROOT
84 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/lib/apparmor,/var/cache/apparmor}
86 %{__make} -C parser install \
87 DESTDIR=$RPM_BUILD_ROOT \
89 SYSTEMD_UNIT_DIR=$RPM_BUILD_ROOT%{systemdunitdir} \
92 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/apparmor
97 rm -rf $RPM_BUILD_ROOT
100 /sbin/chkconfig --add apparmor
103 if [ "$1" = "0" ]; then
104 /sbin/chkconfig --del apparmor
107 %files -f %{name}.lang
108 %defattr(644,root,root,755)
110 %attr(755,root,root) /sbin/apparmor_parser
111 %attr(755,root,root) %{_sbindir}/aa-teardown
112 %dir %{_sysconfdir}/apparmor
113 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor/parser.conf
114 %attr(754,root,root) /etc/rc.d/init.d/apparmor
115 %{systemdunitdir}/apparmor.service
117 %attr(755,root,root) /lib/apparmor/profile-load
118 /lib/apparmor/rc.apparmor.functions
119 %attr(754,root,root) /lib/apparmor/apparmor.systemd
120 %attr(700,root,root) %dir /var/cache/apparmor
121 %dir /var/lib/apparmor
122 %{_mandir}/man5/apparmor.d.5*
123 %{_mandir}/man7/apparmor.7*
124 %{_mandir}/man7/apparmor_xattrs.7*
125 %{_mandir}/man8/aa-teardown.8*
126 %{_mandir}/man8/apparmor_parser.8*