| FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" |
| |
| DEPENDS += "gpioplus" |
| DEPENDS += "systemd" |
| |
| EXTRA_OEMESON:append = " -Dhost-gpios=enabled" |
| |
| SRC_URI += " \ |
| file://host-control \ |
| file://chassis-control \ |
| file://ncplite-chassis-poweroff@.service \ |
| file://ncplite-chassis-poweron@.service \ |
| file://ncplite-host-off@.service \ |
| file://ncplite-host-force-reset@.service \ |
| " |
| |
| RDEPENDS:${PN}:append = " bash" |
| |
| DBUS_PACKAGES:append = "${PN}-ncplite" |
| PACKAGE_BEFORE_PN += "${PN}-ncplite" |
| SYSTEMD_PACKAGES += "${PN}-ncplite" |
| |
| SYSTEMD_SERVICE:${PN}-ncplite += "ncplite-chassis-poweron@.service" |
| SYSTEMD_SERVICE:${PN}-ncplite += "ncplite-chassis-poweroff@.service" |
| SYSTEMD_SERVICE:${PN}-ncplite += "ncplite-host-off@.service" |
| SYSTEMD_SERVICE:${PN}-ncplite += "ncplite-host-force-reset@.service" |
| |
| # Chassis power on |
| CHASSIS_POWERON_SVC = "ncplite-chassis-poweron@.service" |
| CHASSIS_POWERON_INSTMPL = "ncplite-chassis-poweron@{0}.service" |
| CHASSIS_POWERON_TGTFMT = "obmc-chassis-poweron@{0}.target" |
| CHASSIS_POWERON_FMT = "../${CHASSIS_POWERON_SVC}:${CHASSIS_POWERON_TGTFMT}.requires/${CHASSIS_POWERON_INSTMPL}" |
| SYSTEMD_LINK:${PN}-ncplite += "${@compose_list_zip(d, 'CHASSIS_POWERON_FMT', 'OBMC_CHASSIS_INSTANCES')}" |
| |
| # Chassis power off |
| CHASSIS_POWEROFF_SVC = "ncplite-chassis-poweroff@.service" |
| CHASSIS_POWEROFF_INSTMPL = "ncplite-chassis-poweroff@{0}.service" |
| CHASSIS_POWEROFF_TGTFMT = "obmc-chassis-poweroff@{0}.target" |
| CHASSIS_POWEROFF_FMT = "../${CHASSIS_POWEROFF_SVC}:${CHASSIS_POWEROFF_TGTFMT}.requires/${CHASSIS_POWEROFF_INSTMPL}" |
| SYSTEMD_LINK:${PN}-ncplite += "${@compose_list_zip(d, 'CHASSIS_POWEROFF_FMT', 'OBMC_CHASSIS_INSTANCES')}" |
| |
| # Host off |
| HOST_OFF_SVC = "ncplite-host-off@.service" |
| HOST_OFF_INSTMPL = "ncplite-host-off@{0}.service" |
| HOST_OFF_TGTFMT = "obmc-host-shutdown@{0}.target" |
| HOST_OFF_FMT = "../${HOST_OFF_SVC}:${HOST_OFF_TGTFMT}.requires/${HOST_OFF_INSTMPL}" |
| SYSTEMD_LINK:${PN}-ncplite += "${@compose_list_zip(d, 'HOST_OFF_FMT', 'OBMC_HOST_INSTANCES')}" |
| |
| # Host force reboot |
| HOST_FORCE_RESET_SVC = "ncplite-host-force-reset@.service" |
| HOST_FORCE_RESET_INSTMPL = "ncplite-host-force-reset@{0}.service" |
| HOST_FORCE_RESET_TGTFMT = "obmc-host-force-warm-reboot@{0}.target" |
| HOST_FORCE_RESET_TARGET_FMT = "../${HOST_FORCE_RESET_SVC}:${HOST_FORCE_RESET_TGTFMT}.requires/${HOST_FORCE_RESET_INSTMPL}" |
| SYSTEMD_LINK:${PN}-ncplite += "${@compose_list_zip(d, 'HOST_FORCE_RESET_TARGET_FMT', 'OBMC_HOST_INSTANCES')}" |
| |
| # Chassis hard power off require host off in our machine |
| CHASSIS_HARD_POWEROFF_TGTFMT = "obmc-chassis-hard-poweroff@{0}.target" |
| CHASSIS_HOST_OFF_FMT = "../${HOST_OFF_SVC}:${CHASSIS_HARD_POWEROFF_TGTFMT}.requires/${HOST_OFF_INSTMPL}" |
| SYSTEMD_LINK:${PN}-ncplite += "${@compose_list_zip(d, 'CHASSIS_HOST_OFF_FMT', 'OBMC_CHASSIS_INSTANCES')}" |
| |
| do_install:append() { |
| install -d ${D}${sbindir} |
| install -m 0744 ${WORKDIR}/host-control ${D}${sbindir}/ |
| install -m 0744 ${WORKDIR}/chassis-control ${D}${sbindir}/ |
| } |
| |
| FILES:${PN} += "${systemd_system_unitdir}/*" |
| FILES:${PN}-host += "${bindir}/phosphor-host-condition-gpio" |
| SYSTEMD_SERVICE:${PN}-host += "phosphor-host-condition-gpio@.service" |
| |
| pkg_postinst:${PN}-obmc-targets:prepend() { |
| mkdir -p $D$systemd_system_unitdir/multi-user.target.requires |
| LINK="$D$systemd_system_unitdir/multi-user.target.requires/phosphor-host-condition-gpio@0.service" |
| TARGET="../phosphor-host-condition-gpio@.service" |
| ln -s $TARGET $LINK |
| } |
| |
| pkg_prerm:${PN}-obmc-targets:prepend() { |
| LINK="$D$systemd_system_unitdir/multi-user.target.requires/phosphor-host-condition-gpio@0.service" |
| rm $LINK |
| } |