+++ /dev/null
-This patch adds a variable AA_PARSER_ARGS to subdomain.conf, and passes
-those arguments to relevant invocations of apparmor_parser.
----
- parser/rc.apparmor.functions | 9 +++++----
- parser/subdomain.conf | 6 ++++++
- 2 files changed, 11 insertions(+), 4 deletions(-)
-
-Index: trunk-forge/parser/rc.apparmor.functions
-===================================================================
---- trunk-forge.orig/parser/rc.apparmor.functions
-+++ trunk-forge/parser/rc.apparmor.functions
-@@ -50,6 +50,7 @@ fi
- SUBDOMAIN_MODULE_PANIC="warn"
- SUBDOMAIN_ENABLE_OWLSM="no"
- APPARMOR_ENABLE_AAEVENTD="no"
-+AA_PARSER_ARGS=
-
- if [ -f "${APPARMOR_CONF}" ] ; then
- #parse the conf file to see what we should do
-@@ -106,11 +107,11 @@ parse_profiles() {
- # get parser arg
- case "$1" in
- load)
-- PARSER_ARGS="--add"
-+ PARSER_ACTION="--add"
- PARSER_MSG="Loading AppArmor profiles "
- ;;
- reload)
-- PARSER_ARGS="--replace"
-+ PARSER_ACTION="--replace"
- PARSER_MSG="Reloading AppArmor profiles "
- ;;
- *)
-@@ -151,7 +152,7 @@ parse_profiles() {
- logger -t "AppArmor(init)" -p daemon.warn "Skipping profile $profile"
- STATUS=2
- elif [ -f "${profile}" ] ; then
-- $PARSER $ABSTRACTIONS $PARSER_ARGS "$profile" > /dev/null
-+ $PARSER $ABSTRACTIONS $PARSER_ACTION ${AA_PARSER_ARGS} "$profile" > /dev/null
- if [ $? -ne 0 ]; then
- echo " Profile $profile failed to load"
- STATUS=1
-@@ -183,7 +184,7 @@ profiles_names_list() {
-
- for profile in $PROFILE_DIR/*; do
- if ! skip_profile "${profile}" && [ -f "${profile}" ] ; then
-- LIST_ADD=$($PARSER $ABSTRACTIONS -N "$profile" | grep -v '\^')
-+ LIST_ADD=$($PARSER $ABSTRACTIONS ${AA_PARSER_ARGS} -N "$profile" | grep -v '\^')
- if [ $? -eq 0 ]; then
- echo "$LIST_ADD" >>$TMPFILE
- fi
-Index: trunk-forge/parser/subdomain.conf
-===================================================================
---- trunk-forge.orig/parser/subdomain.conf
-+++ trunk-forge/parser/subdomain.conf
-@@ -25,6 +25,12 @@ SUBDOMAIN_ENABLE_OWLSM="no"
- # Enable the AppArmor event daemon for reporting?
- APPARMOR_ENABLE_AAEVENTD="no"
-
-+## Path: System/AppArmor
-+## Description: Add arguments to the apparmor_parser binary
-+## Type: String
-+#
-+AA_PARSER_ARGS=""
-+
- #SUBDOMAIN_MODULE_PANIC=XXX
- #This option controls how subdomain behaves when the init script attempts
- #to load the SubDomain module and fails. There are 4 options
+++ /dev/null
---- a/parser_yacc.y~ 2008-06-06 14:50:33.000000000 +0200
-+++ a/parser_yacc.y 2008-06-07 00:38:36.448522043 +0200
-@@ -672,12 +672,14 @@
- case RLIMIT_NPROC:
- case RLIMIT_LOCKS:
- case RLIMIT_SIGPENDING:
-+#ifdef RLIMIT_RTPRIO
- case RLIMIT_RTPRIO:
- if ($6 == end || *end != '\0' || tmp < 0)
- yyerror("RLIMIT '%s' invalid value %s\n", $4, $6);
- value = tmp;
- break;
--
-+#endif
-+#ifdef RLIMIT_NICE
- case RLIMIT_NICE:
- if ($6 == end || *end != '\0')
- yyerror("RLIMIT '%s' invalid value %s\n", $4, $6);
-@@ -685,6 +687,7 @@
- yyerror("RLIMIT '%s' out of range (-20 .. 19) %d\n", $4, tmp);
- value = tmp + 20;
- break;
-+#endif
- case RLIMIT_FSIZE:
- case RLIMIT_DATA:
- case RLIMIT_STACK:
---- a/parser_misc.c~ 2008-05-29 22:45:04.000000000 +0200
-+++ a/parser_misc.c 2008-06-07 00:42:44.431478766 +0200
-@@ -91,8 +91,12 @@
- {"locks", RLIMIT_LOCKS},
- {"sigpending", RLIMIT_SIGPENDING},
- {"msgqueue", RLIMIT_MSGQUEUE},
-+#ifdef RLIMIT_NICE
- {"nice", RLIMIT_NICE},
-+#endif
-+#ifdef RLIMIT_RTPRIO
- {"rtprio", RLIMIT_RTPRIO},
-+#endif
- /* terminate */
- {NULL, 0}
- };
---- Makefile.org 2008-06-09 14:59:57.328617929 +0200
-+++ Makefile 2008-06-09 15:01:37.766461285 +0200
+--- parser.org/Makefile 2010-03-11 08:28:38.000000000 +0100
++++ parser/Makefile 2010-03-16 22:42:34.830028680 +0100
@@ -125,9 +125,12 @@
techdoc.txt: techdoc/index.html
w3m -dump $< > $@
--all: $(TOOLS) $(MANPAGES) ${HTMLMANPAGES} techdoc.pdf techdoc/index.html
-+main: $(TOOLS) $(MANPAGES)
+-all: $(TOOLS) $(MANPAGES) ${HTMLMANPAGES} techdoc.pdf
++main: $(TOOLS)
$(Q)make -C po all
- $(Q)make -s tests
+
-+docs: $(MANPAGES) ${HTMLMANPAGES} techdoc.pdf techdoc/index.html
++docs: $(MANPAGES) ${HTMLMANPAGES}
+
-+all: main docs tests
++all: main docs tests
apparmor_parser: $(OBJECTS) $(PCREOBJECTS) $(AAREOBJECTS)
rm -f ./libstdc++.a
---- parser_misc.c.org 2008-10-30 12:38:06.708188523 +0100
-+++ parser_misc.c 2008-10-30 12:38:35.619310902 +0100
-@@ -31,6 +31,10 @@
- #include <arpa/inet.h>
- #include <linux/capability.h>
-
-+#ifndef AF_ISDN
-+#define AF_ISDN 34
-+#endif
-+
- #include "parser.h"
- #include "parser_yacc.h"
-
%bcond_without tests
-%define _ver 2.3
-%define _svnrel 1286
Summary: AppArmor userlevel parser utility
Summary(pl.UTF-8): Narzędzie przestrzeni użytkownika do przetwarzania AppArmor
Name: apparmor-parser
-Version: %{_ver}.%{_svnrel}
+Version: 2.5
Release: 1
Epoch: 1
License: GPL
Group: Applications/System
-# Source0: http://forge.novell.com/modules/xfcontent/private.php/apparmor/AppArmor-%{_ver}/%{name}-%{_ver}-%{_svnrel}.tar.gz
-Source0: %{name}-%{_ver}-%{_svnrel}.tar.bz2
-# Source0-md5: b3e94387d4f6be3932616d79eea03461
+Source0: http://kernel.org/pub/linux/security/apparmor/AppArmor-%{version}/AppArmor-%{version}.tgz
+# Source0-md5: 4a747d1a1f85cb272d55b52c7e8a4a02
Source1: %{name}.init
-Patch0: %{name}-init-args.patch
-Patch1: %{name}-make.patch
-Patch2: %{name}-limits.patch
-URL: http://forge.novell.com/modules/xfmod/project/?apparmor
+Patch0: %{name}-make.patch
+URL: http://apparmor.wiki.kernel.org/
BuildRequires: bison
BuildRequires: flex
BuildRequires: gettext-devel
SubDomain.
%prep
-%setup -q -n %{name}-%{_ver}
-%patch0 -p2
-%patch1 -p0
-%patch2 -p1
+%setup -q -n AppArmor-%{version}
+cd parser
+%patch0 -p1
%build
-%{__make} main \
+%{__make} -C parser main \
CC="%{__cc}" \
CXX="%{__cxx}" \
- CFLAGS="%{rpmcflags}"
+ CFLAGS="%{rpmcflags} %{rpmcppflags}"
-%{?with_tests:%{__make} tests}
+%{?with_tests:%{__make} -C parser tests}
%install
rm -rf $RPM_BUILD_ROOT
+cd parser
install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{apparmor,rc.d/init.d},/sbin,/subdomain,/var/lib/apparmor}
DESTDIR=$RPM_BUILD_ROOT \
NAME=%{name}
+cd ..
%find_lang %{name}
%clean
%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