EXTRA_DIST = \
lxc-devsetup \
+ lxc-apparmor-load \
lxc.service.in \
lxc-net.service.in \
$(NULL)
mv $@-t $@
BUILT_SOURCES = lxc-autostart-helper lxc.service lxc-net.service
-install-systemd: lxc.service lxc-net.service lxc-devsetup lxc-autostart-helper
+install-systemd: lxc.service lxc-net.service lxc-devsetup lxc-apparmor-load lxc-autostart-helper
$(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR)
$(INSTALL_DATA) lxc.service lxc-net.service $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/lxc-net.service
rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || :
-pkglibexec_SCRIPTS = lxc-devsetup lxc-autostart-helper
+pkglibexec_SCRIPTS = lxc-devsetup lxc-apparmor-load lxc-autostart-helper
install-data-local: install-systemd
uninstall-local: uninstall-systemd
--- /dev/null
+#!/bin/sh
+# lxc-apparmor-load: Load AppArmor profiles, if supported by the system
+
+set -eu
+
+# don't load profiles if mount mediation is not supported
+SYSF=/sys/kernel/security/apparmor/features/mount/mask
+if [ -f $SYSF ]; then
+ if [ -x /lib/init/apparmor-profile-load ]; then
+ /lib/init/apparmor-profile-load usr.bin.lxc-start
+ /lib/init/apparmor-profile-load lxc-containers
+ fi
+fi
+
Type=oneshot
RemainAfterExit=yes
ExecStartPre=@LIBEXECDIR@/lxc/lxc-devsetup
+ExecStartPre=@LIBEXECDIR@/lxc/lxc-apparmor-load
ExecStart=@LIBEXECDIR@/lxc/lxc-autostart-helper start
ExecStop=@LIBEXECDIR@/lxc/lxc-autostart-helper stop
# Environment=BOOTUP=serial