cups fails to install when kernel does not provide block_suspend capability
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cups (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Quantal |
Invalid
|
Undecided
|
Unassigned | ||
upstart (Ubuntu) |
Fix Released
|
Medium
|
Jamie Strandboge | ||
Quantal |
Fix Released
|
Medium
|
Jamie Strandboge |
Bug Description
[Impact]
* Some users upgrading from 12.04 LTS to 12.10 have encountered upgrade
errors because apparmor_parser fails to load new policy on an old kernel.
Specifically, the block_suspend capability is new in the 12.10 kernel and
does not exist in the 12.04 LTS kernel.
* On upgrade, the cups upstart job calls /lib/init/
from upstart, which in turn calls apparmor_parser. apparmor_parser can
exit with error on upgrades causing the upstart job to fail.
[Test Case]
* Regular upgrades using do-release-upgrade or update-manager don't seem to
be affected, so it is best to:
* Obtain the apparmor profile from the 12.10 cups package[1], copy it to
/etc/
start cups'.
* If the bug is not fixed, you will see 'start: Job failed to start'. If it
is fixed, you will see 'cups start/running, process ####'.
[Regression Potential]
* The regression potential is extremely low. The only change is adding '||
exit 0' to a shell script.
[Other Info]
* This has been discussed with the security team, the release team and
foundations and we all agree this is the best fix at this time.
* On upgrades, upstart is unpacked very early (much earlier than cups), so
the new /lib/init/
upstart job is used
* apparmor_parser failure will not remove the old profile when it faces this
error condition, so the program will not go unconfined
On our Jenkins builds we're getting a failure to install the cups package. This seems to be because the apparmor profile looks for suspend capability but the virtualized builders do not have it. Here seems to be the relevant log:
AppArmor parser error for /etc/apparmor.
start: Job failed to start
invoke-rc.d: initscript cups, action "start" failed.
dpkg: error processing cups (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
cups
E: Sub-process /usr/bin/dpkg returned an error code (1)
Full log: https:/
Changed in upstart (Ubuntu): | |
status: | In Progress → Fix Committed |
description: | updated |
description: | updated |
description: | updated |
Changed in cups (Ubuntu): | |
status: | New → Invalid |
Changed in cups (Ubuntu Quantal): | |
status: | Won't Fix → Invalid |
description: | updated |
summary: |
- fails to install when kernel does not provide block_suspend capability + cups fails to install when kernel does not provide block_suspend + capability |
description: | updated |
pitti, can you have a look into this? It is an AppArmor issue.