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: http://launchpad.net/apparmor/2.13/%{version}/+download/apparmor-%{version}.tar.gz
15 # Source0-md5: a50b793a3362551f07733be3df9c328f
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
20 Patch2: apparmor-2.13.4-make4.3.patch
21 Patch3: apparmor-2.13.4-run_variable.patch
22 URL: http://wiki.apparmor.net/
25 BuildRequires: gettext-tools
26 BuildRequires: libapparmor-devel >= 1:%{version}
27 BuildRequires: libcap-devel
28 BuildRequires: libstdc++-devel
29 # for apparmor_profile which links statically sometimes
30 %if %{without dynamic}
31 BuildRequires: libapparmor-static
32 BuildRequires: libstdc++-static
34 BuildRequires: perl-tools-pod
36 %if %(test -e /sys/kernel/security/apparmor/features ; echo $?)
37 # apparmor enabled kernel running and fs mounted
38 BuildRequires: /sys/kernel/security/apparmor/features
40 BuildRequires: perl-Locale-gettext
41 BuildRequires: perl-Test-Harness
42 BuildRequires: perl-tools-devel
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}
64 # avoid unnecessary rebuilding on install
65 %{__sed} -i -e '/^\.PHONY: af_names.h/d' parser/Makefile
66 %{__sed} -i -e '/^\.\(PHONY\|SILENT\): \$(AAREOBJECT)/d' parser/Makefile
69 %{__make} -j1 -C parser \
72 CFLAGS="%{rpmcflags} %{rpmcppflags}" \
73 %{?with_dynamic:AAREOBJECTS='$(AAREOBJECT)' AARE_LDFLAGS= AALIB=-lapparmor} \
77 %{__make} -j1 -C parser tests \
79 %{?with_dynamic:AAREOBJECTS='$(AAREOBJECT)' AARE_LDFLAGS=-lstdc++ AALIB=-lapparmor} \
84 rm -rf $RPM_BUILD_ROOT
85 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/lib/apparmor,/subdomain}
87 %{__make} -C parser install \
88 DESTDIR=$RPM_BUILD_ROOT \
90 SYSTEMD_UNIT_DIR=$RPM_BUILD_ROOT%{systemdunitdir} \
93 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/apparmor
98 rm -rf $RPM_BUILD_ROOT
101 /sbin/chkconfig --add apparmor
104 if [ "$1" = "0" ]; then
105 /sbin/chkconfig --del apparmor
108 %files -f %{name}.lang
109 %defattr(644,root,root,755)
111 %attr(755,root,root) /sbin/apparmor_parser
112 %attr(755,root,root) %{_sbindir}/aa-teardown
113 %dir %{_sysconfdir}/apparmor
114 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor/parser.conf
115 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor/subdomain.conf
116 %attr(754,root,root) /etc/rc.d/init.d/apparmor
117 %{systemdunitdir}/apparmor.service
119 /lib/apparmor/rc.apparmor.functions
120 %attr(754,root,root) /lib/apparmor/apparmor.systemd
122 %dir /var/lib/apparmor
123 %{_mandir}/man5/apparmor.d.5*
124 %{_mandir}/man5/subdomain.conf.5*
125 %{_mandir}/man7/apparmor.7*
126 %{_mandir}/man8/aa-teardown.8*
127 %{_mandir}/man8/apparmor_parser.8*