53 lines
2.1 KiB
Bash
Executable File
53 lines
2.1 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 P1 is given, only installs will be executed, that are containing the P1 string in their dirname
|
|
#
|
|
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 ${CLIENT_SOFTWARE_DST}/*/ | sort); # list directories in the form "/tmp/dirname/"
|
|
do
|
|
DIR=${DIR%*/} # remove the trailing "/"
|
|
if [[ "$1." != "." ]] && [[ "${DIR}" != *"$1"* ]]; then
|
|
#search for string in dir
|
|
echo "Skipping ${DIR} while not in search parameter ( $1 )."
|
|
continue
|
|
fi
|
|
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."
|