summaryrefslogtreecommitdiffstats
path: root/satellit_upgrader/updater.template.sh
diff options
context:
space:
mode:
Diffstat (limited to 'satellit_upgrader/updater.template.sh')
-rw-r--r--satellit_upgrader/updater.template.sh13
1 files changed, 12 insertions, 1 deletions
diff --git a/satellit_upgrader/updater.template.sh b/satellit_upgrader/updater.template.sh
index debfdec..ca9f89a 100644
--- a/satellit_upgrader/updater.template.sh
+++ b/satellit_upgrader/updater.template.sh
@@ -68,8 +68,10 @@ restart_service () {
}
# ** Recursively set permissions of given directory to 0755/0644 optionally setting owner/group
+# ** If directory is not there it will be mkdir'ed.
fixperms () {
[ -e "$1" ] || perror "normalize_perms: $1 does not exist"
+ [ -d "$1" ] || mkdir -p "$1"
chmod -R a-rw,u+rwX,go+rX "$1"
if [ -n "$2" ]; then
chown -R "$2" "$1" || pwarning "Could not change owner of $1 to $2"
@@ -88,6 +90,7 @@ declare -rg PAYLOAD_OFFSET="%PAYLOAD_OFFSET%"
# ** Constants - hardcoded or determined at runtime
declare -rg PATH_SLXADMIN="/srv/openslx/www/slx-admin"
+declare -rg PATH_SLXADMINCACHE="/var/cache/slx-admin"
declare -rg PATH_DOZMOD="/opt/dmsd"
declare -rg PATH_TASKMANAGER="/opt/taskmanager"
declare -rg PATH_TFTP="/srv/openslx/tftp"
@@ -227,9 +230,17 @@ if [ -n "$TGZ_SLXADMIN" ]; then
fi
ln -s -f "$PATH_TFTP" "/srv/openslx/www/tftp" || perror "Could not symlink $PATH_TFTP to /srv/openslx/www/tftp"
echo "Web interface upgrade complete"
+ fixperms "${PATH_SLXADMINCACHE}" www-data:www-data
+
+ if [ -h "${PATH_SLXADMINCACHE}/baseconfig-bwidm_settings.json" ]; then
+ pwarning "There is already a link or file /srv/openslx/www/slx-admin/modules-available/baseconfig_bwidm/baseconfig/settings.json. Please check manually, it should lead to /srv/openslx/www/slx-admin/modules-available/baseconfig_bwidm/baseconfig/settings.json"
+ else
+ ln -s /srv/openslx/www/slx-admin/modules-available/baseconfig_bwidm/baseconfig/settings.json "${PATH_SLXADMINCACHE}/baseconfig-bwidm_settings.json" || \
+ pwarning "Could not set link ${PATH_SLXADMINCACHE}/baseconfig-bwidm_settings.json to /srv/openslx/www/slx-admin/modules-available/baseconfig_bwidm/baseconfig/settings.json - do so manually"
+ fi
fi
-# ************************* Dozmod *************************
+#************************* Dozmod *************************
if [ -n "$TGZ_DOZMOD" ]; then
[ -e "$TMPDIR/$TGZ_DOZMOD" ] || perror "$TGZ_DOZMOD missing from payload."
echo "* Dozentenmodul"