SUMMARY = "Configures systemd settings for gBMC"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"

inherit systemd

S = "${WORKDIR}"

SRC_URI:append = " \
  file://firmware-updates.target \
  file://firmware-updates-pre.target \
  file://40-gbmc-forward.conf \
  file://40-gbmc-sysctl.conf \
  file://40-gbmc-time.conf \
  file://10-gbmc.conf \
  "

FILES:${PN}:append = " \
  ${systemd_unitdir}/coredump.conf.d/40-gbmc-coredump.conf \
  ${systemd_unitdir}/resolved.conf.d/40-gbmc-nomdns.conf \
  ${systemd_unitdir}/timesyncd.conf.d/40-gbmc-time.conf \
  ${libdir}/sysctl.d/40-gbmc-sysctl.conf \
  ${libdir}/sysctl.d/40-gbmc-forward.conf \
  ${systemd_system_unitdir}/sysinit.target.wants/systemd-time-wait-sync.service \
  ${systemd_system_unitdir}/systemd-time-wait-sync.service.d/10-gbmc.conf \
  "

FILES:${PN}:append:dev = " \
  ${libdir}/sysctl.d/40-gbmc-debug.conf \
  "

SYSTEMD_SERVICE:${PN}:append = " \
  firmware-updates.target \
  firmware-updates-pre.target \
  "

RDEPENDS:${PN}:append = " bash"
# Put coredumps in the journal to ensure they stay in ram
do_install() {
  install -d -m 0755 ${D}${systemd_unitdir}/coredump.conf.d
  printf "[Coredump]\nStorage=journal\n" \
    >${D}${systemd_unitdir}/coredump.conf.d/40-gbmc-coredump.conf

  install -d -m 0755 ${D}${systemd_unitdir}/resolved.conf.d
  printf "[Resolve]\nLLMNR=no\nMulticastDNS=resolve\n" \
    >${D}${systemd_unitdir}/resolved.conf.d/40-gbmc-nomdns.conf

  install -d -m 0755 ${D}${systemd_system_unitdir}
  install -m 0644 ${WORKDIR}/firmware-updates.target ${D}${systemd_system_unitdir}/
  install -m 0644 ${WORKDIR}/firmware-updates-pre.target ${D}${systemd_system_unitdir}/
  # mask systemd-pstore.service to avoid copying logs to SPI
  mkdir -p ${D}${sysconfdir}/systemd/system
  ln -sv /dev/null ${D}${sysconfdir}/systemd/system/systemd-pstore.service

  # mask networkd-wait-online.service to avoid waiting
  ln -sv /dev/null ${D}/${sysconfdir}/systemd/system/systemd-networkd-wait-online.service

  install -d -m0755 ${D}${libdir}/sysctl.d
  install -m 0644 ${WORKDIR}/40-gbmc-forward.conf ${D}${libdir}/sysctl.d/
  install -m 0644 ${WORKDIR}/40-gbmc-sysctl.conf ${D}${libdir}/sysctl.d/

  install -d -m 0755 ${D}${systemd_unitdir}/timesyncd.conf.d/
  install -D -m0644 ${WORKDIR}/40-gbmc-time.conf ${D}${systemd_unitdir}/timesyncd.conf.d/

  mkdir -p ${D}${systemd_system_unitdir}/sysinit.target.wants/
  ln -sv ${systemd_system_unitdir}/systemd-time-wait-sync.service ${D}${systemd_system_unitdir}/sysinit.target.wants/
  mkdir -p ${D}${systemd_system_unitdir}/systemd-time-wait-sync.service.d/
  install -D -m0644 ${WORKDIR}/10-gbmc.conf ${D}${systemd_system_unitdir}/systemd-time-wait-sync.service.d/
}

do_install:append:dev() {
  printf "kernel.sysrq = 1\n" \
      >${D}${libdir}/sysctl.d/40-gbmc-debug.conf
}
