abinfo "Creating daemon directory and file templates ..."	
mkdir -pv \
    "$PKGDIR"/var/lib/tuned \
    "$PKGDIR"/usr/lib/modprobe.d	
touch "$PKGDIR"/usr/lib/modprobe.d/kvm.rt.tuned.conf

for i in \
    atomic-guest \
    atomic-host \
    enterprise-storage \
    openshift \
    openshift-control-plane \
    openshift-node \
    sap-hana \
    sap-netweaver \
    spectrumscale-ece; do
    abinfo "Dropping RHEL- and cloud-specific (and unsupported) profile: $i ..."
    rm -rv \
        "$PKGDIR"/usr/lib/tuned/profiles/$i
done

# Resolving conflict introduced by PPD DBus service.
abinfo "Moving tuned 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-tuned.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-tuned.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-tuned.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-tuned.conf

PPD_MANAGER_SUFFIX="-tuned"
PPD_DBUS_SYSTEMD_SERVICE_DIR="/usr/share/dbus-1/system-services"
PPD_DBUS_SYSTEMD_CONF_DIR="/usr/share/dbus-1/system.d"

abinfo "Generating postinst scripts..."
printf 'update-alternatives --install %s/net.hadess.PowerProfiles.service ppd-manager %s/net.hadess.PowerProfiles%s.service 60' \
   "$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

printf '\n' >> "$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
