Files
desktop-base/debian/postinst

212 lines
6.9 KiB
Bash

#!/bin/sh
set -e
# Tag to allow some debhelper commands to inject relevant code
#DEBHELPER#
if [ "${1}" = "configure" ] && [ ! -z "${2}" ]; then
if dpkg --compare-versions ${2} le "9.0.0~exp1"; then
# Try remove folder if empty, left after 9.0.0~exp1 conf suppression
# by debhelper conffile handling
OLD_KDM_DIR=/etc/default/kdm.d
if [ -d ${OLD_KDM_DIR} ] ; then
echo "Removing old KDM configuration directory \"${OLD_KDM_DIR}\""
rmdir ${OLD_KDM_DIR} || true
fi
fi
fi
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-remove" ]; then
# Theme package alternatives
while read theme priority; do
update-alternatives --install \
/usr/share/desktop-base/active-theme \
desktop-theme \
/usr/share/desktop-base/$theme-theme $priority
done << EOF
softwaves 50
lines 40
joy 30
joy-inksplat 30
spacefun 30
EOF
# Use active theme as highest priority for background
update-alternatives --install \
/usr/share/images/desktop-base/desktop-background \
desktop-background \
/usr/share/desktop-base/active-theme/wallpaper/contents/images/1920x1080.svg 70
# Alternatives for the background in theme packages
while read theme filename priority; do
update-alternatives --install \
/usr/share/images/desktop-base/desktop-background \
desktop-background \
/usr/share/desktop-base/$theme-theme/wallpaper/contents/images/$filename $priority
done << EOF
softwaves 1024x768.svg 65
softwaves 1280x720.svg 65
softwaves 1280x800.svg 65
softwaves 1280x1024.svg 65
softwaves 1600x1200.svg 65
softwaves 1920x1080.svg 65
softwaves 1920x1200.svg 65
softwaves 2560x1440.svg 65
softwaves 2560x1600.svg 65
lines 1280x1024.svg 60
lines 1600x1200.svg 60
lines 1920x1080.svg 60
lines 1920x1200.svg 60
lines 2560x1080.svg 60
joy 1280x720.svg 50
joy 1280x1024.svg 50
joy 1600x1200.svg 50
joy 1920x1080.svg 50
joy 1920x1200.svg 50
joy-inksplat 1280x720.svg 50
joy-inksplat 1280x1024.svg 50
joy-inksplat 1600x1200.svg 50
joy-inksplat 1920x1080.svg 50
joy-inksplat 1920x1200.svg 50
spacefun 1280x720.svg 50
spacefun 1280x1024.svg 50
spacefun 1920x1080.svg 50
spacefun 1920x1200.svg 50
EOF
# Set up an alternative for the XML version of the background
# (for GNOME)
# Highest priority for active theme
update-alternatives --install \
/usr/share/images/desktop-base/desktop-background.xml \
desktop-background.xml \
/usr/share/desktop-base/active-theme/wallpaper/gnome-background.xml 50
# Alternatives for theme packages
while read theme priority; do
update-alternatives --install \
/usr/share/images/desktop-base/desktop-background.xml \
desktop-background.xml \
/usr/share/desktop-base/$theme-theme/wallpaper/gnome-background.xml $priority
done << EOF
softwaves 40
lines 30
joy 20
joy-inksplat 20
spacefun 20
EOF
# Set up an alternative for the XML version of the lock screen
# (for GNOME)
# Highest priority for active theme
update-alternatives --install \
/usr/share/images/desktop-base/desktop-lockscreen.xml \
desktop-lockscreen.xml \
/usr/share/desktop-base/active-theme/lockscreen/gnome-background.xml 50
# Alternatives for theme packages
while read theme priority; do
update-alternatives --install \
/usr/share/images/desktop-base/desktop-lockscreen.xml \
desktop-lockscreen.xml \
/usr/share/desktop-base/$theme-theme/lockscreen/gnome-background.xml $priority
done << EOF
softwaves 40
lines 30
joy 20
spacefun 20
EOF
# Set up an alternative for the wallpaper for Plasma 5/KDE
# Highest priority for active theme
update-alternatives --install \
/usr/share/wallpapers/DebianTheme \
desktop-plasma5-wallpaper \
/usr/share/desktop-base/active-theme/wallpaper 50
# Alternatives for theme packages
while read theme priority; do
update-alternatives --install \
/usr/share/wallpapers/DebianTheme \
desktop-plasma5-wallpaper \
/usr/share/desktop-base/$theme-theme/wallpaper $priority
done << EOF
softwaves 40
lines 30
joy 20
joy-inksplat 20
spacefun 20
EOF
# Login theme
# Highest priority for active theme
update-alternatives --install /usr/share/images/desktop-base/login-background.svg \
desktop-login-background \
/usr/share/desktop-base/active-theme/login/background.svg 50
# Alternatives for theme packages
while read theme background priority; do
update-alternatives --install /usr/share/images/desktop-base/login-background.svg \
desktop-login-background \
/usr/share/desktop-base/$theme-theme/login/$background $priority
done << EOF
softwaves background.svg 40
lines background.svg 30
lines background-nologo.svg 30
joy background.svg 20
spacefun background.svg 20
EOF
# Set up an alternative for the GRUB background/colors config
# Highest priority for active theme
## Favor widescreen / hi-res background for efi installations
num_grub_efi_installed=$(dpkg-query --list "grub-efi*" 2> /dev/null | grep "^i" | wc -l)
if [ $num_grub_efi_installed -gt 0 ] ; then
grub_first_ratio="16x9"
grub_second_ratio="4x3"
else
grub_first_ratio="4x3"
grub_second_ratio="16x9"
fi
update-alternatives --install \
/usr/share/images/desktop-base/desktop-grub.png \
desktop-grub \
/usr/share/desktop-base/active-theme/grub/grub-${grub_first_ratio}.png 50 \
--slave /usr/share/desktop-base/grub_background.sh \
desktop-grub.sh \
/usr/share/desktop-base/active-theme/grub/grub_background.sh
update-alternatives --install \
/usr/share/images/desktop-base/desktop-grub.png \
desktop-grub \
/usr/share/desktop-base/active-theme/grub/grub-${grub_second_ratio}.png 45 \
--slave /usr/share/desktop-base/grub_background.sh \
desktop-grub.sh \
/usr/share/desktop-base/active-theme/grub/grub_background.sh
# Alternatives for theme packages
while read theme ratio priority; do
update-alternatives --install /usr/share/images/desktop-base/desktop-grub.png \
desktop-grub \
/usr/share/desktop-base/$theme-theme/grub/grub-$ratio.png $priority \
--slave /usr/share/desktop-base/grub_background.sh \
desktop-grub.sh \
/usr/share/desktop-base/$theme-theme/grub/grub_background.sh
done << EOF
softwaves 4x3 40
softwaves 16x9 40
lines 4x3 30
lines 16x9 30
joy 4x3 30
joy 16x9 30
spacefun 4x3 30
spacefun 16x9 30
EOF
# Apply GRUB background update into /boot
if which update-grub > /dev/null ; then
# Ensure the background image file has actually been written to disc
# before updating.
sync
update-grub
fi
if which update-initramfs > /dev/null; then
update-initramfs -u
fi
fi