488f04d387
Improved error logging and added function handling calls with log and return values Improved check for matching sudo rule
47 lines
1.8 KiB
Bash
Executable File
47 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
# SPDX-FileCopyrightText: Daniel Pätzold
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
#
|
|
# Central sofwareinstallation script. Should be called from ""/sys_config/system_setup/sync_client_software.sh install"
|
|
#
|
|
if [ "$EUID" -ne 0 ] || [ "$SUDO_USER." == "." ]; then
|
|
echo "Error: Script requires root privileges and a sudo environment."
|
|
exit 1
|
|
fi
|
|
|
|
#Check Token
|
|
if [ "${DAVTOKEN_USER}." == "." ]; then
|
|
echo "Error: Script cannot be executed standalone and needs a prereserved environement from logon-script."
|
|
echo "To get executed without password prompt, use the NOPASSWD rule in sudo. In FreeIPA you can use the sudo-option !authenticate in the sudo rule."
|
|
echo "Additionally add the sudo command to the rule: ^\/sys_config\/system_setup\/sync_client_software\.sh.*$"
|
|
echo "Press any key to continue" && read -n 1 -s -r && exit 1
|
|
fi
|
|
|
|
echo "Installing additional Software."
|
|
for DIR in $(ls -d /${SCRIPTPATH}/*/ | sort); # list directories in the form "/tmp/dirname/"
|
|
do
|
|
DIR=${DIR%*/} # remove the trailing "/"
|
|
if [ -f "${DIR}/install.sh" ]; then
|
|
echo "*** ==================== ***"
|
|
echo "*** Installing ${DIR##*/} ***" # print everything after the final "/"
|
|
cd ${DIR}
|
|
${DIR}/install.sh
|
|
if [ $? -ne 0 ]; then
|
|
echo "*** ==================== ***"
|
|
echo "Some Error in script, will not continue. Please check."
|
|
echo "Press any key to continue."
|
|
read -n 1 -s -r
|
|
cd ${SCRIPTPATH}
|
|
exit 1
|
|
fi
|
|
echo "*** ==================== ***"
|
|
fi
|
|
done
|
|
cd ${SCRIPTPATH}
|
|
|
|
#Last, remove unused Flatpak- Runtimes and unused Data
|
|
echo "Removing unused Flatpak- Data."
|
|
flatpak uninstall --unused -y
|
|
su -c "flatpak uninstall --delete-data -y" $SUDO_USER
|
|
echo "Sucessfully Installed Software."
|