1
0
mirror of https://github.com/veracrypt/VeraCrypt.git synced 2026-07-06 04:58:01 -05: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:
Mounir IDRASSI
2026-06-18 21:23:17 +09:00
parent 50daadb548
commit 762d965f2d
4 changed files with 71 additions and 17 deletions
@@ -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