r14-xdg-update: Enhance script location, replace bashishm, minor changes

Signed-off-by: Matías Fonzo <selk@dragora.org>
pull/136/head
Matías Fonzo 5 years ago
parent 6cfa9a1253
commit 09a76446bb
No known key found for this signature in database
GPG Key ID: 3AAF1CEC203A99D5

@ -2,8 +2,8 @@
# #
# A script to perform R14.0.0 XDG compliance updates. # A script to perform R14.0.0 XDG compliance updates.
SCRIPT_NAME="`basename \`readlink -f $0\``" SCRIPT_NAME="$(basename -- "$0")"
SCRIPT_VERSION=201811010 SCRIPT_VERSION=202003170
# This script should be needed to run only once, but corner cases # This script should be needed to run only once, but corner cases
# and file/directory permissions could cause incomplete updates. # and file/directory permissions could cause incomplete updates.
@ -18,24 +18,25 @@ SCRIPT_VERSION=201811010
Wait_For_Response () { Wait_For_Response () {
unset response unset response
# -r Backslash does not act as an escape character.
# -p Display "PROMPT" without a trailing newline, before attempting to read any input.
while true; do while true; do
read -r -p "$1 (y/n): " yn printf "%s" "$1 (y/n): " > /dev/tty
case $yn in IFS= read -r ANSWER < /dev/tty || exit 1;
[Yy]* ) response=y; break;; case $ANSWER in
[Nn]* ) response=n; break;; y* | Y* ) response=y; break;;
* ) echo "Please answer yes (y/Y) or no (n/N).";; n* | N* ) response=n; break;;
* ) echo "Please answer yes (y/Y) or no (n/N)." > /dev/tty;;
esac esac
done done
unset ANSWER
} }
Proceed_From_Response () { Proceed_From_Response () {
if [ "$response" = "n" -o "$response" = "N" ]; then if [ "$response" = "n" ]; then
echo "Exiting." echo "Exiting."
echo echo
exit 0 exit 0
else else
unset response
echo "Continuing." echo "Continuing."
echo echo
fi fi
@ -126,9 +127,10 @@ fi
# To determine that location use the following method rather than presuming # To determine that location use the following method rather than presuming
# the existence of $TDEDIR. That environment variable might not be # the existence of $TDEDIR. That environment variable might not be
# defined or defined to point to KDE4 binaries. # defined or defined to point to KDE4 binaries.
BIN_DIR="`dirname \`readlink -f $0\``" BIN_DIR="$(dirname -- "$0")"
if [ -x $BIN_DIR/tde-config ]; then if [ -x $BIN_DIR/tde-config ]; then
TDEDIR=${BIN_DIR%/bin} TDEDIR="${BIN_DIR%/bin}"
else else
MESSAGE="Unable to determine the TDE bin directory, where this script should be installed." MESSAGE="Unable to determine the TDE bin directory, where this script should be installed."
# Are we in X? Display an X dialog explaining breakage. # Are we in X? Display an X dialog explaining breakage.
@ -1053,7 +1055,7 @@ fi
TEST_NUM="4" TEST_NUM="4"
R14_UPDATE_TEST4="" R14_UPDATE_TEST4=""
if [ -r "$PROFILE_DIR/share/config/khotkeysrc" ]; then if [ -r "$PROFILE_DIR/share/config/khotkeysrc" ]; then
grep "CommandURL=kde-" "$PROFILE_DIR/share/config/khotkeysrc" &>${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt grep "CommandURL=kde-" "$PROFILE_DIR/share/config/khotkeysrc" > ${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt 2>&1
if [ -s ${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt ]; then if [ -s ${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt ]; then
R14_UPDATE_TEST4="failed" R14_UPDATE_TEST4="failed"
MESSAGE="Some Trinity profile R14 XDG compliance updates failed.\nCheck khotkeysrc for 'CommandURL=kde-' in\n${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt. " MESSAGE="Some Trinity profile R14 XDG compliance updates failed.\nCheck khotkeysrc for 'CommandURL=kde-' in\n${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt. "
@ -1064,7 +1066,7 @@ fi
TEST_NUM="5" TEST_NUM="5"
R14_UPDATE_TEST5="" R14_UPDATE_TEST5=""
if [ -r "$PROFILE_DIR/share/config/khotkeysrc" ]; then if [ -r "$PROFILE_DIR/share/config/khotkeysrc" ]; then
grep "K Menu - kde-" "$PROFILE_DIR/share/config/khotkeysrc" &>${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt grep "K Menu - kde-" "$PROFILE_DIR/share/config/khotkeysrc" > ${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt 2>&1
if [ -s ${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt ]; then if [ -s ${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt ]; then
R14_UPDATE_TEST5="failed" R14_UPDATE_TEST5="failed"
MESSAGE="Some Trinity profile R14 XDG compliance updates failed.\nCheck khotkeysrc for 'K Menu - kde-' in\n${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt. " MESSAGE="Some Trinity profile R14 XDG compliance updates failed.\nCheck khotkeysrc for 'K Menu - kde-' in\n${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt. "
@ -1076,7 +1078,7 @@ fi
TEST_NUM="6" TEST_NUM="6"
R14_UPDATE_TEST6="" R14_UPDATE_TEST6=""
if [ -r $PROFILE_DIR/share/config/profilerc ]; then if [ -r $PROFILE_DIR/share/config/profilerc ]; then
grep "Application=kde-" "$PROFILE_DIR/share/config/profilerc" &>${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt grep "Application=kde-" "$PROFILE_DIR/share/config/profilerc" > ${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt 2>&1
if [ -s ${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt ]; then if [ -s ${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt ]; then
R14_UPDATE_TEST6="failed" R14_UPDATE_TEST6="failed"
MESSAGE="Some Trinity profile R14 XDG compliance updates failed.\nCheck profilerc for 'Application=kde-' in\n${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt. " MESSAGE="Some Trinity profile R14 XDG compliance updates failed.\nCheck profilerc for 'Application=kde-' in\n${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt. "
@ -1088,7 +1090,7 @@ fi
TEST_NUM="7" TEST_NUM="7"
R14_UPDATE_TEST7="" R14_UPDATE_TEST7=""
if [ -r $PROFILE_DIR/share/config/kickerrc ]; then if [ -r $PROFILE_DIR/share/config/kickerrc ]; then
grep "StorageId\[\$e\]=kde-" "$PROFILE_DIR/share/config/kickerrc" &>${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt grep "StorageId\[\$e\]=kde-" "$PROFILE_DIR/share/config/kickerrc" > ${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt 2>&1
if [ -s ${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt ]; then if [ -s ${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt ]; then
R14_UPDATE_TEST7="failed" R14_UPDATE_TEST7="failed"
MESSAGE="Some Trinity profile R14 XDG compliance updates failed.\nCheck kickerrc for 'StorageId[$e]=kde-' in\n${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt. " MESSAGE="Some Trinity profile R14 XDG compliance updates failed.\nCheck kickerrc for 'StorageId[$e]=kde-' in\n${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt. "
@ -1100,7 +1102,7 @@ fi
TEST_NUM="8" TEST_NUM="8"
R14_UPDATE_TEST8="" R14_UPDATE_TEST8=""
if [ "$QUICK_LAUNCH_CONFIG" != "" ]; then if [ "$QUICK_LAUNCH_CONFIG" != "" ]; then
grep "kde-" "$PROFILE_DIR/share/config/$QUICK_LAUNCH_CONFIG" &>${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt grep "kde-" "$PROFILE_DIR/share/config/$QUICK_LAUNCH_CONFIG" > ${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt 2>&1
if [ -s ${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt ]; then if [ -s ${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt ]; then
R14_UPDATE_TEST8="failed" R14_UPDATE_TEST8="failed"
MESSAGE="Some Trinity profile R14 XDG compliance updates failed.\nCheck $QUICK_LAUNCH_CONFIG for 'kde-' in\n${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt. " MESSAGE="Some Trinity profile R14 XDG compliance updates failed.\nCheck $QUICK_LAUNCH_CONFIG for 'kde-' in\n${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt. "
@ -1112,7 +1114,7 @@ fi
TEST_NUM="9" TEST_NUM="9"
R14_UPDATE_TEST9="" R14_UPDATE_TEST9=""
if [ -r $USER_DIR/.config/menus/applications-tdemenuedit.menu ]; then if [ -r $USER_DIR/.config/menus/applications-tdemenuedit.menu ]; then
grep "<Filename>kde-" "$USER_DIR/.config/menus/applications-tdemenuedit.menu" &>${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt grep "<Filename>kde-" "$USER_DIR/.config/menus/applications-tdemenuedit.menu" > ${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt 2>&1
if [ -s ${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt ]; then if [ -s ${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt ]; then
R14_UPDATE_TEST9="failed" R14_UPDATE_TEST9="failed"
MESSAGE="Some Trinity profile R14 XDG compliance updates failed.\nCheck applications-tdemenuedit.menu for '<Filename>kde-' in\n${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt. " MESSAGE="Some Trinity profile R14 XDG compliance updates failed.\nCheck applications-tdemenuedit.menu for '<Filename>kde-' in\n${CACHE_DIR}/${SCRIPT_NAME}-validation-test${TEST_NUM}.txt. "

Loading…
Cancel
Save