* Delete 0001-Autostart.patch * Update apparmor.mk * Update Config.in * Create hassio-apparmor * Update hassio-apparmor * Update data.conf * Delete etc-apparmor.d-containers.mount * Delete etc-apparmor.d-containers.mount * Delete hassio.conf * Update hassio-apparmor * Update Config.in * Update Config.in * Update hassio.mk * Update hostapp.sh * Update Config.in * Update hassio.mk * Update hassio.mk * Create hassio-supervisor * Update hassio-apparmor * Update hassio-apparmor * Update hassio-apparmor * Update hassio-supervisor * Update hassio-cli * Update hassio-apparmor * Update hassio-apparmor * Create hassio-apparmor.service * Update hassio-apparmor.service * Delete apparmor.service * Update local stuff * Profile for CLI * Update hassio.mk * Update hassio.mk * Update hassio-supervisor * Update hassio-apparmor
48 lines
1015 B
Bash
Executable File
48 lines
1015 B
Bash
Executable File
#!/bin/sh
|
|
set -e
|
|
|
|
# Load configs
|
|
CONFIG_FILE=/mnt/data/hassio.json
|
|
|
|
# Read configs
|
|
PROFILES_DIR="$(jq --raw-output '.apparmor // empty' ${CONFIG_FILE})"
|
|
if [ -z "${PROFILES_DIR}" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
PROFILES_DIR="/mnt/data/${PROFILES_DIR}"
|
|
CACHE_DIR="${PROFILES_DIR}/cache"
|
|
REMOVE_DIR="${PROFILES_DIR}/remove"
|
|
|
|
# Check folder structure
|
|
mkdir -p ${PROFILES_DIR}
|
|
mkdir -p ${CACHE_DIR}
|
|
mkdir -p ${REMOVE_DIR}
|
|
|
|
# Load/Update exists/new profiles
|
|
for profile in ${PROFILES_DIR}/*; do
|
|
if [ ! -f ${profile} ]; then
|
|
continue
|
|
fi
|
|
|
|
# Load Profile
|
|
if ! apparmor_parser -r -W -L ${CACHE_DIR} ${profile}; then
|
|
echo "[Error]: Can't load profile ${profile}"
|
|
fi
|
|
done
|
|
|
|
# Cleanup old profiles
|
|
for profile in ${REMOVE_DIR}/*; do
|
|
if [ ! -f ${profile} ]; then
|
|
continue
|
|
fi
|
|
|
|
# Unload Profile
|
|
if apparmor_parser -R -W -L ${CACHE_DIR} ${profile}; then
|
|
if rm ${profile}; then
|
|
continue
|
|
fi
|
|
fi
|
|
echo "[Error]: Can't remove profile ${profile}"
|
|
done
|