Install all configuration files provided by Daniel

This commit is contained in:
Raphaël Hertzog
2019-11-06 16:22:15 +01:00
parent 3f6071bfb5
commit b45c4cb3f7
26 changed files with 396 additions and 59 deletions
-1
View File
@@ -7,6 +7,5 @@ Grub-Theme/* boot/grub/themes/
Plymouth-Theme/* usr/share/plymouth/themes/
desktop-base/* usr/share/desktop-base/kali-theme/
kali-logos/* usr/images/kali-logos/
xfce/xsettings.xml usr/share/kali-themes-common/
# Those are created by "make install"
usr/share/icons/
+1 -1
View File
@@ -1 +1 @@
xfce/terminalrc etc/xdg/xfce4/terminal/
etc
+44 -9
View File
@@ -2,17 +2,52 @@
set -e
if [ "$1" = "configure" ]; then
for file in /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
FILES_TO_DIVERT="
/etc/lightdm/lightdm-gtk-greeter.conf
/etc/xdg/qterminal.org/qterminal.ini
/etc/xdg/xfce4/panel/default.xml
/etc/xdg/xfce4/terminal/terminalrc
/etc/xdg/xfce4/whiskermenu/defaults.rc
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
" # END FILES_TO_DIVERT
install_all() {
local opt=$1
for file in $FILES_TO_DIVERT
do
orig_file="/usr/share/kali-themes-common/$(basename $file)"
if [ ! -e $file ] && [ -e $orig_file ]; then
echo "Installing $orig_file as $file"
mkdir -p $(dirname $file)
cp $orig_file $file
fi
install_config_file "$file" "$opt"
done
dconf update || true
}
install_config_file() {
local file=$1
local opt=$2
local orig_file="/usr/share/kali-themes$file"
if [ "$opt" = "force" ] || ([ ! -e $file ] && [ -e $orig_file ]); then
echo "Installing $orig_file as $file"
mkdir -p $(dirname $file)
cp $orig_file $file
fi
}
if [ "$1" = "configure" ]; then
if [ -z "$2" ]; then
# Initial install
install_all force
else
# Upgrade
if dpkg --compare-versions "$2" lt "2019.4.6"; then
# Those files have been updated, force install them
install_config_file /etc/xdg/xfce4/terminal/terminalrc force
install_config_file /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml force
fi
# Install remaining new files
install_all
fi
fi
#DEBHELPER#
+19 -4
View File
@@ -2,12 +2,27 @@
set -e
FILES_TO_DIVERT="
/etc/lightdm/lightdm-gtk-greeter.conf
/etc/xdg/qterminal.org/qterminal.ini
/etc/xdg/xfce4/panel/default.xml
/etc/xdg/xfce4/terminal/terminalrc
/etc/xdg/xfce4/whiskermenu/defaults.rc
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
" # END FILES_TO_DIVERT
case "$1" in
remove)
rm -f /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
dpkg-divert --rename --package kali-themes \
--divert /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml.original \
--remove /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
for file in $FILES_TO_DIVERT; do
rm -f "$file"
dpkg-divert --rename --package kali-themes \
--divert "$file.original" \
--remove "$file"
done
;;
esac
+28 -4
View File
@@ -2,19 +2,43 @@
set -e
DIVERT_FILE="/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml"
FILES_TO_DIVERT="
/etc/lightdm/lightdm-gtk-greeter.conf
/etc/xdg/qterminal.org/qterminal.ini
/etc/xdg/xfce4/panel/default.xml
/etc/xdg/xfce4/terminal/terminalrc
/etc/xdg/xfce4/whiskermenu/defaults.rc
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
" # END FILES_TO_DIVERT
setup_diversion() {
local file=$1
dpkg-divert --rename --package kali-themes \
--divert $file.original \
--add $file
}
case "$1" in
install)
# Handle upgrade from kali-defaults
DIVERT_FILE="/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml"
if [ "$(dpkg-divert --listpackage $DIVERT_FILE)" = "kali-defaults" ]; then
rm -f $DIVERT_FILE
dpkg-divert --rename --package kali-defaults \
--divert $DIVERT_FILE.original \
--remove $DIVERT_FILE
fi
dpkg-divert --rename --package kali-themes \
--divert $DIVERT_FILE.original \
--add $DIVERT_FILE
# Setup all the diversions
for file in $FILES_TO_DIVERT; do
setup_diversion "$file"
done
;;
upgrade)
# Dynamically add new diversions when required on upgrade
;;
esac
+9
View File
@@ -2,3 +2,12 @@
%:
dh $@
override_dh_install:
dh_install
# Move config files that we divert into /usr/share/kali-themes/etc/*
# and let them be installed by the postinst
for file in $(shell cat files-to-divert); do \
mkdir -p debian/kali-themes/usr/share/kali-themes$$(dirname $$file); \
mv debian/kali-themes$$file debian/kali-themes/usr/share/kali-themes$$file; \
done
+15
View File
@@ -0,0 +1,15 @@
#!/bin/sh
update_script() {
local script=$1
(
sed -n -e '1,/^FILES_TO_DIVERT="/ p' $script
cat files-to-divert
sed -n -e '/^" # END FILES_TO_DIVERT/,$ p' $script
) >$script.new
mv $script.new $script
}
update_script debian/kali-themes.preinst
update_script debian/kali-themes.postinst
update_script debian/kali-themes.postrm