summaryrefslogtreecommitdiff
path: root/nonsystemd
diff options
context:
space:
mode:
Diffstat (limited to 'nonsystemd')
-rw-r--r--nonsystemd/apparmor-openrc/PKGBUILD19
-rw-r--r--nonsystemd/apparmor-openrc/apparmor.initd91
2 files changed, 110 insertions, 0 deletions
diff --git a/nonsystemd/apparmor-openrc/PKGBUILD b/nonsystemd/apparmor-openrc/PKGBUILD
new file mode 100644
index 000000000..fb6229c98
--- /dev/null
+++ b/nonsystemd/apparmor-openrc/PKGBUILD
@@ -0,0 +1,19 @@
+# Maintainer: artoo <artoo@artixlinux.org>
+
+pkgname=apparmor-openrc
+pkgver=20210506
+pkgrel=1
+pkgdesc="OpenRC apparmor init script"
+arch=('any')
+url="https://gitea.artixlinux.org/artixlinux/packages-openrc"
+license=('GPL2')
+groups=('openrc-world')
+provides=('init-apparmor')
+depends=('openrc' 'apparmor')
+conflicts=('init-apparmor')
+source=("apparmor.initd")
+sha256sums=('ba7601a738761a3f27278a7508ae32463f7097c597f0806931983ef6af2a5d3a')
+
+package() {
+ install -Dm755 "${srcdir}"/apparmor.initd "${pkgdir}"/etc/init.d/apparmor
+}
diff --git a/nonsystemd/apparmor-openrc/apparmor.initd b/nonsystemd/apparmor-openrc/apparmor.initd
new file mode 100644
index 000000000..773aa5347
--- /dev/null
+++ b/nonsystemd/apparmor-openrc/apparmor.initd
@@ -0,0 +1,91 @@
+#!/usr/bin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Load all configured profiles for the AppArmor security module."
+description_reload="Reload all profiles"
+
+extra_started_commands="reload"
+
+aa_action() {
+ local arg=$1
+ local return
+
+ shift
+ $*
+ return=$?
+
+ if [ ${return} -eq 0 ]; then
+ aa_log_success_msg $arg
+ else
+ aa_log_failure_msg arg
+ fi
+
+ return $return
+}
+
+aa_log_action_start() {
+ ebegin $1
+}
+
+aa_log_action_end() {
+ eend $1
+}
+
+aa_log_success_msg() {
+ einfo $1
+}
+
+aa_log_warning_msg() {
+ ewarn $1
+}
+
+aa_log_failure_msg() {
+ eerror $1
+}
+
+aa_log_skipped_msg() {
+ einfo $1
+}
+
+aa_log_daemon_msg() {
+ einfo $1
+}
+
+aa_log_end_msg() {
+ eend $1
+}
+
+. /usr/lib/apparmor/rc.apparmor.functions
+
+start() {
+ ebegin "Starting AppArmor"
+ eindent
+
+ if ! is_apparmor_loaded ; then
+ load_module
+ if [ $? -ne 0 ]; then
+ eerror "AppArmor kernel support is not present"
+ eend 1
+ return 1
+ fi
+ fi
+
+ parse_profiles load
+
+ eoutdent
+}
+
+stop() {
+ ebegin "Stopping AppArmor"
+ eindent
+ apparmor_stop
+ eoutdent
+}
+
+reload() {
+ # todo: split out clean_profiles into its own function upstream
+ # so we can do parse_profiles reload && clean_profiles
+ # and do a proper reload instead of restart
+ apparmor_restart
+}