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*
|