109 lines
3.5 KiB
BlitzBasic
109 lines
3.5 KiB
BlitzBasic
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 \
|
|
nlohmann-json \
|
|
"
|
|
|
|
RDEPENDS:${PN} += "phosphor-state-manager-obmc-targets"
|
|
|
|
EXTRA_OEMESON = " \
|
|
-Dyamldir=${STAGING_DATADIR_NATIVE}/${PN} \
|
|
-Dps-derating-factor=${POWER_SUPPLY_DERATING_FACTOR} \
|
|
-Dtests=disabled \
|
|
"
|
|
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"
|