summaryrefslogtreecommitdiff
path: root/meta-phosphor
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2020-06-12 00:56:16 +0300
committerAndrew Geissler <geissonator@yahoo.com>2020-06-16 23:42:19 +0300
commit1f2b9a49104facb6451c4fe603b676c7040195a6 (patch)
tree8d534e7ac0fb8d305c9c020719dbf15be6987ab0 /meta-phosphor
parentef116bd82710a0ff4078c318e8181be63e11a885 (diff)
downloadopenbmc-1f2b9a49104facb6451c4fe603b676c7040195a6.tar.xz
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 <patrick@stwcx.xyz> Change-Id: I38e096c36180b2b6e68a336bb204727a2f96c1a1 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Diffstat (limited to 'meta-phosphor')
-rw-r--r--meta-phosphor/classes/phosphor-logging-yaml-provider.bbclass22
-rw-r--r--meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-yaml-provider_git.bb10
2 files changed, 32 insertions, 0 deletions
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"