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:
@@ -6,6 +6,16 @@ removal_failed() {
|
|||||||
echo "Error: File removal failed, please run the script with elevated privileges." 1>&2 && exit 1
|
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/bin/veracrypt || removal_failed
|
||||||
rm -f /usr/local/share/applications/veracrypt.desktop || removal_failed
|
rm -f /usr/local/share/applications/veracrypt.desktop || removal_failed
|
||||||
rm -f /usr/local/share/pixmaps/veracrypt.xpm || 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/scalable/apps/veracrypt.svg || removal_failed
|
||||||
rm -f /usr/local/share/icons/hicolor/symbolic/apps/veracrypt-symbolic.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 \
|
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
|
done
|
||||||
|
|
||||||
rm -f /usr/bin/veracrypt-uninstall.sh || removal_failed
|
rm -f /usr/bin/veracrypt-uninstall.sh || removal_failed
|
||||||
update-mime-database /usr/local/share/mime >/dev/null 2>&1
|
update_system_caches
|
||||||
update-desktop-database -q
|
|
||||||
|
|
||||||
echo VeraCrypt uninstalled.
|
echo VeraCrypt uninstalled.
|
||||||
|
|||||||
@@ -117,6 +117,23 @@ show_exit_message()
|
|||||||
fi
|
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
|
# License extraction
|
||||||
|
|
||||||
trap 'rm -f $LICENSE $PACKAGE; exit 1' HUP INT QUIT TERM
|
trap 'rm -f $LICENSE $PACKAGE; exit 1' HUP INT QUIT TERM
|
||||||
@@ -1066,26 +1083,30 @@ then
|
|||||||
|
|
||||||
if [ $GUI -eq 1 ]
|
if [ $GUI -eq 1 ]
|
||||||
then
|
then
|
||||||
|
CACHE_UPDATE_COMMAND=$(update_system_caches_command)
|
||||||
|
|
||||||
if [ $XTERM -eq 1 ]
|
if [ $XTERM -eq 1 ]
|
||||||
then
|
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
|
else
|
||||||
if [ $GTERM -eq 1 ]
|
if [ $GTERM -eq 1 ]
|
||||||
then
|
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
|
else
|
||||||
if [ $KTERM -eq 1 ]
|
if [ $KTERM -eq 1 ]
|
||||||
then
|
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
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo 'Installing package...'
|
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 ]
|
if [ $INSTALLED -eq 1 ]
|
||||||
then
|
then
|
||||||
|
$SUDO rm -f $OBSOLETE_DONATION_BANK_FILES
|
||||||
|
update_system_caches
|
||||||
show_exit_message ''
|
show_exit_message ''
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -6,6 +6,16 @@ removal_failed() {
|
|||||||
echo "Error: File removal failed, please run the script with elevated privileges." 1>&2 && exit 1
|
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/bin/veracrypt || removal_failed
|
||||||
rm -f /usr/sbin/mount.veracrypt || removal_failed
|
rm -f /usr/sbin/mount.veracrypt || removal_failed
|
||||||
rm -f /usr/share/applications/veracrypt.desktop || 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
|
done
|
||||||
|
|
||||||
rm -f /usr/bin/veracrypt-uninstall.sh || removal_failed
|
rm -f /usr/bin/veracrypt-uninstall.sh || removal_failed
|
||||||
update-mime-database /usr/share/mime >/dev/null 2>&1
|
update_system_caches
|
||||||
update-desktop-database -q
|
|
||||||
|
|
||||||
echo VeraCrypt uninstalled.
|
echo VeraCrypt uninstalled.
|
||||||
|
|||||||
@@ -121,6 +121,23 @@ show_exit_message()
|
|||||||
fi
|
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
|
# License extraction
|
||||||
|
|
||||||
trap 'rm -f $LICENSE $PACKAGE; exit 1' HUP INT QUIT TERM
|
trap 'rm -f $LICENSE $PACKAGE; exit 1' HUP INT QUIT TERM
|
||||||
@@ -1070,17 +1087,19 @@ then
|
|||||||
|
|
||||||
if [ $GUI -eq 1 ]
|
if [ $GUI -eq 1 ]
|
||||||
then
|
then
|
||||||
|
CACHE_UPDATE_COMMAND=$(update_system_caches_command)
|
||||||
|
|
||||||
if [ $XTERM -eq 1 ]
|
if [ $XTERM -eq 1 ]
|
||||||
then
|
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
|
else
|
||||||
if [ $GTERM -eq 1 ]
|
if [ $GTERM -eq 1 ]
|
||||||
then
|
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
|
else
|
||||||
if [ $KTERM -eq 1 ]
|
if [ $KTERM -eq 1 ]
|
||||||
then
|
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
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -1091,11 +1110,7 @@ then
|
|||||||
if [ $INSTALLED -eq 1 ]
|
if [ $INSTALLED -eq 1 ]
|
||||||
then
|
then
|
||||||
$SUDO rm -f $OBSOLETE_DONATION_BANK_FILES
|
$SUDO rm -f $OBSOLETE_DONATION_BANK_FILES
|
||||||
$SUDO update-mime-database /usr/share/mime >/dev/null 2>&1 && $SUDO update-desktop-database -q
|
update_system_caches
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $INSTALLED -eq 1 ]
|
|
||||||
then
|
|
||||||
show_exit_message ''
|
show_exit_message ''
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user