diff --git a/src/Setup/FreeBSD/veracrypt-uninstall.sh b/src/Setup/FreeBSD/veracrypt-uninstall.sh index f773e2b2..aab9a21a 100644 --- a/src/Setup/FreeBSD/veracrypt-uninstall.sh +++ b/src/Setup/FreeBSD/veracrypt-uninstall.sh @@ -6,6 +6,16 @@ removal_failed() { echo "Error: File removal failed, please run the script with elevated privileges." 1>&2 && exit 1 } +update_system_caches() { + if command -v update-mime-database >/dev/null 2>&1; then + update-mime-database /usr/local/share/mime >/dev/null 2>&1 + fi + if command -v update-desktop-database >/dev/null 2>&1; then + update-desktop-database -q >/dev/null 2>&1 + fi + return 0 +} + rm -f /usr/bin/veracrypt || removal_failed rm -f /usr/local/share/applications/veracrypt.desktop || removal_failed rm -f /usr/local/share/pixmaps/veracrypt.xpm || removal_failed @@ -15,11 +25,10 @@ rm -fr /usr/share/doc/veracrypt || removal_failed rm -f /usr/local/share/icons/hicolor/scalable/apps/veracrypt.svg || removal_failed rm -f /usr/local/share/icons/hicolor/symbolic/apps/veracrypt-symbolic.svg || removal_failed for res in 16 22 24 32 48 64 256 512 1024; do \ - rm -f /usr/share/icons/hicolor/${res}x${res}/apps/veracrypt.png || removal_failed ;\ + rm -f /usr/local/share/icons/hicolor/${res}x${res}/apps/veracrypt.png || removal_failed ;\ done rm -f /usr/bin/veracrypt-uninstall.sh || removal_failed -update-mime-database /usr/local/share/mime >/dev/null 2>&1 -update-desktop-database -q +update_system_caches echo VeraCrypt uninstalled. diff --git a/src/Setup/FreeBSD/veracrypt_install_template.sh b/src/Setup/FreeBSD/veracrypt_install_template.sh index f8873979..1a8a758f 100644 --- a/src/Setup/FreeBSD/veracrypt_install_template.sh +++ b/src/Setup/FreeBSD/veracrypt_install_template.sh @@ -117,6 +117,23 @@ show_exit_message() fi } +update_system_caches_command() +{ + if [ "$INSTALLER_TYPE" = "console" ] + then + printf ':' + return 0 + fi + + printf '%s' "if command -v update-mime-database >/dev/null 2>&1; then $SUDO update-mime-database /usr/local/share/mime >/dev/null 2>&1; fi; if command -v update-desktop-database >/dev/null 2>&1; then $SUDO update-desktop-database -q >/dev/null 2>&1; fi" +} + +update_system_caches() +{ + eval "$(update_system_caches_command)" + return 0 +} + # License extraction trap 'rm -f $LICENSE $PACKAGE; exit 1' HUP INT QUIT TERM @@ -1066,26 +1083,30 @@ then if [ $GUI -eq 1 ] then + CACHE_UPDATE_COMMAND=$(update_system_caches_command) + if [ $XTERM -eq 1 ] then - exec xterm -T 'VeraCrypt Setup' -e sh -c "echo Installing package...; $SUDO $PACKAGE_INSTALLER $PACKAGE_INSTALLER_OPTS $PACKAGE && $SUDO rm -f $OBSOLETE_DONATION_BANK_FILES; rm -f $PACKAGE; $SUDO update-mime-database /usr/share/mime >/dev/null 2>&1; $SUDO update-desktop-database -q; echo; echo Press Enter to exit...; read A" + exec xterm -T 'VeraCrypt Setup' -e sh -c "echo Installing package...; $SUDO $PACKAGE_INSTALLER $PACKAGE_INSTALLER_OPTS $PACKAGE && $SUDO rm -f $OBSOLETE_DONATION_BANK_FILES; rm -f $PACKAGE; $CACHE_UPDATE_COMMAND; echo; echo Press Enter to exit...; read A" else if [ $GTERM -eq 1 ] then - exec gnome-terminal --title='VeraCrypt Setup' -- sh -c "echo Installing package...; $SUDO $PACKAGE_INSTALLER $PACKAGE_INSTALLER_OPTS $PACKAGE && $SUDO rm -f $OBSOLETE_DONATION_BANK_FILES; rm -f $PACKAGE; $SUDO update-mime-database /usr/share/mime >/dev/null 2>&1; $SUDO update-desktop-database -q; echo; echo Press Enter to exit...; read A" + exec gnome-terminal --title='VeraCrypt Setup' -- sh -c "echo Installing package...; $SUDO $PACKAGE_INSTALLER $PACKAGE_INSTALLER_OPTS $PACKAGE && $SUDO rm -f $OBSOLETE_DONATION_BANK_FILES; rm -f $PACKAGE; $CACHE_UPDATE_COMMAND; echo; echo Press Enter to exit...; read A" else if [ $KTERM -eq 1 ] then - exec konsole --qwindowtitle 'VeraCrypt Setup' -e sh -c "echo Installing package...; $SUDO $PACKAGE_INSTALLER $PACKAGE_INSTALLER_OPTS $PACKAGE && $SUDO rm -f $OBSOLETE_DONATION_BANK_FILES; rm -f $PACKAGE; $SUDO update-mime-database /usr/share/mime >/dev/null 2>&1; $SUDO update-desktop-database -q; echo; echo Press Enter to exit...; read A" + exec konsole --qwindowtitle 'VeraCrypt Setup' -e sh -c "echo Installing package...; $SUDO $PACKAGE_INSTALLER $PACKAGE_INSTALLER_OPTS $PACKAGE && $SUDO rm -f $OBSOLETE_DONATION_BANK_FILES; rm -f $PACKAGE; $CACHE_UPDATE_COMMAND; echo; echo Press Enter to exit...; read A" fi fi fi else echo 'Installing package...' - $SUDO $PACKAGE_INSTALLER $PACKAGE_INSTALLER_OPTS $PACKAGE && INSTALLED=1 && $SUDO rm -f $OBSOLETE_DONATION_BANK_FILES && $SUDO update-mime-database /usr/share/mime >/dev/null 2>&1 && $SUDO update-desktop-database -q + $SUDO $PACKAGE_INSTALLER $PACKAGE_INSTALLER_OPTS $PACKAGE && INSTALLED=1 if [ $INSTALLED -eq 1 ] then + $SUDO rm -f $OBSOLETE_DONATION_BANK_FILES + update_system_caches show_exit_message '' fi fi diff --git a/src/Setup/Linux/veracrypt-uninstall.sh b/src/Setup/Linux/veracrypt-uninstall.sh index f6def4e7..5bfaa939 100644 --- a/src/Setup/Linux/veracrypt-uninstall.sh +++ b/src/Setup/Linux/veracrypt-uninstall.sh @@ -6,6 +6,16 @@ removal_failed() { echo "Error: File removal failed, please run the script with elevated privileges." 1>&2 && exit 1 } +update_system_caches() { + if command -v update-mime-database >/dev/null 2>&1; then + update-mime-database /usr/share/mime >/dev/null 2>&1 + fi + if command -v update-desktop-database >/dev/null 2>&1; then + update-desktop-database -q >/dev/null 2>&1 + fi + return 0 +} + rm -f /usr/bin/veracrypt || removal_failed rm -f /usr/sbin/mount.veracrypt || removal_failed rm -f /usr/share/applications/veracrypt.desktop || removal_failed @@ -20,7 +30,6 @@ for res in 16 22 24 32 48 64 256 512 1024; do \ done rm -f /usr/bin/veracrypt-uninstall.sh || removal_failed -update-mime-database /usr/share/mime >/dev/null 2>&1 -update-desktop-database -q +update_system_caches echo VeraCrypt uninstalled. diff --git a/src/Setup/Linux/veracrypt_install_template.sh b/src/Setup/Linux/veracrypt_install_template.sh index bbf754a5..2e97f705 100644 --- a/src/Setup/Linux/veracrypt_install_template.sh +++ b/src/Setup/Linux/veracrypt_install_template.sh @@ -121,6 +121,23 @@ show_exit_message() fi } +update_system_caches_command() +{ + if [ "$INSTALLER_TYPE" = "console" ] + then + printf ':' + return 0 + fi + + printf '%s' "if command -v update-mime-database >/dev/null 2>&1; then $SUDO update-mime-database /usr/share/mime >/dev/null 2>&1; fi; if command -v update-desktop-database >/dev/null 2>&1; then $SUDO update-desktop-database -q >/dev/null 2>&1; fi" +} + +update_system_caches() +{ + eval "$(update_system_caches_command)" + return 0 +} + # License extraction trap 'rm -f $LICENSE $PACKAGE; exit 1' HUP INT QUIT TERM @@ -1070,17 +1087,19 @@ then if [ $GUI -eq 1 ] then + CACHE_UPDATE_COMMAND=$(update_system_caches_command) + if [ $XTERM -eq 1 ] then - exec xterm -T 'VeraCrypt Setup' -e sh -c "echo Installing package...; $SUDO $PACKAGE_INSTALLER $PACKAGE_INSTALLER_OPTS $PACKAGE && $SUDO rm -f $OBSOLETE_DONATION_BANK_FILES; rm -f $PACKAGE; $SUDO update-mime-database /usr/share/mime >/dev/null 2>&1; $SUDO update-desktop-database -q; echo; echo Press Enter to exit...; read A" + exec xterm -T 'VeraCrypt Setup' -e sh -c "echo Installing package...; $SUDO $PACKAGE_INSTALLER $PACKAGE_INSTALLER_OPTS $PACKAGE && $SUDO rm -f $OBSOLETE_DONATION_BANK_FILES; rm -f $PACKAGE; $CACHE_UPDATE_COMMAND; echo; echo Press Enter to exit...; read A" else if [ $GTERM -eq 1 ] then - exec gnome-terminal --title='VeraCrypt Setup' -- sh -c "echo Installing package...; $SUDO $PACKAGE_INSTALLER $PACKAGE_INSTALLER_OPTS $PACKAGE && $SUDO rm -f $OBSOLETE_DONATION_BANK_FILES; rm -f $PACKAGE; $SUDO update-mime-database /usr/share/mime >/dev/null 2>&1; $SUDO update-desktop-database -q; echo; echo Press Enter to exit...; read A" + exec gnome-terminal --title='VeraCrypt Setup' -- sh -c "echo Installing package...; $SUDO $PACKAGE_INSTALLER $PACKAGE_INSTALLER_OPTS $PACKAGE && $SUDO rm -f $OBSOLETE_DONATION_BANK_FILES; rm -f $PACKAGE; $CACHE_UPDATE_COMMAND; echo; echo Press Enter to exit...; read A" else if [ $KTERM -eq 1 ] then - exec konsole --qwindowtitle 'VeraCrypt Setup' -e sh -c "echo Installing package...; $SUDO $PACKAGE_INSTALLER $PACKAGE_INSTALLER_OPTS $PACKAGE && $SUDO rm -f $OBSOLETE_DONATION_BANK_FILES; rm -f $PACKAGE; $SUDO update-mime-database /usr/share/mime >/dev/null 2>&1; $SUDO update-desktop-database -q; echo; echo Press Enter to exit...; read A" + exec konsole --qwindowtitle 'VeraCrypt Setup' -e sh -c "echo Installing package...; $SUDO $PACKAGE_INSTALLER $PACKAGE_INSTALLER_OPTS $PACKAGE && $SUDO rm -f $OBSOLETE_DONATION_BANK_FILES; rm -f $PACKAGE; $CACHE_UPDATE_COMMAND; echo; echo Press Enter to exit...; read A" fi fi fi @@ -1091,11 +1110,7 @@ then if [ $INSTALLED -eq 1 ] then $SUDO rm -f $OBSOLETE_DONATION_BANK_FILES - $SUDO update-mime-database /usr/share/mime >/dev/null 2>&1 && $SUDO update-desktop-database -q - fi - - if [ $INSTALLED -eq 1 ] - then + update_system_caches show_exit_message '' fi fi