Linux/FreeBSD: stop installing symbolic app icon

Do not package veracrypt-symbolic.svg under hicolor symbolic icons, as KDE may prefer it for AppIndicator tray items and render a black monochrome icon.

Remove the obsolete symbolic icon during generic installer upgrades and refresh the hicolor icon cache after install or uninstall cleanup.
This commit is contained in:
Mounir IDRASSI
2026-06-20 07:31:08 +09:00
parent 3650fdfca4
commit ee0d67ad16
10 changed files with 68 additions and 19 deletions
+5
View File
@@ -322,8 +322,10 @@ if ( ( PLATFORM STREQUAL "Debian" ) OR ( PLATFORM STREQUAL "Ubuntu" ) )
file( MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Packaging/debian-control)
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/Packaging/debian-control/postinst ${CMAKE_CURRENT_BINARY_DIR}/Packaging/debian-control/postinst)
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/Packaging/debian-control/prerm ${CMAKE_CURRENT_BINARY_DIR}/Packaging/debian-control/prerm)
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/Packaging/debian-control/postrm ${CMAKE_CURRENT_BINARY_DIR}/Packaging/debian-control/postrm)
set( DEBIAN_POSTINST ${CMAKE_CURRENT_BINARY_DIR}/Packaging/debian-control/postinst)
set( DEBIAN_PRERM ${CMAKE_CURRENT_BINARY_DIR}/Packaging/debian-control/prerm)
set( DEBIAN_POSTRM ${CMAKE_CURRENT_BINARY_DIR}/Packaging/debian-control/postrm)
set( CPACK_GENERATOR "DEB" ) # mandatory
@@ -420,8 +422,10 @@ elseif ( ( PLATFORM STREQUAL "CentOS" ) OR ( PLATFORM STREQUAL "openSUSE" ) OR (
file( MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Packaging/rpm-control)
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/Packaging/rpm-control/postinstall.sh ${CMAKE_CURRENT_BINARY_DIR}/Packaging/rpm-control/postinstall.sh)
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/Packaging/rpm-control/prerm.sh ${CMAKE_CURRENT_BINARY_DIR}/Packaging/rpm-control/prerm.sh)
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/Packaging/rpm-control/postuninstall.sh ${CMAKE_CURRENT_BINARY_DIR}/Packaging/rpm-control/postuninstall.sh)
set( RPM_POSTINSTALL ${CMAKE_CURRENT_BINARY_DIR}/Packaging/rpm-control/postinstall.sh)
set( RPM_PRERM ${CMAKE_CURRENT_BINARY_DIR}/Packaging/rpm-control/prerm.sh)
set( RPM_POSTUNINSTALL ${CMAKE_CURRENT_BINARY_DIR}/Packaging/rpm-control/postuninstall.sh)
set( CPACK_GENERATOR "RPM" ) # mandatory
# Reproducible RPM: CPackRPM does not consume SOURCE_DATE_EPOCH on its own.
@@ -481,6 +485,7 @@ elseif ( ( PLATFORM STREQUAL "CentOS" ) OR ( PLATFORM STREQUAL "openSUSE" ) OR (
set( CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE ${RPM_PRERM}) # optional
set( CPACK_RPM_POST_INSTALL_SCRIPT_FILE ${RPM_POSTINSTALL}) # optional
set( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE ${RPM_POSTUNINSTALL}) # optional
# Prevents CPack from generating file conflicts
# This is to avoid having %dir of these directories in the .spec file
+6 -1
View File
@@ -6,6 +6,11 @@ rm -f \
/usr/share/doc/veracrypt/HTML/ru/Donation_Bank.html \
/usr/share/doc/veracrypt/HTML/ru/bank_30x30.png \
/usr/share/doc/veracrypt/HTML/zh-cn/Donation_Bank.html \
/usr/share/doc/veracrypt/HTML/zh-cn/bank_30x30.png || true
/usr/share/doc/veracrypt/HTML/zh-cn/bank_30x30.png \
/usr/share/icons/hicolor/symbolic/apps/veracrypt-symbolic.svg || true
if command -v gtk-update-icon-cache >/dev/null 2>&1; then
gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor >/dev/null 2>&1 || true
fi
exit 0
+7
View File
@@ -0,0 +1,7 @@
#!/bin/sh
if command -v gtk-update-icon-cache >/dev/null 2>&1; then
gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor >/dev/null 2>&1 || true
fi
exit 0
@@ -6,6 +6,11 @@ rm -f \
/usr/share/doc/veracrypt/HTML/ru/Donation_Bank.html \
/usr/share/doc/veracrypt/HTML/ru/bank_30x30.png \
/usr/share/doc/veracrypt/HTML/zh-cn/Donation_Bank.html \
/usr/share/doc/veracrypt/HTML/zh-cn/bank_30x30.png || true
/usr/share/doc/veracrypt/HTML/zh-cn/bank_30x30.png \
/usr/share/icons/hicolor/symbolic/apps/veracrypt-symbolic.svg || true
if command -v gtk-update-icon-cache >/dev/null 2>&1; then
gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor >/dev/null 2>&1 || true
fi
exit 0
+7
View File
@@ -0,0 +1,7 @@
#!/bin/sh
if command -v gtk-update-icon-cache >/dev/null 2>&1; then
gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor >/dev/null 2>&1 || true
fi
exit 0
+18 -4
View File
@@ -424,10 +424,8 @@ endif
ifneq "$(INSTALL_ICONS)" "0"
mkdir -p $(BASE_DIR)/Setup/Linux/usr/share/pixmaps
mkdir -p $(BASE_DIR)/Setup/Linux/usr/share/icons/hicolor/scalable/apps
mkdir -p $(BASE_DIR)/Setup/Linux/usr/share/icons/hicolor/symbolic/apps
cp $(BASE_DIR)/Resources/Icons/VeraCrypt-256x256.xpm $(BASE_DIR)/Setup/Linux/usr/share/pixmaps/$(APPNAME).xpm
cp $(BASE_DIR)/Resources/Icons/VeraCrypt.svg $(BASE_DIR)/Setup/Linux/usr/share/icons/hicolor/scalable/apps/$(APPNAME).svg
cp $(BASE_DIR)/Resources/Icons/VeraCrypt-symbolic.svg $(BASE_DIR)/Setup/Linux/usr/share/icons/hicolor/symbolic/apps/$(APPNAME)-symbolic.svg
for res in 16 22 24 32 48 64 256 512 1024; do \
mkdir -p $(BASE_DIR)/Setup/Linux/usr/share/icons/hicolor/$${res}x$${res}/apps ;\
@@ -589,6 +587,16 @@ endif
cp -P "$$_src" "$(DESTDIR)/usr/"; \
fi; \
done
ifeq "$(DESTDIR)" ""
ifndef TC_NO_GUI
ifneq "$(INSTALL_ICONS)" "0"
rm -f /usr/share/icons/hicolor/symbolic/apps/$(APPNAME)-symbolic.svg || true
@if command -v gtk-update-icon-cache >/dev/null 2>&1; then \
gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor >/dev/null 2>&1 || true; \
fi
endif
endif
endif
ifeq "$(TC_BUILD_CONFIG)" "Release"
package: prepare
@@ -727,10 +735,8 @@ ifndef TC_NO_GUI
mkdir -p $(BASE_DIR)/Setup/FreeBSD/usr/local/share/pixmaps
mkdir -p $(BASE_DIR)/Setup/FreeBSD/usr/local/share/icons/hicolor/scalable/apps
mkdir -p $(BASE_DIR)/Setup/FreeBSD/usr/local/share/icons/hicolor/symbolic/apps
cp $(BASE_DIR)/Resources/Icons/VeraCrypt-256x256.xpm $(BASE_DIR)/Setup/FreeBSD/usr/local/share/pixmaps/$(APPNAME).xpm
cp $(BASE_DIR)/Resources/Icons/VeraCrypt.svg $(BASE_DIR)/Setup/FreeBSD/usr/local/share/icons/hicolor/scalable/apps/$(APPNAME).svg
cp $(BASE_DIR)/Resources/Icons/VeraCrypt-symbolic.svg $(BASE_DIR)/Setup/FreeBSD/usr/local/share/icons/hicolor/symbolic/apps/$(APPNAME)-symbolic.svg
for res in 16 22 24 32 48 64 256 512 1024; do \
mkdir -p $(BASE_DIR)/Setup/FreeBSD/usr/local/share/icons/hicolor/$${res}x$${res}/apps ;\
@@ -746,6 +752,14 @@ ifneq "$(DESTDIR)" ""
mkdir -p $(DESTDIR)
endif
cp -R $(BASE_DIR)/Setup/FreeBSD/usr $(DESTDIR)/.
ifeq "$(DESTDIR)" ""
ifndef TC_NO_GUI
rm -f /usr/local/share/icons/hicolor/symbolic/apps/$(APPNAME)-symbolic.svg || true
@if PATH=$$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin; command -v gtk-update-icon-cache >/dev/null 2>&1; then \
PATH=$$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin gtk-update-icon-cache -q -t -f /usr/local/share/icons/hicolor >/dev/null 2>&1 || true; \
fi
endif
endif
ifeq "$(TC_BUILD_CONFIG)" "Release"
package: prepare
+3
View File
@@ -1,4 +1,6 @@
#!/bin/sh
PATH=$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
V="$(mount | grep veracrypt_aux_mnt)"
[ "$V" ] && echo "Error: All volumes must be dismounted first." 1>&2 && exit 1
@@ -27,6 +29,7 @@ rm -f /usr/local/share/icons/hicolor/symbolic/apps/veracrypt-symbolic.svg || rem
for res in 16 22 24 32 48 64 256 512 1024; do \
rm -f /usr/local/share/icons/hicolor/${res}x${res}/apps/veracrypt.png || removal_failed ;\
done
gtk-update-icon-cache -q -t -f /usr/local/share/icons/hicolor >/dev/null 2>&1 || true
rm -f /usr/bin/veracrypt-uninstall.sh || removal_failed
update_system_caches
@@ -10,13 +10,14 @@
# code distribution packages.
#
PATH=$PATH:/usr/bin:/bin:/usr/sbin:/sbin:/usr/bin/X11
PATH=$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/bin/X11
PACKAGE_DIR=$(dirname $(mktemp))
PACKAGE=$PACKAGE_DIR/$PACKAGE_NAME
umask 022
OBSOLETE_DONATION_BANK_FILES="/usr/share/doc/veracrypt/HTML/en/Donation_Bank.html /usr/share/doc/veracrypt/HTML/en/bank_30x30.png /usr/share/doc/veracrypt/HTML/ru/Donation_Bank.html /usr/share/doc/veracrypt/HTML/ru/bank_30x30.png /usr/share/doc/veracrypt/HTML/zh-cn/Donation_Bank.html /usr/share/doc/veracrypt/HTML/zh-cn/bank_30x30.png"
OBSOLETE_SYMBOLIC_ICON_FILES="/usr/local/share/icons/hicolor/symbolic/apps/veracrypt-symbolic.svg"
# Terminal setup
@@ -121,11 +122,11 @@ update_system_caches_command()
{
if [ "$INSTALLER_TYPE" = "console" ]
then
printf ':'
printf '%s' "if command -v gtk-update-icon-cache >/dev/null 2>&1; then $SUDO gtk-update-icon-cache -q -t -f /usr/local/share/icons/hicolor >/dev/null 2>&1 || true; fi"
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"
printf '%s' "if command -v gtk-update-icon-cache >/dev/null 2>&1; then $SUDO gtk-update-icon-cache -q -t -f /usr/local/share/icons/hicolor >/dev/null 2>&1 || true; fi; 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()
@@ -1087,15 +1088,15 @@ then
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; $CACHE_UPDATE_COMMAND; 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 $OBSOLETE_SYMBOLIC_ICON_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; $CACHE_UPDATE_COMMAND; 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 $OBSOLETE_SYMBOLIC_ICON_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; $CACHE_UPDATE_COMMAND; 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 $OBSOLETE_SYMBOLIC_ICON_FILES; rm -f $PACKAGE; $CACHE_UPDATE_COMMAND; echo; echo Press Enter to exit...; read A"
fi
fi
fi
@@ -1105,7 +1106,7 @@ then
if [ $INSTALLED -eq 1 ]
then
$SUDO rm -f $OBSOLETE_DONATION_BANK_FILES
$SUDO rm -f $OBSOLETE_DONATION_BANK_FILES $OBSOLETE_SYMBOLIC_ICON_FILES
update_system_caches
show_exit_message ''
fi
+1
View File
@@ -28,6 +28,7 @@ rm -f /usr/share/icons/hicolor/symbolic/apps/veracrypt-symbolic.svg || removal_f
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 ;\
done
gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor >/dev/null 2>&1 || true
rm -f /usr/bin/veracrypt-uninstall.sh || removal_failed
update_system_caches
@@ -17,6 +17,7 @@ PACKAGE=$PACKAGE_DIR/$PACKAGE_NAME
umask 022
OBSOLETE_DONATION_BANK_FILES="/usr/share/doc/veracrypt/HTML/en/Donation_Bank.html /usr/share/doc/veracrypt/HTML/en/bank_30x30.png /usr/share/doc/veracrypt/HTML/ru/Donation_Bank.html /usr/share/doc/veracrypt/HTML/ru/bank_30x30.png /usr/share/doc/veracrypt/HTML/zh-cn/Donation_Bank.html /usr/share/doc/veracrypt/HTML/zh-cn/bank_30x30.png"
OBSOLETE_SYMBOLIC_ICON_FILES="/usr/share/icons/hicolor/symbolic/apps/veracrypt-symbolic.svg"
# Terminal setup
@@ -125,11 +126,11 @@ update_system_caches_command()
{
if [ "$INSTALLER_TYPE" = "console" ]
then
printf ':'
printf '%s' "if command -v gtk-update-icon-cache >/dev/null 2>&1; then $SUDO gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor >/dev/null 2>&1 || true; fi"
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"
printf '%s' "if command -v gtk-update-icon-cache >/dev/null 2>&1; then $SUDO gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor >/dev/null 2>&1 || true; fi; 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()
@@ -1091,15 +1092,15 @@ then
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; $CACHE_UPDATE_COMMAND; 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 $OBSOLETE_SYMBOLIC_ICON_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; $CACHE_UPDATE_COMMAND; 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 $OBSOLETE_SYMBOLIC_ICON_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; $CACHE_UPDATE_COMMAND; 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 $OBSOLETE_SYMBOLIC_ICON_FILES; rm -f $PACKAGE; $CACHE_UPDATE_COMMAND; echo; echo Press Enter to exit...; read A"
fi
fi
fi
@@ -1109,7 +1110,7 @@ then
if [ $INSTALLED -eq 1 ]
then
$SUDO rm -f $OBSOLETE_DONATION_BANK_FILES
$SUDO rm -f $OBSOLETE_DONATION_BANK_FILES $OBSOLETE_SYMBOLIC_ICON_FILES
update_system_caches
show_exit_message ''
fi