diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-01-27 06:11:36 +0300 |
---|---|---|
committer | Andrew Geissler <geissonator@yahoo.com> | 2018-02-08 21:16:01 +0300 |
commit | 01e6b17936d00bcb0d3547873c557732abff1b80 (patch) | |
tree | 8a8c1fcd48282d3dad78d67d2ce20d97f6e83e2f /meta-phosphor | |
parent | eff3d02a180ef60102f1f25d765b2ddf72831be3 (diff) | |
download | openbmc-01e6b17936d00bcb0d3547873c557732abff1b80.tar.xz |
ipmi: Refactor whitelist generation
The current dual-use of packagegroup-ipmid-providers as a
dependency insertion point for both native (whitelists) and
runtime (provider libs) doesn't work under Yocto 2.3.
Move the ipmi provider configuration from recipe scope to
the global configuration scope so we can continue to avoid
dually maintaining whitelist and provider lists _and_ build
under Yocto 2.3.
Also rename OBMC_IPMID_PROVIDERS with the more conventional
VIRTUAL-RUNTIME_phosphor-ipmi-providers.
Change-Id: I1acce0b08047cba2312f60542942cccbcff66aec
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-phosphor')
3 files changed, 22 insertions, 9 deletions
diff --git a/meta-phosphor/common/recipes-phosphor/ipmi/phosphor-ipmi-host.bb b/meta-phosphor/common/recipes-phosphor/ipmi/phosphor-ipmi-host.bb index fe32be20d..180d70dbb 100644 --- a/meta-phosphor/common/recipes-phosphor/ipmi/phosphor-ipmi-host.bb +++ b/meta-phosphor/common/recipes-phosphor/ipmi/phosphor-ipmi-host.bb @@ -12,10 +12,18 @@ inherit obmc-phosphor-systemd inherit phosphor-ipmi-host inherit pythonnative +def ipmi_whitelists(d): + whitelists = d.getVar( + 'VIRTUAL-RUNTIME_phosphor-ipmi-providers', True) or '' + whitelists = whitelists.split() + whitelists = [ '{}-whitelist-native'.format(x) for x in whitelists ] + return ' '.join(whitelists) + + DEPENDS += "autoconf-archive-native" DEPENDS += "nlohmann-json" DEPENDS += "obmc-targets" -DEPENDS += "packagegroup-obmc-ipmid-providers" +DEPENDS += "${@ipmi_whitelists(d)}" DEPENDS += "phosphor-dbus-interfaces" DEPENDS += "phosphor-logging" DEPENDS += "phosphor-mapper" diff --git a/meta-phosphor/common/recipes-phosphor/packagegroups/packagegroup-obmc-ipmid-providers.bb b/meta-phosphor/common/recipes-phosphor/packagegroups/packagegroup-obmc-ipmid-providers.bb index 87d17f967..cbe7e7fb9 100644 --- a/meta-phosphor/common/recipes-phosphor/packagegroups/packagegroup-obmc-ipmid-providers.bb +++ b/meta-phosphor/common/recipes-phosphor/packagegroups/packagegroup-obmc-ipmid-providers.bb @@ -7,12 +7,5 @@ inherit obmc-phosphor-license PROVIDES = "${PACKAGES}" PACKAGES = "${PN}-libs" -OBMC_IPMID_PROVIDERS = "phosphor-ipmi-fru" - SUMMARY_${PN}-libs = "Extra providers for ipmid." -RDEPENDS_${PN}-libs = "${OBMC_IPMID_PROVIDERS}" - -WHITELIST_FORMAT = "{0}-whitelist-native" -OBMC_IPMID_WHITELISTS = "${@compose_list(d, 'WHITELIST_FORMAT', 'OBMC_IPMID_PROVIDERS')}" - -DEPENDS_append = "${OBMC_IPMID_WHITELISTS}" +RDEPENDS_${PN}-libs = "${VIRTUAL-RUNTIME_phosphor-ipmi-providers}" diff --git a/meta-phosphor/conf/distro/include/phosphor-defaults.inc b/meta-phosphor/conf/distro/include/phosphor-defaults.inc index 2317d9a4e..5387f93d8 100644 --- a/meta-phosphor/conf/distro/include/phosphor-defaults.inc +++ b/meta-phosphor/conf/distro/include/phosphor-defaults.inc @@ -230,3 +230,15 @@ VIRTUAL-RUNTIME_obmc-user-mgmt ?= "phosphor-user-manager" OBMC_DBUS_PATH_ROOT ?= "/xyz/openbmc_project" OBMC_DBUS_IFACE_ROOT ?= "xyz.openbmc_project" + +# VIRTUAL-RUNTIME_phosphor-ipmi-providers are the set of shared library +# plugins for the host-ipmid application. By default the IPMI FRU plugin +# is enabled. Additionally the host-ipmid recipe uses +# VIRTUAL-RUNTIME_phosphor-ipmi-providers to compute a list of potential +# IPMI whitelist recipe dependencies. For example: +# +# VIRTUAL-RUNTIME_phosphor-ipmi-providers ?= "phosphor-ipmi-fru" +# +# Will add a build dependency to host-ipmid on the +# phosphor-ipmi-fru-whitelist-native recipe. +VIRTUAL-RUNTIME_phosphor-ipmi-providers ?= "phosphor-ipmi-fru" |