forked from obel1x/fedora-OEMDRV
Introduce client_software_cust
For customer setups, the software repository was split into client_software and client_software_cust. Obsoleted sync for client_software.
This commit is contained in:
@@ -130,16 +130,51 @@ if [[ ! -z "${DISTCONFIGPATH_SRC}" ]]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
#Check if Repository is defined
|
||||
if [ "${CLIENT_SOFTWARE_DST}." == "." ]; then
|
||||
echo "No central softwarerepository defined (CLIENT_SOFTWARE_DST). Skipping sync."
|
||||
echo "Running all software scripts in admin- context."
|
||||
# Run pre installed scripts in client_software
|
||||
echo "Running pre installed scripts first."
|
||||
for DIR in $(ls -d ${SYSCONFIGPATH}/client_software/*/ | sort); 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 " >>> Running ${DIR}/install.sh"
|
||||
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
|
||||
exit 1
|
||||
fi
|
||||
echo " ===================="
|
||||
fi
|
||||
done
|
||||
echo "Sucessfully installed pre-defined software."
|
||||
echo
|
||||
|
||||
# Repository must be the right path (but maybe empty, which is fine)
|
||||
if [ "${CLIENT_SOFTWARE_CUST_DST}" != "${SYSCONFIGPATH}/client_software_cust" ]; then
|
||||
echo "Error in config: Required parameter CLIENT_SOFTWARE_CUST_DST is missing or set wrong."
|
||||
echo "Please relog and if the problem reoccures, contact your system admins to correct the Values."
|
||||
read -n 1 -s -r -p "Press any key to continue"
|
||||
echo ""
|
||||
exit 1
|
||||
else
|
||||
# Then, sync all client_software-files
|
||||
if [[ ! -z "${CLIENT_SOFTWARE_SRC}" ]]; then
|
||||
echo "Syncing central softwarerepository ${CLIENT_SOFTWARE_DST}"
|
||||
if [[ -z "${CLIENT_SOFTWARE_CUST_SRC}" ]]; then
|
||||
echo "No customer software sync is defined, skipping sync"
|
||||
echo "${CLIENT_SOFTWARE_CUST_DST} with ${CLIENT_SOFTWARE_CUST_SRC}"
|
||||
else
|
||||
echo "Syncing customer software repository ${CLIENT_SOFTWARE_CUST_DST}"
|
||||
# Create Directory if not existent
|
||||
mkdir -p ${CLIENT_SOFTWARE_DST}
|
||||
SYNCCMD="sudo -i /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=nextcloudcmd com.nextcloud.desktopclient.nextcloud -h -u ${DAVTOKEN_USER} -p ${DAVTOKEN_PASS} --path ${CLIENT_SOFTWARE_SRC} ${CLIENT_SOFTWARE_DST} https://${SERVERFQDN_NC}"
|
||||
mkdir -p ${CLIENT_SOFTWARE_CUST_DST}
|
||||
SYNCCMD="sudo -i /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=nextcloudcmd com.nextcloud.desktopclient.nextcloud -h -u ${DAVTOKEN_USER} -p ${DAVTOKEN_PASS} --path ${CLIENT_SOFTWARE_CUST_SRC} ${CLIENT_SOFTWARE_CUST_DST} https://${SERVERFQDN_NC}"
|
||||
SYNCCMD_HIDDENPW=$( echo "${SYNCCMD/${DAVTOKEN_PASS}/***HIDDEN***}" )
|
||||
echo "Exec: ${SYNCCMD_HIDDENPW}"
|
||||
echo "Sync Client Software"
|
||||
@@ -155,19 +190,20 @@ else
|
||||
exit 1
|
||||
fi
|
||||
echo "Sucessfully synced."
|
||||
|
||||
# After sync again, restore the rights to all filles. They must be owned by root, changeable by admingroup and readable by otherusers (we are root, so we can change!)
|
||||
chown root:${CLIENTADMINGROUP} -R ${SYSCONFIGPATH}
|
||||
chmod ug+rwX,o=rX -R ${SYSCONFIGPATH}
|
||||
fi
|
||||
echo ""
|
||||
fi
|
||||
echo
|
||||
|
||||
# After sync again, restore the rights to all filles. They must be owned by root, changeable by admingroup and readable by otherusers (we are root, so we can change!)
|
||||
chown root:${CLIENTADMINGROUP} -R ${SYSCONFIGPATH}
|
||||
chmod ug+rwX,o=rX -R ${SYSCONFIGPATH}
|
||||
#Make all install.sh executable
|
||||
find ${CLIENT_SOFTWARE_DST} -type f -name install.sh -exec chmod ugo+x {} \;
|
||||
|
||||
#Run Software setup
|
||||
#Run customer setup
|
||||
if [ ! -z "${CLIENT_SOFTWARE_CUST_DST}" ]; then
|
||||
echo "Running all software scripts in admin- context."
|
||||
for DIR in $(ls -d ${CLIENT_SOFTWARE_DST}/*/ | sort); # list directories in the form "/tmp/dirname/"
|
||||
do
|
||||
#Make all install.sh executable
|
||||
find ${CLIENT_SOFTWARE_CUST_DST} -type f -name install.sh -exec chmod ugo+x {} \;
|
||||
for DIR in $(ls -d ${CLIENT_SOFTWARE_CUST_DST}/*/ | sort); do
|
||||
DIR=${DIR%*/} # remove the trailing "/"
|
||||
if [[ "$1." != "." ]] && [[ "${DIR}" != *"$1"* ]]; then
|
||||
#search for string in dir
|
||||
@@ -189,12 +225,12 @@ else
|
||||
echo " ===================="
|
||||
fi
|
||||
done
|
||||
|
||||
#Last, remove unused Flatpak- Runtimes and unused Data
|
||||
echo "Removing unused Flatpak- Data."
|
||||
flatpak uninstall --unused -y
|
||||
|
||||
echo "Sucessfully installed software."
|
||||
fi
|
||||
|
||||
#Last, remove unused Flatpak- Runtimes and unused Data
|
||||
echo "Removing unused Flatpak- Data."
|
||||
flatpak uninstall --unused -y
|
||||
|
||||
echo "Sucessfully installed software."
|
||||
echo ""
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user