SUMMARY = "OpenPOWER OCC controller"
DESCRIPTION = "Application to control the OpenPOWER On-Chip-Controller"
HOMEPAGE = "https://github.com/openbmc/openpower-occ-control"
PR = "r1"
PV = "1.0+git${SRCPV}"

inherit meson \
        pkgconfig \
        obmc-phosphor-dbus-service \
        python3native \
        phosphor-dbus-yaml

require ${BPN}.inc

SRC_URI += "file://occ-active.sh"
do_install:append() {
        install -d ${D}${bindir}
        install -m 0755 ${WORKDIR}/occ-active.sh \
            ${D}${bindir}/occ-active.sh
}

DBUS_SERVICE:${PN} += "org.open_power.OCC.Control.service"
SYSTEMD_SERVICE:${PN} += "op-occ-enable@.service"
SYSTEMD_SERVICE:${PN} += "op-occ-disable@.service"

DEPENDS += "virtual/${PN}-config-native"
DEPENDS += " \
        sdbusplus \
        ${PYTHON_PN}-sdbus++-native \
        phosphor-logging \
        phosphor-dbus-interfaces \
        autoconf-archive-native \
        systemd \
        ${PYTHON_PN}-native \
        ${PYTHON_PN}-pyyaml-native \
        ${PYTHON_PN}-setuptools-native \
        ${PYTHON_PN}-mako-native \
        "

RDEPENDS:${PN} += "phosphor-state-manager-obmc-targets"

EXTRA_OEMESON = " \
             -Dyamldir=${STAGING_DATADIR_NATIVE}/${PN} \
             -Dps-derating-factor=${POWER_SUPPLY_DERATING_FACTOR} \
             "
EXTRA_OEMESON:append = "${@bb.utils.contains('MACHINE_FEATURES', 'i2c-occ', ' -Di2c-occ=enabled', '', d)}"

OCC_ENABLE = "enable"
OCC_DISABLE = "disable"
HOST_START = "startmin"
HOST_STOP = "stop"

# Ensure host-stop and host-startmin targets wants needed occ states
OCC_TMPL = "op-occ-{0}@.service"
HOST_TGTFMT = "obmc-host-{1}@{2}.target"
OCC_INSTFMT = "op-occ-{0}@{2}.service"
HOST_OCC_FMT = "../${OCC_TMPL}:${HOST_TGTFMT}.wants/${OCC_INSTFMT}"
SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'HOST_OCC_FMT', 'OCC_ENABLE', 'HOST_START', 'OBMC_HOST_INSTANCES')}"
SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'HOST_OCC_FMT', 'OCC_DISABLE', 'HOST_STOP', 'OBMC_HOST_INSTANCES')}"

# Set the occ disable service to be executed on host error
HOST_ERROR_TARGETS = "crash timeout"

OCC_DISABLE_TMPL = "op-occ-disable@.service"
HOST_ERROR_TGTFMT = "obmc-host-{0}@{1}.target"
OCC_DISABLE_INSTFMT = "op-occ-disable@{1}.service"
HOST_ERROR_FMT = "../${OCC_DISABLE_TMPL}:${HOST_ERROR_TGTFMT}.wants/${OCC_DISABLE_INSTFMT}"

SYSTEMD_LINK:${PN} += "${@compose_list(d, 'HOST_ERROR_FMT', 'HOST_ERROR_TARGETS', 'OBMC_HOST_INSTANCES')}"

S = "${WORKDIR}/git"

# Remove packages not required for native build
DEPENDS:remove:class-native = " \
        phosphor-logging \
        systemd \
        sdbusplus \
        virtual/${PN}-config-native \
        "
RDEPENDS:${PN}:remove:class-native += "phosphor-state-manager-obmc-targets"

# Remove packages not required for native SDK build
DEPENDS:remove:class-nativesdk = " \
        phosphor-logging \
        systemd \
        sdbusplus \
        virtual/${PN}-config-native \
        "
RDEPENDS:${PN}:remove:class-nativesdk += "phosphor-state-manager-obmc-targets"

# Provide a means to enable/disable install_error_yaml feature
PACKAGECONFIG ??= "install_error_yaml"
PACKAGECONFIG[install_error_yaml] = "\
        -Dinstall-error-yaml=enabled,\
        -Dinstall-error-yaml=disabled,\
        ,\
        "

# Enable install_error_yaml during native and native SDK build
PACKAGECONFIG:add:class-native = "install_error_yaml"
PACKAGECONFIG:add:class-nativesdk = "install_error_yaml"

# Disable install_error_yaml during target build
PACKAGECONFIG:remove:class-target = "install_error_yaml"

BBCLASSEXTEND += "native nativesdk"
