# Resolving conflict introduced by PPD DBus service.
# Control part variables
PPD_MANAGER_SUFFIX="-tlp"
PPD_DBUS_SYSTEMD_SERVICE_DIR="/usr/share/dbus-1/system-services"
PPD_DBUS_SYSTEMD_CONF_DIR="/usr/share/dbus-1/system.d"

abinfo "Moving ppd dbus related services and configs ..."
abinfo "Creating alternative for net.hadess.PowerProfiles.service"
mv -v "$PKGDIR"/usr/share/dbus-1/system-services/net.hadess.PowerProfiles.service \
   "$PKGDIR"/usr/share/dbus-1/system-services/net.hadess.PowerProfiles-tlp.service
abinfo "Creating alternative for org.freedesktop.UPower.PowerProfiles.service"
mv -v "$PKGDIR"/usr/share/dbus-1/system-services/org.freedesktop.UPower.PowerProfiles.service \
   "$PKGDIR"/usr/share/dbus-1/system-services/org.freedesktop.UPower.PowerProfiles-tlp.service
abinfo "Creating alternative for net.hadess.PowerProfiles.conf"
mv -v "$PKGDIR"/usr/share/dbus-1/system.d/net.hadess.PowerProfiles.conf \
   "$PKGDIR"/usr/share/dbus-1/system.d/net.hadess.PowerProfiles-tlp.conf
abinfo "Creating alternative for org.freedesktop.UPower.PowerProfiles.conf"
mv -v "$PKGDIR"/usr/share/dbus-1/system.d/org.freedesktop.UPower.PowerProfiles.conf \
   "$PKGDIR"/usr/share/dbus-1/system.d/org.freedesktop.UPower.PowerProfiles-tlp.conf

abinfo "Generating postinst scripts..."
printf 'update-alternatives --install %s/net.hadess.PowerProfiles.service ppd-manager %s/net.hadess.PowerProfiles%s.service 90' \
   "$PPD_DBUS_SYSTEMD_SERVICE_DIR" \
   "$PPD_DBUS_SYSTEMD_SERVICE_DIR" \
   "$PPD_MANAGER_SUFFIX" \
   >> "$SRCDIR"/autobuild/postinst


# Add slaves for the related service and config files so the alternative toggles them together
printf ' --slave %s/org.freedesktop.UPower.PowerProfiles.service org.freedesktop.UPower.PowerProfiles.service %s/org.freedesktop.UPower.PowerProfiles%s.service' \
   "$PPD_DBUS_SYSTEMD_SERVICE_DIR" \
   "$PPD_DBUS_SYSTEMD_SERVICE_DIR" \
   "$PPD_MANAGER_SUFFIX" \
   >> "$SRCDIR"/autobuild/postinst

printf ' --slave %s/net.hadess.PowerProfiles.conf net.hadess.PowerProfiles.conf %s/net.hadess.PowerProfiles%s.conf' \
   "$PPD_DBUS_SYSTEMD_CONF_DIR" \
   "$PPD_DBUS_SYSTEMD_CONF_DIR" \
   "$PPD_MANAGER_SUFFIX" \
   >> "$SRCDIR"/autobuild/postinst

printf ' --slave %s/org.freedesktop.UPower.PowerProfiles.conf org.freedesktop.UPower.PowerProfiles.conf %s/org.freedesktop.UPower.PowerProfiles%s.conf' \
   "$PPD_DBUS_SYSTEMD_CONF_DIR" \
   "$PPD_DBUS_SYSTEMD_CONF_DIR" \
   "$PPD_MANAGER_SUFFIX" \
   >> "$SRCDIR"/autobuild/postinst

cat << EOF > "$SRCDIR"/autobuild/postrm
if [ "\$1" != "upgrade" ]; then
    update-alternatives --remove ppd-manager ${PPD_DBUS_SYSTEMD_SERVICE_DIR}/net.hadess.PowerProfiles${PPD_MANAGER_SUFFIX}.service || true
fi
EOF

abinfo "Final postinst script:"
cat "$SRCDIR"/autobuild/postinst
