diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2020-06-12 00:56:16 +0300 |
---|---|---|
committer | Andrew Geissler <geissonator@yahoo.com> | 2020-06-16 23:42:19 +0300 |
commit | 1f2b9a49104facb6451c4fe603b676c7040195a6 (patch) | |
tree | 8d534e7ac0fb8d305c9c020719dbf15be6987ab0 /meta-phosphor/classes/phosphor-logging-yaml-provider.bbclass | |
parent | ef116bd82710a0ff4078c318e8181be63e11a885 (diff) | |
download | openbmc-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/classes/phosphor-logging-yaml-provider.bbclass')
-rw-r--r-- | meta-phosphor/classes/phosphor-logging-yaml-provider.bbclass | 22 |
1 files changed, 22 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 +} |