blob: 27da1cc7a452085af5494ee82a1b79da784d047f [file] [log] [blame]
Patrick Venture6dd5cc92018-11-09 18:27:28 -08001HOMEPAGE = "http://github.com/openbmc/phosphor-ipmi-flash"
2SUMMARY = "Phosphor OEM IPMI In-band Firmware Update over BLOB"
3DESCRIPTION = "This package handles a series of OEM IPMI commands that implement the firmware update handler over the BLOB protocol."
4PR = "r1"
Patrick Venture24d981d2019-06-28 15:34:15 -07005PV = "1.0+git${SRCPV}"
Patrick Venture6dd5cc92018-11-09 18:27:28 -08006LICENSE = "Apache-2.0"
7LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
8
9inherit autotools pkgconfig
10inherit obmc-phosphor-ipmiprovider-symlink
Andrew Geisslerbae19af2019-07-08 19:51:12 +000011inherit systemd
Patrick Venture6dd5cc92018-11-09 18:27:28 -080012
13DEPENDS += "autoconf-archive-native"
14DEPENDS += "phosphor-ipmi-blobs"
15DEPENDS += "phosphor-logging"
16DEPENDS += "sdbusplus"
Andrew Geisslerbae19af2019-07-08 19:51:12 +000017DEPENDS += "systemd"
Patrick Venturea9f19bd2019-03-07 10:51:53 -080018DEPENDS += "ipmi-blob-tool"
Patrick Venturea26ccf52019-05-03 10:35:28 -070019DEPENDS += "pciutils"
William A. Kennington IIIf7fde092020-12-30 13:19:36 -080020DEPENDS += "function2"
Patrick Venture6dd5cc92018-11-09 18:27:28 -080021
Andrew Geissler79ca37b2019-06-19 18:52:19 +000022PACKAGECONFIG ?= "cleanup-delete"
23PACKAGECONFIG[cleanup-delete] = "--enable-cleanup-delete, --disable-cleanup-delete"
Patrick Venturee4c64072019-06-28 19:28:28 -070024# If using static-layout, reboot-update is a good option to handle updating.
Brandon Kimc0323d62019-09-17 17:14:48 -070025# To be able to track the update status, update-status option can be used.
26# Note that both reboot-update and update-status cannot be enabled at the same time.
Patrick Venturee4c64072019-06-28 19:28:28 -070027PACKAGECONFIG[reboot-update] = "--enable-reboot-update, --disable-reboot-update"
Brandon Kimc0323d62019-09-17 17:14:48 -070028PACKAGECONFIG[update-status] = "--enable-update-status, --disable-update-status"
Patrick Venture5bcb8672019-07-19 14:07:22 -070029
30# Default options for supporting various flash types:
31PACKAGECONFIG[static-bmc] = "--enable-static-layout, --disable-static-layout"
32PACKAGECONFIG[ubitar-bmc] = "--enable-tarball-ubi, --disable-tarball-ubi"
Andrew Geisslerbae19af2019-07-08 19:51:12 +000033PACKAGECONFIG[host-bios] = "--enable-host-bios, --disable-host-bios"
Andrew Geissler79ca37b2019-06-19 18:52:19 +000034
Patrick Venture700db3c2019-07-15 09:39:43 -070035# Hardware options to enable transmitting the data from the host.
36PACKAGECONFIG[aspeed-p2a] = "--enable-aspeed-p2a, --disable-aspeed-p2a"
37PACKAGECONFIG[aspeed-lpc] = "--enable-aspeed-lpc, --disable-aspeed-lpc"
38PACKAGECONFIG[nuvoton-lpc] = "--enable-nuvoton-lpc, --disable-nuvoton-lpc"
Benjamin Fair04f3ad52021-03-16 18:29:47 -070039PACKAGECONFIG[nuvoton-p2a-vga] = "--enable-nuvoton-p2a-vga, --disable-nuvoton-p2a-vga"
40PACKAGECONFIG[nuvoton-p2a-mbox] = "--enable-nuvoton-p2a-mbox, --disable-nuvoton-p2a-mbox"
Benjamin Fair264dcc02019-10-17 16:55:54 -070041PACKAGECONFIG[net-bridge] = "--enable-net-bridge, --disable-net-bridge"
Patrick Venture700db3c2019-07-15 09:39:43 -070042
Patrick Venture51c0f092019-05-15 12:19:16 -070043EXTRA_OECONF = "--disable-tests --disable-build-host-tool"
44
Patrick Ventured190c732019-07-15 09:50:03 -070045# Set this variable in your recipe to set it instead of using MAPPED_ADDRESS directly.
46IPMI_FLASH_BMC_ADDRESS ?= "0"
Patrick Williams12fc9392021-08-06 09:16:53 -050047EXTRA_OECONF:append = " MAPPED_ADDRESS=${IPMI_FLASH_BMC_ADDRESS}"
Patrick Ventured190c732019-07-15 09:50:03 -070048
Patrick Venture6dd5cc92018-11-09 18:27:28 -080049S = "${WORKDIR}/git"
50SRC_URI = "git://github.com/openbmc/phosphor-ipmi-flash"
Andrew Geissler9b168b72021-10-14 19:01:09 +000051SRCREV = "cf37663be89f128642092f7e04d8b6f00543b357"
Andrew Geisslerbae19af2019-07-08 19:51:12 +000052
53SYSTEMD_PACKAGES = "${PN}"
Patrick Williams12fc9392021-08-06 09:16:53 -050054SYSTEMD_SERVICE:${PN} += "phosphor-ipmi-flash-bmc-prepare.target \
Andrew Geisslerbae19af2019-07-08 19:51:12 +000055 phosphor-ipmi-flash-bmc-verify.target \
56 phosphor-ipmi-flash-bmc-update.target"
57
58# If they enabled host-bios, add those three extra targets.
59HOST_BIOS_TARGETS = "phosphor-ipmi-flash-bios-prepare.target \
60 phosphor-ipmi-flash-bios-verify.target \
61 phosphor-ipmi-flash-bios-update.target"
62
Patrick Williams12fc9392021-08-06 09:16:53 -050063SYSTEMD_SERVICE:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'host-bios', '${HOST_BIOS_TARGETS}', '', d)}"
Patrick Venture6dd5cc92018-11-09 18:27:28 -080064
Patrick Williams12fc9392021-08-06 09:16:53 -050065FILES:${PN}:append = " ${libdir}/ipmid-providers/lib*${SOLIBS}"
66FILES:${PN}:append = " ${libdir}/blob-ipmid/lib*${SOLIBS}"
67FILES:${PN}-dev:append = " ${libdir}/ipmid-providers/lib*${SOLIBSDEV} ${libdir}/ipmid-providers/*.la"
68FILES:${PN}:append = " ${libdir}/tmpfiles.d"
Patrick Venture6dd5cc92018-11-09 18:27:28 -080069
70BLOBIPMI_PROVIDER_LIBRARY += "libfirmwareblob.so"
William A. Kennington IIIa89d9242021-01-29 20:18:02 -080071BLOBIPMI_PROVIDER_LIBRARY += "libversionblob.so"
Andrew Geissler79ca37b2019-06-19 18:52:19 +000072BLOBIPMI_PROVIDER_LIBRARY += "${@bb.utils.contains('PACKAGECONFIG', 'cleanup-delete', 'libfirmwarecleanupblob.so', '', d)}"
Patrick Venture3c1a03b2019-05-08 07:43:10 -070073
74do_configure[depends] += "virtual/kernel:do_shared_workdir"