Switch to systemd state management

Enable systemd chassis and bmc state management support for Phosphor.

Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Change-Id: I180496eb8e48dfc617f944053b8e909210c6df7d
diff --git a/common/recipes-phosphor/obmc-phosphor-sys/obmc-control-bmc.bb b/common/recipes-phosphor/obmc-phosphor-sys/obmc-control-bmc.bb
index bfc3326..99f5618 100644
--- a/common/recipes-phosphor/obmc-phosphor-sys/obmc-control-bmc.bb
+++ b/common/recipes-phosphor/obmc-phosphor-sys/obmc-control-bmc.bb
@@ -4,5 +4,9 @@
 PR = "r1"
 
 inherit skeleton-gdbus
+inherit obmc-phosphor-dbus-service
 
 SKELETON_DIR = "bmcctl"
+
+FMT = "org.openbmc.control.Bmc@{0}.service"
+DBUS_SERVICE_${PN} += "${@compose_list(d, 'FMT', 'OBMC_BMC_INSTANCES')}"
diff --git a/common/recipes-phosphor/obmc-phosphor-sys/obmc-mgr-state.bb b/common/recipes-phosphor/obmc-phosphor-sys/obmc-mgr-state.bb
index 125fd65..464cf11 100644
--- a/common/recipes-phosphor/obmc-phosphor-sys/obmc-mgr-state.bb
+++ b/common/recipes-phosphor/obmc-phosphor-sys/obmc-mgr-state.bb
@@ -3,6 +3,7 @@
 PR = "r1"
 
 inherit skeleton-python
+inherit obmc-phosphor-systemd
 
 VIRTUAL-RUNTIME_skeleton_workbook ?= ""
 
@@ -14,3 +15,14 @@
         "
 
 SKELETON_DIR = "pystatemgr"
+SYSTEMD_SERVICE_${PN} += "obmc-mgr-state.service obmc-mgr-state.target"
+
+TMPL = "mapper-wait@.service"
+TGT = "obmc-mgr-state.target"
+HOST_FMT = "../${TMPL}:${TGT}.wants/mapper-wait@-org-openbmc-settings-host{0}.service"
+CHASSIS_FMT = "../${TMPL}:${TGT}.wants/mapper-wait@-org-openbmc-control-chassis{0}.service"
+POWER_FMT = "../${TMPL}:${TGT}.wants/mapper-wait@-org-openbmc-control-power{0}.service"
+
+SYSTEMD_LINK_${PN} += "${@compose_list_zip(d, 'HOST_FMT', 'OBMC_HOST_INSTANCES')}"
+SYSTEMD_LINK_${PN} += "${@compose_list_zip(d, 'CHASSIS_FMT', 'OBMC_CHASSIS_INSTANCES')}"
+SYSTEMD_LINK_${PN} += "${@compose_list_zip(d, 'POWER_FMT', 'OBMC_POWER_INSTANCES')}"
diff --git a/common/recipes-phosphor/obmc-phosphor-sys/obmc-mgr-system.bb b/common/recipes-phosphor/obmc-phosphor-sys/obmc-mgr-system.bb
index accd7da..b59833e 100644
--- a/common/recipes-phosphor/obmc-phosphor-sys/obmc-mgr-system.bb
+++ b/common/recipes-phosphor/obmc-phosphor-sys/obmc-mgr-system.bb
@@ -3,7 +3,7 @@
 PR = "r1"
 
 inherit skeleton-python
-inherit obmc-phosphor-systemd
+inherit obmc-phosphor-dbus-service
 
 VIRTUAL-RUNTIME_skeleton_workbook ?= ""
 
@@ -25,3 +25,6 @@
 do_install_append() {
 	oe_runmake -C ../hacks install DESTDIR=${D}
 }
+
+DBUS_SERVICE_${PN} += "org.openbmc.managers.System.service"
+SYSTEMD_SERVICE_${PN} += "startup-hacks.service"
diff --git a/common/recipes-phosphor/obmc-phosphor-sys/obmc-mgr-system/obmc-mgr-system.service b/common/recipes-phosphor/obmc-phosphor-sys/obmc-mgr-system/obmc-mgr-system.service
deleted file mode 100644
index 076a60a..0000000
--- a/common/recipes-phosphor/obmc-phosphor-sys/obmc-mgr-system/obmc-mgr-system.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=OpenBMC system manager
-Requires=org.openbmc.ObjectMapper.service
-After=org.openbmc.ObjectMapper.service
-
-[Service]
-Restart=always
-ExecStart=/usr/sbin/system_manager.py
-
-[Install]
-WantedBy=multi-user.target