openpower-software-manager: Support ubi and static layout

Move ubi and static specific configures into bbclass, and inherit the
bbclass in openpower-software-manager recipe.

Tested: Verify Romulus build uses the static bbclass, and Witherspoon
        uses the ubi bbclass.

(From meta-openpower rev: 2c2604d36e9415396baf1936b07a6a974b376cd9)

Change-Id: I23f68486ab95802785f7c5c22232a9f2b76d0341
Signed-off-by: Lei YU <mine260309@gmail.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/meta-openpower/classes/openpower-software-manager-static.bbclass b/meta-openpower/classes/openpower-software-manager-static.bbclass
new file mode 100644
index 0000000..4afb274
--- /dev/null
+++ b/meta-openpower/classes/openpower-software-manager-static.bbclass
@@ -0,0 +1,4 @@
+RDEPENDS_${PN} += "pflash"
+
+SYSTEMD_SERVICE_${PN} += "openpower-pnor-update@.service"
+
diff --git a/meta-openpower/classes/openpower-software-manager-ubi.bbclass b/meta-openpower/classes/openpower-software-manager-ubi.bbclass
new file mode 100644
index 0000000..ae6c388
--- /dev/null
+++ b/meta-openpower/classes/openpower-software-manager-ubi.bbclass
@@ -0,0 +1,35 @@
+SRC_URI += "file://obmc-flash-bios"
+
+PACKAGECONFIG_append = " ubifs_layout"
+
+do_install_append() {
+        install -d ${D}${sbindir}
+        install -m 0755 ${WORKDIR}/obmc-flash-bios ${D}${sbindir}/obmc-flash-bios
+}
+
+SYSTEMD_SERVICE_${PN} += " \
+        obmc-flash-bios-ubiattach.service \
+        obmc-flash-bios-ubimount@.service \
+        obmc-flash-bios-ubiumount-ro@.service \
+        obmc-flash-bios-ubiumount-rw@.service \
+        obmc-flash-bios-ubipatch.service \
+        obmc-flash-bios-ubiremount.service \
+        obmc-flash-bios-updatesymlinks.service \
+        obmc-flash-bios-cleanup.service \
+        obmc-flash-bios-enable-clearvolatile@.service \
+        obmc-flash-bios-check-clearvolatile@.service \
+        op-pnor-msl.service \
+        "
+
+ENABLE_CLEAR_VOLATILE_TMPL = "obmc-flash-bios-enable-clearvolatile@.service"
+HOST_START_TGTFMT = "obmc-host-start@{0}.target"
+ENABLE_CLEAR_VOLATILE_INSTFMT = "obmc-flash-bios-enable-clearvolatile@{0}.service"
+ENABLE_CLEAR_VOLATILE_START_FMT = "../${ENABLE_CLEAR_VOLATILE_TMPL}:${HOST_START_TGTFMT}.requires/${ENABLE_CLEAR_VOLATILE_INSTFMT}"
+
+CHECK_CLEAR_VOLATILE_TMPL = "obmc-flash-bios-check-clearvolatile@.service"
+HOST_STARTMIN_TGTFMT = "obmc-host-startmin@{0}.target"
+CHECK_CLEAR_VOLATILE_INSTFMT = "obmc-flash-bios-check-clearvolatile@{0}.service"
+CHECK_CLEAR_VOLATILE_START_FMT = "../${CHECK_CLEAR_VOLATILE_TMPL}:${HOST_STARTMIN_TGTFMT}.requires/${CHECK_CLEAR_VOLATILE_INSTFMT}"
+
+SYSTEMD_LINK_${PN} += "${@compose_list_zip(d, 'ENABLE_CLEAR_VOLATILE_START_FMT', 'OBMC_HOST_INSTANCES')}"
+SYSTEMD_LINK_${PN} += "${@compose_list_zip(d, 'CHECK_CLEAR_VOLATILE_START_FMT', 'OBMC_HOST_INSTANCES')}"