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
(From meta-phosphor rev: a560e8e1f911f445500b42a5f3fd1c17adb37451)
Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Idb35a05279468745260085182a466776d9fe7d61
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
index 2acccbb..db3999b 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
+++ b/meta-phosphor/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}"