Patrick Venture | 2ff2ecc | 2018-11-09 18:27:28 -0800 | [diff] [blame] | 1 | HOMEPAGE = "http://github.com/openbmc/phosphor-ipmi-flash" |
| 2 | SUMMARY = "Phosphor OEM IPMI In-band Firmware Update over BLOB" |
| 3 | DESCRIPTION = "This package handles a series of OEM IPMI commands that implement the firmware update handler over the BLOB protocol." |
| 4 | PR = "r1" |
Patrick Venture | e4e8e7b | 2019-06-28 15:34:15 -0700 | [diff] [blame] | 5 | PV = "1.0+git${SRCPV}" |
Patrick Venture | 2ff2ecc | 2018-11-09 18:27:28 -0800 | [diff] [blame] | 6 | LICENSE = "Apache-2.0" |
| 7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" |
| 8 | |
| 9 | inherit autotools pkgconfig |
| 10 | inherit obmc-phosphor-ipmiprovider-symlink |
Andrew Geissler | a560e8e | 2019-07-08 19:51:12 +0000 | [diff] [blame] | 11 | inherit systemd |
Patrick Venture | 2ff2ecc | 2018-11-09 18:27:28 -0800 | [diff] [blame] | 12 | |
| 13 | DEPENDS += "autoconf-archive-native" |
| 14 | DEPENDS += "phosphor-ipmi-blobs" |
| 15 | DEPENDS += "phosphor-logging" |
| 16 | DEPENDS += "sdbusplus" |
Andrew Geissler | a560e8e | 2019-07-08 19:51:12 +0000 | [diff] [blame] | 17 | DEPENDS += "systemd" |
Patrick Venture | f0bb2a9 | 2019-03-07 10:51:53 -0800 | [diff] [blame] | 18 | DEPENDS += "ipmi-blob-tool" |
Patrick Venture | cb35b59 | 2019-05-03 10:35:28 -0700 | [diff] [blame] | 19 | DEPENDS += "pciutils" |
Patrick Venture | 2ff2ecc | 2018-11-09 18:27:28 -0800 | [diff] [blame] | 20 | |
Andrew Geissler | 67a224f | 2019-06-19 18:52:19 +0000 | [diff] [blame] | 21 | PACKAGECONFIG ?= "cleanup-delete" |
| 22 | PACKAGECONFIG[cleanup-delete] = "--enable-cleanup-delete, --disable-cleanup-delete" |
Patrick Venture | 1e8155c | 2019-06-28 19:28:28 -0700 | [diff] [blame] | 23 | # If using static-layout, reboot-update is a good option to handle updating. |
Brandon Kim | 6fc6358 | 2019-09-17 17:14:48 -0700 | [diff] [blame] | 24 | # To be able to track the update status, update-status option can be used. |
| 25 | # Note that both reboot-update and update-status cannot be enabled at the same time. |
Patrick Venture | 1e8155c | 2019-06-28 19:28:28 -0700 | [diff] [blame] | 26 | PACKAGECONFIG[reboot-update] = "--enable-reboot-update, --disable-reboot-update" |
Brandon Kim | 6fc6358 | 2019-09-17 17:14:48 -0700 | [diff] [blame] | 27 | PACKAGECONFIG[update-status] = "--enable-update-status, --disable-update-status" |
Patrick Venture | ba602d9 | 2019-07-19 14:07:22 -0700 | [diff] [blame] | 28 | |
| 29 | # Default options for supporting various flash types: |
| 30 | PACKAGECONFIG[static-bmc] = "--enable-static-layout, --disable-static-layout" |
| 31 | PACKAGECONFIG[ubitar-bmc] = "--enable-tarball-ubi, --disable-tarball-ubi" |
Andrew Geissler | a560e8e | 2019-07-08 19:51:12 +0000 | [diff] [blame] | 32 | PACKAGECONFIG[host-bios] = "--enable-host-bios, --disable-host-bios" |
Andrew Geissler | 67a224f | 2019-06-19 18:52:19 +0000 | [diff] [blame] | 33 | |
Patrick Venture | 7f113ef | 2019-07-15 09:39:43 -0700 | [diff] [blame] | 34 | # Hardware options to enable transmitting the data from the host. |
| 35 | PACKAGECONFIG[aspeed-p2a] = "--enable-aspeed-p2a, --disable-aspeed-p2a" |
| 36 | PACKAGECONFIG[aspeed-lpc] = "--enable-aspeed-lpc, --disable-aspeed-lpc" |
| 37 | PACKAGECONFIG[nuvoton-lpc] = "--enable-nuvoton-lpc, --disable-nuvoton-lpc" |
Benjamin Fair | 23bb90e | 2019-10-17 16:55:54 -0700 | [diff] [blame] | 38 | PACKAGECONFIG[net-bridge] = "--enable-net-bridge, --disable-net-bridge" |
Patrick Venture | 7f113ef | 2019-07-15 09:39:43 -0700 | [diff] [blame] | 39 | |
Patrick Venture | f65a4e2 | 2019-05-15 12:19:16 -0700 | [diff] [blame] | 40 | EXTRA_OECONF = "--disable-tests --disable-build-host-tool" |
| 41 | |
Patrick Venture | 2fba5de | 2019-07-15 09:50:03 -0700 | [diff] [blame] | 42 | # Set this variable in your recipe to set it instead of using MAPPED_ADDRESS directly. |
| 43 | IPMI_FLASH_BMC_ADDRESS ?= "0" |
| 44 | EXTRA_OECONF_append = " MAPPED_ADDRESS=${IPMI_FLASH_BMC_ADDRESS}" |
| 45 | |
Patrick Venture | 2ff2ecc | 2018-11-09 18:27:28 -0800 | [diff] [blame] | 46 | S = "${WORKDIR}/git" |
| 47 | SRC_URI = "git://github.com/openbmc/phosphor-ipmi-flash" |
Andrew Geissler | c1a491d | 2020-04-08 23:31:13 +0000 | [diff] [blame] | 48 | SRCREV = "d53d60a459c4664702bed8dff920f0d14e6a96c1" |
Andrew Geissler | a560e8e | 2019-07-08 19:51:12 +0000 | [diff] [blame] | 49 | |
| 50 | SYSTEMD_PACKAGES = "${PN}" |
| 51 | SYSTEMD_SERVICE_${PN} += "phosphor-ipmi-flash-bmc-prepare.target \ |
| 52 | phosphor-ipmi-flash-bmc-verify.target \ |
| 53 | phosphor-ipmi-flash-bmc-update.target" |
| 54 | |
| 55 | # If they enabled host-bios, add those three extra targets. |
| 56 | HOST_BIOS_TARGETS = "phosphor-ipmi-flash-bios-prepare.target \ |
| 57 | phosphor-ipmi-flash-bios-verify.target \ |
| 58 | phosphor-ipmi-flash-bios-update.target" |
| 59 | |
| 60 | SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'host-bios', '${HOST_BIOS_TARGETS}', '', d)}" |
Patrick Venture | 2ff2ecc | 2018-11-09 18:27:28 -0800 | [diff] [blame] | 61 | |
| 62 | FILES_${PN}_append = " ${libdir}/ipmid-providers/lib*${SOLIBS}" |
| 63 | FILES_${PN}_append = " ${libdir}/blob-ipmid/lib*${SOLIBS}" |
| 64 | FILES_${PN}-dev_append = " ${libdir}/ipmid-providers/lib*${SOLIBSDEV} ${libdir}/ipmid-providers/*.la" |
| 65 | |
| 66 | BLOBIPMI_PROVIDER_LIBRARY += "libfirmwareblob.so" |
Andrew Geissler | 67a224f | 2019-06-19 18:52:19 +0000 | [diff] [blame] | 67 | BLOBIPMI_PROVIDER_LIBRARY += "${@bb.utils.contains('PACKAGECONFIG', 'cleanup-delete', 'libfirmwarecleanupblob.so', '', d)}" |
Patrick Venture | e21be19 | 2019-05-08 07:43:10 -0700 | [diff] [blame] | 68 | |
| 69 | do_configure[depends] += "virtual/kernel:do_shared_workdir" |