So I dug into this with pydb and figured out what's going on. utils/apparmor/tools.py lines 79 and 81 need to be changed to fatal_error(message). I tried both fatal_error and also sys.exit(1) and aa-complain seems to ignore it and still exit 0. I'm not exactly sure why though. It seems there's a custom sys exit handler in place that is messing with it. Does anyone know what I should change it to? I'll put in the change and the merge request :)
-- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to apparmor in Ubuntu. https://bugs.launchpad.net/bugs/1564625 Title: aa-complain exits 0 when path not found Status in AppArmor: Confirmed Status in One Hundred Papercuts: Confirmed Status in apparmor package in Ubuntu: Confirmed Bug description: I'm using juju to deploy apparmor profiles and I've found that when the apparmor path isn't found the command still exists 0. If this exited with a non zero status I could detect I had a problem in my code and take action :) root@ip-172-31-29-100:/etc/apparmor.d/local# aa-complain foo Can't find foo in the system path list. If the name of the application is correct, please run 'which foo' as a user with correct PATH environment set up in order to find the fully-qualified path and use the full path as parameter. root@ip-172-31-29-100:/etc/apparmor.d/local# echo $? 0 Some context on the environment: root@ip-172-31-29-100:/etc/apparmor.d/local# cat /etc/issue Ubuntu 14.04.4 LTS \n \l To manage notifications about this bug go to: https://bugs.launchpad.net/apparmor/+bug/1564625/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp