Merge lp:~clint-fewbar/charm-tools/apparmor into lp:~charmers/charm-tools/trunk

Proposed by Clint Byrum on 2012-01-12
Status: Merged
Merged at revision: 115
Proposed branch: lp:~clint-fewbar/charm-tools/apparmor
Merge into: lp:~charmers/charm-tools/trunk
Diff against target: 97 lines (+88/-0)
2 files modified
helpers/sh/apparmor.sh (+30/-0)
tests/helpers/test_apparmor.sh (+58/-0)
To merge this branch: bzr merge lp:~clint-fewbar/charm-tools/apparmor
Reviewer Review Type Date Requested Status
Juan L. Negron (community) 2012-01-12 Approve on 2012-01-12
Review via email: mp+88321@code.launchpad.net

Description of the Change

Adding an apparmor helper to charm-helpers

To post a comment you must log in.
Juan L. Negron (negronjl) wrote :

Looks good.

Approved.

-Juan

review: Approve
Juan L. Negron (negronjl) wrote :

Looks good.

Approved.

-Juan

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'helpers/sh/apparmor.sh'
2--- helpers/sh/apparmor.sh 1970-01-01 00:00:00 +0000
3+++ helpers/sh/apparmor.sh 2012-01-12 09:29:23 +0000
4@@ -0,0 +1,30 @@
5+#!/bin/sh
6+
7+##
8+# Copyright 2011 Canonical, Ltd. All Rights Reserved
9+#
10+# This file is part of Charm Helpers.
11+#
12+# Charm Helpers is free software: you can redistribute it and/or modify
13+# it under the terms of the GNU General Public License as published by
14+# the Free Software Foundation, either version 3 of the License, or
15+# (at your option) any later version.
16+#
17+# Charm Helpers is distributed in the hope that it will be useful,
18+# but WITHOUT ANY WARRANTY; without even the implied warranty of
19+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20+# GNU General Public License for more details.
21+#
22+# You should have received a copy of the GNU General Public License
23+# along with Charm Helpers. If not, see <http://www.gnu.org/licenses/>.
24+##
25+
26+ch_apparmor_load() {
27+ local ddir=${CH_APPARMOR_DESTDIR:-""}
28+ [ -n "$CHARM_DIR" ] || return 1
29+ [ -d "$CHARM_DIR" ] || return 1
30+ [ -d "$CHARM_DIR/apparmor/profiles.d" ] || return 0
31+ cp -f $CHARM_DIR/apparmor/profiles.d/* $ddir/etc/apparmor/profiles.d || return 1
32+ service apparmor reload || return 0
33+ return 0
34+}
35
36=== added file 'tests/helpers/test_apparmor.sh'
37--- tests/helpers/test_apparmor.sh 1970-01-01 00:00:00 +0000
38+++ tests/helpers/test_apparmor.sh 2012-01-12 09:29:23 +0000
39@@ -0,0 +1,58 @@
40+#!/bin/sh
41+
42+if [ -z "$test_home" ] ; then
43+ test_home=`dirname $0`
44+ test_home=`readlink -f $test_home`
45+fi
46+
47+[ "$LIB_SOURCED" = "1" ] || . $test_home/lib.sh
48+
49+set -ue
50+
51+mock_service() {
52+ echo $* >> $SERVICE_LOG
53+}
54+alias service=mock_service
55+
56+. $HELPERS_HOME/apparmor.sh
57+
58+CHARM_DIR=""
59+SERVICE_LOG=""
60+CH_APPARMOR_DESTDIR=""
61+
62+cleanup_apparmor() {
63+ if [ -n "$CHARM_DIR" ] && [ -d "$CHARM_DIR" ] ; then
64+ rm -rf $CHARM_DIR
65+ fi
66+ if [ -n "$CH_APPARMOR_DESTDIR" ] && [ -d "$CH_APPARMOR_DESTDIR" ] ; then
67+ rm -rf $CH_APPARMOR_DESTDIR
68+ fi
69+ if [ -n "$SERVICE_LOG" ] && [ -f "$SERVICE_LOG" ] ; then
70+ rm -rf $SERVICE_LOG
71+ fi
72+}
73+
74+trap cleanup_apparmor EXIT
75+
76+CHARM_DIR=`mktemp -d /tmp/ch_charm_dir.XXXXXX`
77+CH_APPARMOR_DESTDIR=`mktemp -d /tmp/ch_apparmor_root.XXXXXX`
78+SERVICE_LOG=`mktemp /tmp/service_log.XXXXXX`
79+
80+mkdir -p $CHARM_DIR/apparmor/profiles.d
81+mkdir -p $CH_APPARMOR_DESTDIR/etc/apparmor/profiles.d
82+cat > $CHARM_DIR/apparmor/profiles.d/usr.bin.foo <<EOF
83+/usr/lib/telepathy/telepathy-* {
84+ #include <abstractions/base>
85+}
86+EOF
87+
88+start_test ch_apparmor_load...
89+ch_apparmor_load
90+[ -f $CH_APPARMOR_DESTDIR/etc/apparmor/profiles.d/usr.bin.foo ]
91+cmp $CH_APPARMOR_DESTDIR/etc/apparmor/profiles.d/usr.bin.foo $CHARM_DIR/apparmor/profiles.d/usr.bin.foo
92+grep -q "apparmor reload" $SERVICE_LOG
93+cp /dev/null $SERVICE_LOG
94+echo PASS
95+
96+trap - EXIT
97+cleanup_apparmor

Subscribers

People subscribed via source and target branches