Codebase list kali-menu / 4080a1b
Add full diversion machinery like we have in kali-themes and kali-defaults Greatly inspired by af96d37fe08c8d8a49bbb2f467214de279276291 in kali-defaults. Fixes: #7 Arnaud Rebillout 1 year, 11 months ago
6 changed file(s) with 67 addition(s) and 16 deletion(s). Raw diff Collapse all Expand all
0 #!/bin/sh
1
2 update_script() {
3 local script=$1
4 (
5 sed -n -e '1,/^FILES_TO_DIVERT="/ p' $script
6 cat files-to-divert
7 sed -n -e '/^" # END FILES_TO_DIVERT/,$ p' $script
8 ) > $script.new
9 mv $script.new $script
10 }
11
12 update_script debian/kali-menu.preinst
13 update_script debian/kali-menu.postinst
14 update_script debian/kali-menu.postrm
33 exec-in-shell usr/share/kali-menu/
44 menu-icons/* usr/share/icons/hicolor/
55 menus/kali-applications.menu etc/xdg/menus/applications-merged/
6 menus/xfce-applications.menu etc/xdg/menus/
6 menus/xfce-applications.menu usr/share/kali-menu/etc/xdg/menus/
77 polkit-1/* usr/share/polkit-1/
88 update-kali-menu usr/share/kali-menu/
00 #!/bin/sh
11
2 set -e
2 set -e
3
4 FILES_TO_DIVERT="
5 /etc/xdg/menus/xfce-applications.menu
6 " # END FILES_TO_DIVERT
7
8 install_config_file() {
9 local file=$1
10 local opt=$2
11 local orig_file="/usr/share/kali-menu$file"
12 if [ "$opt" = "force" ] || ([ ! -e "$file" ] && [ -e "$orig_file" ]); then
13 echo "Installing $orig_file as $file"
14 mkdir -p "$(dirname "$file")"
15 cp "$orig_file" "$file"
16 fi
17 }
18
19 if [ "$1" = "configure" ]; then
20 for file in $FILES_TO_DIVERT; do
21 install_config_file "$file"
22 done
23 fi
324
425 case "$1" in
526 configure|triggered)
11
22 set -e
33
4 FILES_TO_DIVERT="
5 /etc/xdg/menus/xfce-applications.menu
6 " # END FILES_TO_DIVERT
7
48 drop_diversion() {
5 if [ -e "$1.original" ]; then
6 mv "$1.original" "$1"
7 fi
8 dpkg-divert --no-rename --package kali-menu \
9 --divert $1.original \
10 --remove $1
9 local file=$1
10 dpkg-divert --rename --package kali-menu \
11 --divert "$file.original" \
12 --remove "$file"
1113 }
1214
1315 case "$1" in
1416 remove)
15 drop_diversion /etc/xdg/menus/xfce-applications.menu
17 for file in $FILES_TO_DIVERT; do
18 rm -f "$file"
19 drop_diversion "$file"
20 done
1621 # Remove the desktop files installed by update-kali-menu
1722 find /usr/share/applications -name '*.desktop' | \
1823 xargs grep -l ^X-Kali-Package | \
00 #!/bin/sh
11
2 set -e
2 set -e
3
4 FILES_TO_DIVERT="
5 /etc/xdg/menus/xfce-applications.menu
6 " # END FILES_TO_DIVERT
37
48 setup_diversion() {
5 local file="$1"
6 divert_opts="--rename"
9 local file=$1
10 local divert_opts="--rename"
711 if [ -e "$file" ]; then
812 if dpkg --search "$file" >/dev/null 2>&1; then
913 # Keep original file to avoid spurious dpkg prompt
1822
1923 case "$1" in
2024 install)
21 setup_diversion /etc/xdg/menus/xfce-applications.menu
25 for file in $FILES_TO_DIVERT; do
26 setup_diversion "$file"
27 done
2228 ;;
2329
2430 upgrade)
25 if dpkg --compare-versions "$2" lt 2020.1.0; then
26 setup_diversion /etc/xdg/menus/xfce-applications.menu
27 fi
31 # Dynamically add new diversions when required on upgrade
32 for file in $FILES_TO_DIVERT; do
33 if [ -z "$(dpkg-divert --listpackage "$file")" ]; then
34 setup_diversion "$file"
35 fi
36 done
2837 ;;
2938 esac
3039
0 /etc/xdg/menus/xfce-applications.menu