#!/bin/bash

# Disable suspend at login screen and for all users

# GENERAL PACKAGES
packages=(linux-firmware gnome xorg mesa mesa-utils gl4es-git ffmpeg-v4l2-request-git)

# KODI PACKAGES
packages+=(kodi-ext-git kodi-ext-git-dev kodi-ext-git-eventclients kodi-ext-git-tools-texturepacker
 kodi-addon-inputstream-adaptive-git kodi-addon-pvr-hts-git kodi-addon-script-module-inputstreamhelper
 kodi-standalone-service-git)

# target = first part of partlabel of root partition
target=$(lsblk -pilno partlabel,type,mountpoint | grep -G 'part /$' | head -n1 | cut -d "-" -f1 | cut -d"@" -f1)
case $target in
  rk3288)
    packages+=(linux-armv7-headers
               linux-api-headers
              )
    ;;
  rk3588)
    pacman -Rdd --noconfirm linux-api-headers
    packages+=(linux-aarch64-rk-rc-headers
               linux-aarch64-rk-rc-api-headers
              )
    ;;
  *)
    echo "Unknown target '${target}'"
    exit
    ;;
esac

until pacman -Syyu --needed --noconfirm ${packages[@]}
do sleep 2; done

install --directory --group=kodi --owner=kodi --mode=750 /var/lib/kodi/.kodi/userdata/keymaps
cat <<-EOT | tee /var/lib/kodi/.kodi/userdata/keymaps/keymap.xml
	<keymap>
	<global>
	<keyboard>
	<sleep>Suspend</sleep>
	<pageup>ChannelUp</pageup>
	<pagedown>ChannelDown</pagedown>
	</keyboard>
	</global>
	</keymap>
	EOT
#chown -v kodi:kodi /var/lib/kodi/.kodi/userdata/keymaps/keymap.xml

for user in gdm /home/*; do
  sudo -u $(basename $user) dbus-launch --exit-with-session gsettings set \
    org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type nothing
   #org.gnome.desktop.session idle-delay 0    for disabling screen blank
done

# From chroot make sure this works, using extra sudo command
sudo systemctl --force --no-pager reenable gdm

# set makepkg MAKEFLAGS to -j{nr of cpus}
#sed -i "s/.*#.*MAKEFLAGS.*/MAKEFLAGS=\"-j$(grep ^processor /proc/cpuinfo  | wc -l)\"/" \
#     /etc/makepkg.conf

# About RK3288 graphene package:
# graphene is custom build with neon diabled. gdm will crash otherwise.
# Add to PKGBUILD:
#     -D arm_neon=false \
# Replace:
#  git submodule set-url subprojects/mutest "$srcdir/mutest"
#  git submodule update
# With:
#  git config submodule.externals/vendor/mutest.url "$srcdir/mutest"
#  git -c protocol.file.allow=always submodule update

