From 1f2b9a49104facb6451c4fe603b676c7040195a6 Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Thu, 11 Jun 2020 16:56:16 -0500 Subject: phosphor-logging: create bbclass for non-native YAML The current working model for many packages that supply YAML is that they have both a native and a non-native package where the native package doesn't build anything but supplies YAML and the non-native package does the real building. In the case of phosphor-logging this is due to a cyclic dependency: package-yaml -> logging header -> package To hopefully reduce the complexity on package makefiles to this dual-build structure, I have created a non-native bbclass that can be used to create simple packages for the logging YAML. I have also created a sample for phosphor-led. (From meta-phosphor rev: bb79d7c980ba03f45ba5c3cb1783f59ee5cdc4bd) Signed-off-by: Patrick Williams Change-Id: I38e096c36180b2b6e68a336bb204727a2f96c1a1 Signed-off-by: Andrew Geissler --- .../classes/phosphor-logging-yaml-provider.bbclass | 22 ++++++++++++++++++++++ .../leds/phosphor-led-manager-yaml-provider_git.bb | 10 ++++++++++ 2 files changed, 32 insertions(+) create mode 100644 meta-phosphor/classes/phosphor-logging-yaml-provider.bbclass create mode 100644 meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-yaml-provider_git.bb (limited to 'meta-phosphor') diff --git a/meta-phosphor/classes/phosphor-logging-yaml-provider.bbclass b/meta-phosphor/classes/phosphor-logging-yaml-provider.bbclass new file mode 100644 index 000000000..f18adbbad --- /dev/null +++ b/meta-phosphor/classes/phosphor-logging-yaml-provider.bbclass @@ -0,0 +1,22 @@ +inherit phosphor-dbus-yaml + +LOGGING_YAML_SUBDIRS ??= "xyz/openbmc_project" + +do_install_append() { + for yaml_d in ${LOGGING_YAML_SUBDIRS} ; + do + if [ ! -d ${S}/${yaml_d} ]; + then + continue + fi + + for yaml_f in $(find ${S}/${yaml_d} -name "*.errors.yaml" -or \ + -name "*.metadata.yaml") ; + do + subpath=$(realpath --relative-to=${S} ${yaml_f}) + install -d $(dirname ${D}${yaml_dir}/$subpath) + + install -m 0644 ${yaml_f} ${D}${yaml_dir}/$subpath + done + done +} diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-yaml-provider_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-yaml-provider_git.bb new file mode 100644 index 000000000..8c009fce3 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-yaml-provider_git.bb @@ -0,0 +1,10 @@ +SUMMARY = "phosphor-led-manager: install phosphor-logging yaml" +PR = "r1" +PV = "1.0+git${SRCPV}" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +inherit phosphor-logging-yaml-provider +require phosphor-led-manager.inc + +S = "${WORKDIR}/git" -- cgit v1.2.3