From 6e1e27a931874bf2160694080bcdd493d06dde86 Mon Sep 17 00:00:00 2001 From: Steve Beattie Date: Fri, 18 Mar 2016 13:32:45 -0700 Subject: [PATCH] utils: make aa-status(8) work without python3-apparmor Merge from trunk commit 3391 Bug: https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/1480492 If python3-apparmor is not installed, aa-status aborts due to the ded import to handle fancier exception handling failing. This patch makes aa-status(8) work even in that case, falling back to normal python exceptions, to keep its required dependencies as small as possible. Signed-off-by: Steve Beattie Acked-by: Seth Arnold Acked-by: Christian Boltz --- utils/aa-status | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/utils/aa-status b/utils/aa-status index 472b993af..073533cef 100755 --- a/utils/aa-status +++ b/utils/aa-status @@ -12,9 +12,19 @@ import re, os, sys, errno +# PLEASE NOTE: we try to keep aa-status as minimal as possible, for +# environments where installing all of the python utils and python +# apparmor module may not make sense. Please think carefully before +# importing anything from apparmor; see how the apparmor.fail import is +# handled below. + # setup exception handling -from apparmor.fail import enable_aa_exception_handler -enable_aa_exception_handler() +try: + from apparmor.fail import enable_aa_exception_handler + enable_aa_exception_handler() +except ImportError: + # just let normal python exceptions happen (LP: #1480492) + pass def cmd_enabled(): '''Returns error code if AppArmor is not enabled'''