kaliish-orange-theme/debian/kali-desktop-base.postinst
Raphaël Hertzog 3f6071bfb5 Update kali-desktop-base alternatives to point to the new theme
Handle properly upgrade from old desktop-base as well as from old
kali-desktop-base.

Gbp-Dch: Full
2019-11-05 17:43:39 +01:00

172 lines
6.7 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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 200 \
--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 200
# Desktop background alternatives
update-alternatives --install \
/usr/share/images/desktop-base/desktop-background \
desktop-background /usr/share/backgrounds/kali/kali-logo-16x9.png 200
# 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/backgrounds/kali/kali-logo.xml 200
# 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/backgrounds/kali/kali-rings.xml 200
# 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 200
# Login theme
# Highest priority for active theme
update-alternatives --install /usr/share/images/desktop-base/login-background.svg \
desktop-login-background /usr/share/backgrounds/kali/kali-rings.svg 200
# 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 dont
# 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=/boot/grub/themes/kali/grub-${grub_first_ratio}.png
active_grub_second_ratio=/boot/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} 200 \
--slave /usr/share/desktop-base/grub_background.sh \
desktop-grub.sh /boot/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 /boot/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 were 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
# Set Kali as default plymouth theme (on initial install and upgrade from
# old version)
if [ "${1}" = "configure" ] && dpkg --compare-versions "$2" lt "2019.4.0"; then
if which plymouth-set-default-theme > /dev/null; then
plymouth-set-default-theme kali
if which update-initramfs > /dev/null; then
update-initramfs -u
fi
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
fi
fi
#DEBHELPER#