summaryrefslogtreecommitdiff
path: root/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
diff options
context:
space:
mode:
authorWilly Tu <wltu@google.com>2021-09-17 19:46:45 +0300
committerPatrick Williams <patrick@stwcx.xyz>2021-11-03 14:43:34 +0300
commitfedadb534e47ee2f001cce76a4a2fae89d3cd513 (patch)
treee3ebb78722cc024e10ea43f10f8bdb8311638aaa /meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
parent3fb89bc6650d0f27d1417ce8a7f2d5fe5cb3d177 (diff)
downloadopenbmc-fedadb534e47ee2f001cce76a4a2fae89d3cd513.tar.xz
meta-phosphor: phosphor-ipmi-flash: Update recipe to use meson
The new meson now forced only one type of LPC or P2A to be enabled. The build will fail if both LPC and P2A are enabled. Out of the given type, only the last package enabled will be used. Added PACKAGECONFIG conflict feature. Tested ``` NOTE: Reconnecting to bitbake server... Loading cache: 100% |###################################################################################################################################################################################################| Time: 0:00:01 Loaded 3939 entries from dependency cache. ERROR: /workspace/gBMC/buildspace/gbmc/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb: phosphor-ipmi-flash: PACKAGECONFIG[nuvoton-lpc] Conflict package config 'nuvoton-p2a-mbox' set in PACKAGECONFIG.| ETA: --:--:-- ERROR: Failed to parse recipe: /workspace/gBMC/buildspace/gbmc/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb ``` Change-Id: I6ad9317cb5c35aa266ff67eb3b22e9f5f17f359b Signed-off-by: Willy Tu <wltu@google.com>
Diffstat (limited to 'meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb')
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb70
1 files changed, 36 insertions, 34 deletions
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 62551ea01..76c7bb767 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
@@ -6,65 +6,67 @@ PV = "1.0+git${SRCPV}"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-inherit autotools pkgconfig
-inherit obmc-phosphor-ipmiprovider-symlink
-inherit systemd
+inherit meson pkgconfig systemd
-DEPENDS += "autoconf-archive-native"
-DEPENDS += "phosphor-ipmi-blobs"
-DEPENDS += "phosphor-logging"
-DEPENDS += "sdbusplus"
-DEPENDS += "systemd"
-DEPENDS += "ipmi-blob-tool"
-DEPENDS += "pciutils"
-DEPENDS += "function2"
+DEPENDS += " \
+ phosphor-ipmi-blobs \
+ phosphor-logging \
+ sdbusplus \
+ systemd \
+ ipmi-blob-tool \
+ function2 \
+"
PACKAGECONFIG ?= "cleanup-delete"
-PACKAGECONFIG[cleanup-delete] = "--enable-cleanup-delete, --disable-cleanup-delete"
+PACKAGECONFIG[cleanup-delete] = "-Dcleanup-delete=enabled,-Dcleanup-delete=disabled"
# If using static-layout, reboot-update is a good option to handle updating.
# To be able to track the update status, update-status option can be used.
# Note that both reboot-update and update-status cannot be enabled at the same time.
-PACKAGECONFIG[reboot-update] = "--enable-reboot-update, --disable-reboot-update"
-PACKAGECONFIG[update-status] = "--enable-update-status, --disable-update-status"
+PACKAGECONFIG[reboot-update] = "-Dreboot-update=true,-Dreboot-update=false"
+PACKAGECONFIG[update-status] = "-Dupdate-status=true,-Dupdate-status=false"
# Default options for supporting various flash types:
-PACKAGECONFIG[static-bmc] = "--enable-static-layout, --disable-static-layout"
-PACKAGECONFIG[ubitar-bmc] = "--enable-tarball-ubi, --disable-tarball-ubi"
-PACKAGECONFIG[host-bios] = "--enable-host-bios, --disable-host-bios"
+PACKAGECONFIG[static-bmc] = "-Dupdate-type=static-layout,-Dupdate-type=none"
+PACKAGECONFIG[ubitar-bmc] = "-Dupdate-type=tarball-ubi,-Dupdate-type=none"
+PACKAGECONFIG[host-bios] = "-Dhost-bios=true,-Dhost-bios=false"
# Hardware options to enable transmitting the data from the host.
-PACKAGECONFIG[aspeed-p2a] = "--enable-aspeed-p2a, --disable-aspeed-p2a"
-PACKAGECONFIG[aspeed-lpc] = "--enable-aspeed-lpc, --disable-aspeed-lpc"
-PACKAGECONFIG[nuvoton-lpc] = "--enable-nuvoton-lpc, --disable-nuvoton-lpc"
-PACKAGECONFIG[nuvoton-p2a-vga] = "--enable-nuvoton-p2a-vga, --disable-nuvoton-p2a-vga"
-PACKAGECONFIG[nuvoton-p2a-mbox] = "--enable-nuvoton-p2a-mbox, --disable-nuvoton-p2a-mbox"
-PACKAGECONFIG[net-bridge] = "--enable-net-bridge, --disable-net-bridge"
+# Only one type of p2a or lpc can be enabled.
+PACKAGECONFIG[aspeed-p2a] = "-Dp2a-type=aspeed-p2a,,,,,aspeed-lpc nuvoton-lpc nuvoton-p2a-vga nuvoton-p2a-mbox"
+PACKAGECONFIG[aspeed-lpc] = "-Dlpc-type=aspeed-lpc,,,,,aspeed-p2a nuvoton-lpc nuvoton-p2a-vga nuvoton-p2a-mbox"
+PACKAGECONFIG[nuvoton-lpc] = "-Dlpc-type=nuvoton-lpc,,,,,aspeed-p2a aspeed-lpc nuvoton-p2a-vga nuvoton-p2a-mbox"
+PACKAGECONFIG[nuvoton-p2a-vga] = "-Dp2a-type=nuvoton-p2a-vga,,,,,aspeed-p2a aspeed-lpc nuvoton-lpc nuvoton-p2a-mbox"
+PACKAGECONFIG[nuvoton-p2a-mbox] = "-Dp2a-type=nuvoton-p2a-mbox,,,,,aspeed-p2a aspeed-lpc nuvoton-lpc nuvoton-p2a-vga"
+PACKAGECONFIG[net-bridge] = "-Dnet-bridge=true,-Dnet-bridge=false"
-EXTRA_OECONF = "--disable-tests --disable-build-host-tool"
+EXTRA_OEMESON = "-Dtests=disabled -Dhost-tool=disabled"
# Set this variable in your recipe to set it instead of using MAPPED_ADDRESS directly.
IPMI_FLASH_BMC_ADDRESS ?= "0"
-EXTRA_OECONF:append = " MAPPED_ADDRESS=${IPMI_FLASH_BMC_ADDRESS}"
+EXTRA_OEMESON:append = " -Dmapped-address=${IPMI_FLASH_BMC_ADDRESS}"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/phosphor-ipmi-flash"
SRCREV = "0df4085097d8454a918de8fed76b0574bb2da9db"
SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE:${PN} += "phosphor-ipmi-flash-bmc-prepare.target \
- phosphor-ipmi-flash-bmc-verify.target \
- phosphor-ipmi-flash-bmc-update.target"
+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"
+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}"
-FILES:${PN}-dev:append = " ${libdir}/ipmid-providers/lib*${SOLIBSDEV} ${libdir}/ipmid-providers/*.la"
+FILES:${PN}:append = " ${libdir}/ipmid-providers"
+FILES:${PN}:append = " ${libdir}/blob-ipmid"
FILES:${PN}:append = " ${libdir}/tmpfiles.d"
BLOBIPMI_PROVIDER_LIBRARY += "libfirmwareblob.so"