-%define _ver 2.0
-%define _svnrel 25
+#
+# Conditional build:
+%bcond_without tests # don't perform "make tests"
+%bcond_with dynamic # link libstdc++ and libgcc dynamically
+#
Summary: AppArmor userlevel parser utility
-Summary(pl): Narzêdzie przestrzeni u¿ytkownika do przetwarzania AppArmor
+Summary(pl.UTF-8): Narzędzie przestrzeni użytkownika do przetwarzania AppArmor
Name: apparmor-parser
-Version: %{_ver}.%{_svnrel}
-Release: 0.1
-License: GPL
+Version: 2.12
+Release: 1
+Epoch: 1
+License: GPL v2
Group: Applications/System
-Source0: http://forge.novell.com/modules/xfcontent/private.php/apparmor/Development%20-%20April%20Snapshot/%{name}-%{_ver}-%{_svnrel}.tar.gz
-# Source0-md5: 1486ed6062435ff82340d6d9967b4df6
-URL: http://forge.novell.com/modules/xfmod/project/?apparmor
+Source0: http://launchpad.net/apparmor/2.12/%{version}.0/+download/apparmor-%{version}.tar.gz
+# Source0-md5: 49054f58042f8e51ea92cc866575a833
+Source1: %{name}.init
+Patch0: %{name}-pld.patch
+URL: http://wiki.apparmor.net/
BuildRequires: bison
BuildRequires: flex
-BuildRequires: gettext-devel
+BuildRequires: gettext-tools
+BuildRequires: libapparmor-devel >= 1:%{version}
BuildRequires: libcap-devel
+BuildRequires: libstdc++-devel
+# for apparmor_profile which links statically sometimes
+%if %{without dynamic}
+BuildRequires: libapparmor-static
+BuildRequires: libstdc++-static
+%endif
+BuildRequires: perl-tools-pod
+%if %{with tests}
+BuildRequires: perl-Locale-gettext
+BuildRequires: perl-Test-Harness
+BuildRequires: perl-tools-devel
+%endif
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
profiles to the AppArmor Security kernel module. This package is part
of a suite of tools that used to be named SubDomain.
-%description -l pl
-AppArmor Parser to program przestrzeni u¿ytkownika s³u¿±cy do
-wczytywania profili programów dla modu³u bezpieczeñstwa AppArmor j±dra
-Linuksa. Ten pakiet jest czê¶ci± zestawu narzêdzi nazywanych SubDomain.
+%description -l pl.UTF-8
+AppArmor Parser to program przestrzeni użytkownika służący do
+wczytywania profili programów dla modułu bezpieczeństwa AppArmor jądra
+Linuksa. Ten pakiet jest częścią zestawu narzędzi nazywanych
+SubDomain.
%prep
-%setup -q -n %{name}-%{_ver}
+%setup -q -n apparmor-%{version}
+%patch0 -p0
%build
-%{__make} \
+%{__make} -j1 -C parser \
CC="%{__cc}" \
- CFLAGS="%{rpmcflags}"
+ CXX="%{__cxx}" \
+ CFLAGS="%{rpmcflags} %{rpmcppflags}" \
+ %{?with_dynamic:AAREOBJECTS='$(AAREOBJECT)' AARE_LDFLAGS= AALIB=-lapparmor} \
+ USE_SYSTEM=1
+
+%if %{with tests}
+%{__make} -j1 -C parser tests \
+ CC="%{__cc}" \
+ %{?with_dynamic:AAREOBJECTS='$(AAREOBJECT)' AARE_LDFLAGS=-lstdc++ AALIB=-lapparmor} \
+ USE_SYSTEM=1
+%endif
%install
rm -rf $RPM_BUILD_ROOT
+cd parser
+
+install -d $RPM_BUILD_ROOT{%{_mandir}/man{5,7,8},%{_sysconfdir}/{apparmor,rc.d/init.d},/sbin,/subdomain,/var/lib/apparmor}
-install -d $RPM_BUILD_ROOT{%{_sysconfdir}/apparmor,/sbin,/subdomain,/var/lib/apparmor}
install apparmor_parser $RPM_BUILD_ROOT/sbin
install subdomain.conf $RPM_BUILD_ROOT%{_sysconfdir}/apparmor
-%{__make} -C po install \
+install rc.apparmor.functions $RPM_BUILD_ROOT%{_sysconfdir}/apparmor
+install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/apparmor
+install *.5 $RPM_BUILD_ROOT%{_mandir}/man5
+install *.7 $RPM_BUILD_ROOT%{_mandir}/man7
+install *.8 $RPM_BUILD_ROOT%{_mandir}/man8
+
+%{__make} -j1 -C po install \
DESTDIR=$RPM_BUILD_ROOT \
NAME=%{name}
+
+cd ..
%find_lang %{name}
%clean
rm -rf $RPM_BUILD_ROOT
+%post
+/sbin/chkconfig --add apparmor
+
+%preun
+if [ "$1" = "0" ]; then
+ /sbin/chkconfig --del apparmor
+fi
+
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc README
+%doc parser/README
%attr(755,root,root) /sbin/apparmor_parser
%dir %{_sysconfdir}/apparmor
+%{_sysconfdir}/apparmor/rc.apparmor.functions
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor/subdomain.conf
-#%attr(754,root,root) /etc/rc.d/init.d/aaeventd
-#%attr(754,root,root) /etc/rc.d/init.d/apparmor
+%attr(754,root,root) /etc/rc.d/init.d/apparmor
/subdomain
/var/lib/apparmor
+%{_mandir}/man5/apparmor.d.5*
+%{_mandir}/man5/subdomain.conf.5*
+%{_mandir}/man7/apparmor.7*
+%{_mandir}/man8/apparmor_parser.8*