meta-fii: meta-kudo: Adopt multi-host support and host GPIO

Use GPIO instead of IPMI for host condition.

Adopt the multi-host support and syntax for phosphor-state-manager
services.

Signed-off-by: Charles Boyer <Charles.Boyer@fii-usa.com>
Change-Id: I58ff4291ce3ec055579df5a2463c178e53d93625
diff --git a/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager_%.bbappend b/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager_%.bbappend
index 44f37f3..31727fe 100644
--- a/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager_%.bbappend
+++ b/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager_%.bbappend
@@ -1,11 +1,22 @@
 FILESEXTRAPATHS:prepend:kudo := "${THISDIR}/${PN}:"
 
+DEPENDS:append:kudo = " gpioplus"
+
+STATE_MGR_PACKAGES:remove:kudo = " ${PN}-host-check"
+RRECOMMENDS:${PN}-host:remove:kudo = " ${PN}-host-check"
+EXTRA_OEMESON:append:kudo = " -Dhost-gpios=enabled"
 CHASSIS_ACTION_TARGETS:append:kudo = " powercycle"
 
-STATE_MGR_PACKAGES:remove:kudo = " ${PN}-host-check ${PN}-reset-sensor-states ${PN}-chassis-check-power-status"
-SYSTEMD_PACKAGES:remove:kudo = " ${PN}-reset-sensor-states"
-DBUS_SERVICE:${PN}-bmc:remove:kudo = " obmc-bmc-service-quiesce@.target"
-RRECOMMENDS:${PN}-host:remove:kudo = " ${PN}-host-check ${PN}-reset-sensor-states"
+FILES:${PN}:append:kudo = " ${systemd_system_unitdir}/*"
+FILES:${PN}-host:append:kudo = " ${bindir}/phosphor-host-condition-gpio"
+SYSTEMD_SERVICE:${PN}-host:append:kudo = " phosphor-host-condition-gpio@.service"
+
+pkg_postinst:${PN}-obmc-targets:prepend:kudo() {
+    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_postinst:${PN}-obmc-targets:append:kudo() {
     rm "$D$systemd_system_unitdir/obmc-host-shutdown@0.target.requires/obmc-chassis-poweroff@0.target"
@@ -20,21 +31,23 @@
     rm "$D$systemd_system_unitdir/obmc-host-force-warm-reboot@0.target.requires/phosphor-reboot-host@0.service"
 
     rm "$D$systemd_system_unitdir/obmc-host-reset@0.target.requires/phosphor-reset-host-running@0.service"
-    rm "$D$systemd_system_unitdir/obmc-host-quiesce@0.target.wants/phosphor-reset-sensor-states@0.service"
-    rm "$D$systemd_system_unitdir/obmc-host-stop@0.target.wants/phosphor-reset-sensor-states@0.service"
+}
+
+pkg_prerm:${PN}-obmc-targets:prepend:kudo() {
+    LINK="$D$systemd_system_unitdir/multi-user.target.requires/phosphor-host-condition-gpio@0.service"
+    rm $LINK
 }
 
 SRC_URI:append:kudo = " \
-    file://xyz.openbmc_project.State.Chassis.service \
-    file://xyz.openbmc_project.State.Host.service \
+    file://xyz.openbmc_project.State.Chassis@.service \
+    file://xyz.openbmc_project.State.Host@.service \
     "
 
 do_install:append:kudo() {
     install -d ${D}${systemd_system_unitdir}
-    install -m 0644 ${WORKDIR}/xyz.openbmc_project.State.Chassis.service ${D}${systemd_system_unitdir}/xyz.openbmc_project.State.Chassis.service
-    install -m 0644 ${WORKDIR}/xyz.openbmc_project.State.Host.service ${D}${systemd_system_unitdir}/xyz.openbmc_project.State.Host.service
+    install -m 0644 ${WORKDIR}/xyz.openbmc_project.State.Chassis@.service ${D}${systemd_system_unitdir}/xyz.openbmc_project.State.Chassis@.service
+    install -m 0644 ${WORKDIR}/xyz.openbmc_project.State.Host@.service ${D}${systemd_system_unitdir}/xyz.openbmc_project.State.Host@.service
     rm -f ${D}${systemd_system_unitdir}/phosphor-reset-host-check@.service
-    rm -f ${D}${systemd_system_unitdir}/phosphor-reset-sensor-states@.service
     rm -f ${D}${systemd_system_unitdir}/phosphor-reset-host-running@.service
 }