* Bump the priority for the new name so that we're sure they are correctly used by default and so that the old names are no longer active.
179 lines
7.0 KiB
Bash
179 lines
7.0 KiB
Bash
#!/bin/sh
|
||
set -e
|
||
|
||
|
||
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-remove" ]; then
|
||
# Vendor logo alternative
|
||
update-alternatives --install \
|
||
/usr/share/images/vendor-logos \
|
||
vendor-logos \
|
||
/usr/share/images/kali-logos 210 \
|
||
--slave /usr/share/icons/vendor/64x64/emblems/emblem-vendor.png \
|
||
emblem-vendor-64 \
|
||
/usr/share/icons/desktop-base/64x64/emblems/emblem-kali.png \
|
||
--slave /usr/share/icons/vendor/128x128/emblems/emblem-vendor.png \
|
||
emblem-vendor-128 \
|
||
/usr/share/icons/desktop-base/128x128/emblems/emblem-kali.png \
|
||
--slave /usr/share/icons/vendor/256x256/emblems/emblem-vendor.png \
|
||
emblem-vendor-256 \
|
||
/usr/share/icons/desktop-base/256x256/emblems/emblem-kali.png \
|
||
--slave /usr/share/icons/vendor/scalable/emblems/emblem-vendor.svg \
|
||
emblem-vendor-scalable \
|
||
/usr/share/icons/desktop-base/scalable/emblems/emblem-kali.svg \
|
||
|
||
# Theme package alternatives
|
||
update-alternatives --install \
|
||
/usr/share/desktop-base/active-theme \
|
||
desktop-theme \
|
||
/usr/share/desktop-base/kali-theme 210
|
||
|
||
# Desktop background alternatives
|
||
update-alternatives --install \
|
||
/usr/share/images/desktop-base/desktop-background \
|
||
desktop-background /usr/share/wallpapers/KaliLogo/contents/images/kali-logo-16x9.png 210
|
||
|
||
# Set up an alternative for the XML version of the background
|
||
# (for GNOME)
|
||
update-alternatives --install \
|
||
/usr/share/images/desktop-base/desktop-background.xml \
|
||
desktop-background.xml /usr/share/wallpapers/KaliLogo/gnome-background.xml 210
|
||
|
||
# Set up an alternative for the XML version of the lock screen
|
||
# (for GNOME)
|
||
update-alternatives --install \
|
||
/usr/share/images/desktop-base/desktop-lockscreen.xml \
|
||
desktop-lockscreen.xml /usr/share/wallpapers/KaliLight/gnome-background.xml 210
|
||
|
||
# Set up an alternative for the wallpaper for Plasma 5/KDE
|
||
update-alternatives --install \
|
||
/usr/share/wallpapers/DebianTheme \
|
||
desktop-plasma5-wallpaper /usr/share/wallpapers/KaliLogo 210
|
||
|
||
# Login theme
|
||
# Highest priority for active theme
|
||
update-alternatives --install /usr/share/images/desktop-base/login-background.svg \
|
||
desktop-login-background /usr/share/wallpapers/KaliLight/contents/kali-light.svg 210
|
||
|
||
# Set up an alternative for the GRUB background/colors config
|
||
# Highest priority for active theme
|
||
# Favor widescreen / hi-res background for efi installations detected
|
||
# by the presence of grub-efi* packages (not the grub-efi*-bin which don’t
|
||
# necessary account for grub being the active bootloader).
|
||
if dpkg-query --list grub-efi* | grep -v "^... grub-efi[^[:space:]]*-bin" | grep -q "^[ih][HUFWti] " ; then
|
||
echo "grub-efi* packages found, using 16/9 as default grub background ratio"
|
||
grub_first_ratio="16x9"
|
||
grub_second_ratio="4x3"
|
||
else
|
||
echo "No grub-efi* package found, using 4/3 as default grub background ratio"
|
||
grub_first_ratio="4x3"
|
||
grub_second_ratio="16x9"
|
||
fi
|
||
active_grub_first_ratio=/usr/share/grub/themes/kali/grub-${grub_first_ratio}.png
|
||
active_grub_second_ratio=/usr/share/grub/themes/kali/grub-${grub_second_ratio}.png
|
||
update-alternatives --install \
|
||
/usr/share/images/desktop-base/desktop-grub.png \
|
||
desktop-grub ${active_grub_first_ratio} 210 \
|
||
--slave /usr/share/desktop-base/grub_background.sh \
|
||
desktop-grub.sh /usr/share/grub/themes/kali/grub_background.sh
|
||
update-alternatives --install \
|
||
/usr/share/images/desktop-base/desktop-grub.png \
|
||
desktop-grub ${active_grub_second_ratio} 190 \
|
||
--slave /usr/share/desktop-base/grub_background.sh \
|
||
desktop-grub.sh /usr/share/grub/themes/kali/grub_background.sh
|
||
|
||
# Apply GRUB background update into /boot
|
||
# Try detecting active grub packages (so not -doc, -common, -bin) as a hint
|
||
# that GRUB is being used as bootloader before calling update-grub.
|
||
# Some people use the *-bin packages without using GRUB as bootloader
|
||
# (see #851893 for more context).
|
||
if dpkg-query --list "grub-*" | grep -v "^... grub\(-common\|-emu\|[^[:space:]]*\(-bin\|-doc\)\)" | grep -q "^[ih][HUFWti] " \
|
||
&& which update-grub > /dev/null ; then
|
||
# Ensure the background image file has actually been written to disc
|
||
# before updating.
|
||
sync
|
||
# Report success whatever grub return status. This is needed at least
|
||
# in live systems fon installation to succeed (see #850601).
|
||
# Until we find a better solution like detecting we’re in a live image
|
||
# and not calling update-grub at all.
|
||
update-grub || echo "Updating grub failed, report success anyway!"
|
||
fi
|
||
|
||
if which update-initramfs > /dev/null; then
|
||
update-initramfs -u
|
||
fi
|
||
|
||
fi
|
||
|
||
desktop_base_version=$(dpkg-query -f'${Version}' -W desktop-base 2>/dev/null || true)
|
||
if [ "$1" = "configure" ]; then
|
||
if dpkg --compare-versions "$desktop_base_version" lt-nl 10.0.3+kali3 || \
|
||
dpkg --compare-versions "$2" lt-nl "2019.4.6"; then
|
||
# Remove alternatives for the old theme
|
||
|
||
# Background images
|
||
while read theme filename; do
|
||
update-alternatives --remove \
|
||
desktop-background \
|
||
/usr/share/desktop-base/$theme-theme/wallpaper/contents/images/$filename $priority
|
||
done << EOF
|
||
kali 1024x768.svg
|
||
kali 1280x720.svg
|
||
kali 1280x800.svg
|
||
kali 1280x1024.svg
|
||
kali 1600x1200.svg
|
||
kali 1920x1080.svg
|
||
kali 1920x1200.svg
|
||
kali 2560x1440.svg
|
||
kali 2560x1600.svg
|
||
kali 3840x2160.svg
|
||
EOF
|
||
# Remove gnome-background.xml alternatives
|
||
update-alternatives --remove \
|
||
desktop-background \
|
||
/usr/share/desktop-base/kali-theme/wallpaper/gnome-background.xml
|
||
|
||
# Remove desktop-lockscreen.xml alternatives
|
||
update-alternatives --remove \
|
||
desktop-lockscreen.xml \
|
||
/usr/share/desktop-base/kali-theme/lockscreen/gnome-background.xml
|
||
|
||
# Remove Plasma 5/KDE wallpaper alternatives
|
||
update-alternatives --remove \
|
||
desktop-plasma5-wallpaper \
|
||
/usr/share/desktop-base/kali-theme/wallpaper
|
||
|
||
# Remove login theme alternatives
|
||
update-alternatives --remove \
|
||
desktop-login-background \
|
||
/usr/share/desktop-base/kali-theme/login/background.svg
|
||
|
||
# Remove grub alternatives
|
||
update-alternatives --remove \
|
||
desktop-grub \
|
||
/usr/share/desktop-base/kali-theme/grub/grub-4x3.png
|
||
update-alternatives --remove \
|
||
desktop-grub \
|
||
/usr/share/desktop-base/kali-theme/grub/grub-16x9.png
|
||
|
||
elif dpkg --compare-versions "$2" lt-nl "2020.2.1"; then
|
||
# Remove invalid alternatives that moved to /usr/share/wallpapers/*
|
||
update-alternatives --remove \
|
||
desktop-background \
|
||
/usr/share/backgrounds/kali/kali-logo-16x9.png
|
||
|
||
update-alternatives --remove \
|
||
desktop-background.xml \
|
||
/usr/share/backgrounds/kali/kali-logo.xml
|
||
|
||
update-alternatives --remove \
|
||
desktop-login-background \
|
||
/usr/share/backgrounds/kali/kali-light.svg
|
||
|
||
update-alternatives --remove \
|
||
desktop-lockscreen.xml \
|
||
/usr/share/backgrounds/kali/kali-light.xml
|
||
fi
|
||
fi
|
||
|
||
#DEBHELPER#
|