summaryrefslogtreecommitdiff
path: root/apparmor-parser.spec
blob: ad2c6ddb8cf3a8bb014bf1ff512fe2eb862a5fc0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#
# Conditional build:
%bcond_with	tests	# don't perform "make tests"
%bcond_with	dynamic	# link libstdc++ and libgcc dynamically
#
Summary:	AppArmor userlevel parser utility
Summary(pl.UTF-8):	Narzędzie przestrzeni użytkownika do przetwarzania AppArmor
Name:		apparmor-parser
Version:	2.13.2
Release:	1
Epoch:		1
License:	GPL v2
Group:		Applications/System
Source0:	http://launchpad.net/apparmor/2.13/%{version}/+download/apparmor-%{version}.tar.gz
# Source0-md5:	2439b35266b5a3a461b0a2dba6e863c3
Source1:	%{name}.init
Patch0:		%{name}-pld.patch
# Drop when upstream does cache rebuild based on hash and not on mtime
Patch1:		%{name}-cache-rebuild.patch
URL:		http://wiki.apparmor.net/
BuildRequires:	bison
BuildRequires:	flex
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}
%if %(test -e /sys/kernel/security/apparmor/features ; echo $?)
# apparmor enabled kernel running and fs mounted
BuildRequires:	/sys/kernel/security/apparmor/features
%endif
BuildRequires:	perl-Locale-gettext
BuildRequires:	perl-Test-Harness
BuildRequires:	perl-tools-devel
%endif
BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

%description
AppArmor Parser is a userlevel program that is used to load in program
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.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 apparmor-%{version}
%patch0 -p0
%patch1 -p1

# avoid unnecessary rebuilding on install
%{__sed} -i -e '/^\.PHONY: af_names.h/d' parser/Makefile
%{__sed} -i -e '/^\.\(PHONY\|SILENT\): \$(AAREOBJECT)/d' parser/Makefile

%build
%{__make} -j1 -C parser \
	CC="%{__cc}" \
	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
install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/lib/apparmor,/subdomain}

%{__make} -C parser install \
	DESTDIR=$RPM_BUILD_ROOT \
	DISTRO=systemd \
	SYSTEMD_UNIT_DIR=$RPM_BUILD_ROOT%{systemdunitdir} \
	USE_SYSTEM=1

install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/apparmor

%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 parser/README
%attr(755,root,root) /sbin/apparmor_parser
%attr(755,root,root) %{_sbindir}/aa-teardown
%dir %{_sysconfdir}/apparmor
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor/parser.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor/subdomain.conf
%attr(754,root,root) /etc/rc.d/init.d/apparmor
%{systemdunitdir}/apparmor.service
%dir /lib/apparmor
/lib/apparmor/rc.apparmor.functions
%attr(754,root,root) /lib/apparmor/apparmor.systemd
%dir /subdomain
%dir /var/lib/apparmor
%{_mandir}/man5/apparmor.d.5*
%{_mandir}/man5/subdomain.conf.5*
%{_mandir}/man7/apparmor.7*
%{_mandir}/man8/aa-teardown.8*
%{_mandir}/man8/apparmor_parser.8*