blob: 686b5bf58f38ee580a0623cbd7ad32cbc03a2c24 [file] [log] [blame]
Patrick Venture2ff2ecc2018-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 Venturee4e8e7b2019-06-28 15:34:15 -07005PV = "1.0+git${SRCPV}"
Patrick Venture2ff2ecc2018-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 Geisslera560e8e2019-07-08 19:51:12 +000011inherit systemd
Patrick Venture2ff2ecc2018-11-09 18:27:28 -080012
13DEPENDS += "autoconf-archive-native"
14DEPENDS += "phosphor-ipmi-blobs"
15DEPENDS += "phosphor-logging"
16DEPENDS += "sdbusplus"
Andrew Geisslera560e8e2019-07-08 19:51:12 +000017DEPENDS += "systemd"
Patrick Venturef0bb2a92019-03-07 10:51:53 -080018DEPENDS += "ipmi-blob-tool"
Patrick Venturecb35b592019-05-03 10:35:28 -070019DEPENDS += "pciutils"
Patrick Venture2ff2ecc2018-11-09 18:27:28 -080020
Andrew Geissler67a224f2019-06-19 18:52:19 +000021PACKAGECONFIG ?= "cleanup-delete"
22PACKAGECONFIG[cleanup-delete] = "--enable-cleanup-delete, --disable-cleanup-delete"
Patrick Venture1e8155c2019-06-28 19:28:28 -070023# If using static-layout, reboot-update is a good option to handle updating.
24PACKAGECONFIG[reboot-update] = "--enable-reboot-update, --disable-reboot-update"
Patrick Ventureba602d92019-07-19 14:07:22 -070025
26# Default options for supporting various flash types:
27PACKAGECONFIG[static-bmc] = "--enable-static-layout, --disable-static-layout"
28PACKAGECONFIG[ubitar-bmc] = "--enable-tarball-ubi, --disable-tarball-ubi"
Andrew Geisslera560e8e2019-07-08 19:51:12 +000029PACKAGECONFIG[host-bios] = "--enable-host-bios, --disable-host-bios"
Andrew Geissler67a224f2019-06-19 18:52:19 +000030
Patrick Venture7f113ef2019-07-15 09:39:43 -070031# Hardware options to enable transmitting the data from the host.
32PACKAGECONFIG[aspeed-p2a] = "--enable-aspeed-p2a, --disable-aspeed-p2a"
33PACKAGECONFIG[aspeed-lpc] = "--enable-aspeed-lpc, --disable-aspeed-lpc"
34PACKAGECONFIG[nuvoton-lpc] = "--enable-nuvoton-lpc, --disable-nuvoton-lpc"
35
Patrick Venturef65a4e22019-05-15 12:19:16 -070036EXTRA_OECONF = "--disable-tests --disable-build-host-tool"
37
Patrick Venture2fba5de2019-07-15 09:50:03 -070038# Set this variable in your recipe to set it instead of using MAPPED_ADDRESS directly.
39IPMI_FLASH_BMC_ADDRESS ?= "0"
40EXTRA_OECONF_append = " MAPPED_ADDRESS=${IPMI_FLASH_BMC_ADDRESS}"
41
Patrick Venture2ff2ecc2018-11-09 18:27:28 -080042S = "${WORKDIR}/git"
43SRC_URI = "git://github.com/openbmc/phosphor-ipmi-flash"
Andrew Geissler7b57d1c2019-07-30 16:21:10 +000044SRCREV = "cf0e5de3f838898861208f8e2743aaf5221a5d5e"
Andrew Geisslera560e8e2019-07-08 19:51:12 +000045
46SYSTEMD_PACKAGES = "${PN}"
47SYSTEMD_SERVICE_${PN} += "phosphor-ipmi-flash-bmc-prepare.target \
48 phosphor-ipmi-flash-bmc-verify.target \
49 phosphor-ipmi-flash-bmc-update.target"
50
51# If they enabled host-bios, add those three extra targets.
52HOST_BIOS_TARGETS = "phosphor-ipmi-flash-bios-prepare.target \
53 phosphor-ipmi-flash-bios-verify.target \
54 phosphor-ipmi-flash-bios-update.target"
55
56SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'host-bios', '${HOST_BIOS_TARGETS}', '', d)}"
Patrick Venture2ff2ecc2018-11-09 18:27:28 -080057
58FILES_${PN}_append = " ${libdir}/ipmid-providers/lib*${SOLIBS}"
59FILES_${PN}_append = " ${libdir}/blob-ipmid/lib*${SOLIBS}"
60FILES_${PN}-dev_append = " ${libdir}/ipmid-providers/lib*${SOLIBSDEV} ${libdir}/ipmid-providers/*.la"
61
62BLOBIPMI_PROVIDER_LIBRARY += "libfirmwareblob.so"
Andrew Geissler67a224f2019-06-19 18:52:19 +000063BLOBIPMI_PROVIDER_LIBRARY += "${@bb.utils.contains('PACKAGECONFIG', 'cleanup-delete', 'libfirmwarecleanupblob.so', '', d)}"
Patrick Venturee21be192019-05-08 07:43:10 -070064
65do_configure[depends] += "virtual/kernel:do_shared_workdir"