meta-phosphor: ipmi-flash: add systemd targets

phosphor-ipmi-flash installs three targets by default, this adds those
installations.  Each system that leverages phosphor-ipmi-flash will want
to define their services to be installed by these three targets.

The phosphor-ipmi-flash-bmc-prepare.target should have a service that
clears caches or any other steps to prepare to receive an update image.

The phosphor-ipmi-flash-bmc-verify.target should have a service that
verifies the image's contents against a hash value provided.

If a platform is using reboot-update, they don't need to provide an
additional service for phosphor-ipmi-flash-bmc-update.target.
Otherwise, this target should have service(s) that handle updating the
BMC's firmware.  This can mean, unpacking and installing the UBI
tarball, or anything required.

If the host is using phosphor-ipmi-flash to update the host bios, then
via the host-bios package configuration option, you are provided an
additional three targets:
 * phosphor-ipmi-flash-bios-prepare.target
 * phosphor-ipmi-flash-bios-verify.target
 * phosphor-ipmi-flash-bios-update.target

These three targets are effectively the same uses as the BMC targets,
but are triggered if one is sending data to the /flash/bios blob.

phosphor-ipmi-flash: srcrev bump 33311b47b3..c9792e7536

Patrick Venture (9):
      build: prevent enabling aspeed and nuvoton
      build: drop --enable-pci-bridge option
      build: drop --enable-lpc-bridge option
      build: prevent enabling both static and ubi tarball
      build: install three targets to handle bmc updates
      bmc: only add verifyBlobId if data sent for image
      bmc: add ActionPack notion to bundle actions
      build: add option --enable-host-bios
      tools: add bios support

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I009407283997c7ddae9dd73e606d0d11eb274cd8
diff --git a/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb b/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
index 2acccbb..db3999b 100644
--- a/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
+++ b/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
@@ -8,11 +8,13 @@
 
 inherit autotools pkgconfig
 inherit obmc-phosphor-ipmiprovider-symlink
+inherit systemd
 
 DEPENDS += "autoconf-archive-native"
 DEPENDS += "phosphor-ipmi-blobs"
 DEPENDS += "phosphor-logging"
 DEPENDS += "sdbusplus"
+DEPENDS += "systemd"
 DEPENDS += "ipmi-blob-tool"
 DEPENDS += "pciutils"
 
@@ -20,12 +22,25 @@
 PACKAGECONFIG[cleanup-delete] = "--enable-cleanup-delete, --disable-cleanup-delete"
 # If using static-layout, reboot-update is a good option to handle updating.
 PACKAGECONFIG[reboot-update] = "--enable-reboot-update, --disable-reboot-update"
+PACKAGECONFIG[host-bios] = "--enable-host-bios, --disable-host-bios"
 
 EXTRA_OECONF = "--disable-tests --disable-build-host-tool"
 
 S = "${WORKDIR}/git"
 SRC_URI = "git://github.com/openbmc/phosphor-ipmi-flash"
-SRCREV = "33311b47b3b656cfc16568b4b971730cb79130bc"
+SRCREV = "c9792e75361c86da7f674976eacd03c761021d2f"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} += "phosphor-ipmi-flash-bmc-prepare.target \
+ phosphor-ipmi-flash-bmc-verify.target \
+ phosphor-ipmi-flash-bmc-update.target"
+
+# If they enabled host-bios, add those three extra targets.
+HOST_BIOS_TARGETS = "phosphor-ipmi-flash-bios-prepare.target \
+ phosphor-ipmi-flash-bios-verify.target \
+ phosphor-ipmi-flash-bios-update.target"
+
+SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'host-bios', '${HOST_BIOS_TARGETS}', '', d)}"
 
 FILES_${PN}_append = " ${libdir}/ipmid-providers/lib*${SOLIBS}"
 FILES_${PN}_append = " ${libdir}/blob-ipmid/lib*${SOLIBS}"