mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2026-06-09 21:22:41 +00:00
Linux : make desktop cache updates optional in installers
Skip desktop/MIME cache refresh for console installers, where no desktop integration files are installed. Guard update-mime-database and update-desktop-database calls so minimal systems without desktop-file-utils do not print post-install errors. Apply the same best-effort cache refresh behavior to FreeBSD generic scripts for parity. Also fix the FreeBSD uninstall script to remove the per-resolution PNG icons from /usr/local/share/icons, matching where they are installed.
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user