From 75c32cc93c243dc5096c47d7885b7c77aea0bc2f Mon Sep 17 00:00:00 2001 From: Deepak Kodihalli Date: Sun, 5 Feb 2017 10:39:06 -0600 Subject: Add recipe for openpower-vpd-parser openpower-vpd-parser includes an application which reads OpenPOWER VPD from an eeprom, parses it and writes the parsed content to the inventory. Change-Id: Id50d2c48e1f084777dd445753779426045c52428 Signed-off-by: Deepak Kodihalli --- .../classes/openpower-fru-vpd.bbclass | 1 + .../recipes-phosphor/vpd/openpower-fru-vpd.bb | 38 ++++++++++++++++++++++ .../recipes-phosphor/vpd/openpower-fru-vpd.inc | 5 +++ .../vpd/openpower-fru-vpd/op-vpd-parser.service | 11 +++++++ 4 files changed, 55 insertions(+) create mode 100644 meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-vpd.bb create mode 100644 meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-vpd.inc create mode 100644 meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-vpd/op-vpd-parser.service diff --git a/meta-openbmc-machines/meta-openpower/classes/openpower-fru-vpd.bbclass b/meta-openbmc-machines/meta-openpower/classes/openpower-fru-vpd.bbclass index 19f34e0ed..e86a2196f 100644 --- a/meta-openbmc-machines/meta-openpower/classes/openpower-fru-vpd.bbclass +++ b/meta-openbmc-machines/meta-openpower/classes/openpower-fru-vpd.bbclass @@ -1,3 +1,4 @@ vpdlayout_datadir="${datadir}/openpower-fru-vpd/vpdlayout" inventory_datadir_name="/openpower-fru-inventory/inventory" inventory_datadir_native="${datadir}${inventory_datadir_name}" +inventory_envdir="${envfiledir}/obmc" diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-vpd.bb b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-vpd.bb new file mode 100644 index 000000000..801b85db8 --- /dev/null +++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-vpd.bb @@ -0,0 +1,38 @@ +SUMMARY = "Parser for OpenPOWER-format FRU VPD" +DESCRIPTION = "Parse OpenPOWER-format FRU VPD and update inventory" +PR = "r1" + +inherit autotools pkgconfig +inherit openpower-fru-vpd +inherit pythonnative +inherit obmc-phosphor-systemd + +require ${PN}.inc + +DEPENDS += " \ + virtual/openpower-fru-vpd-layout \ + virtual/openpower-fru-inventory \ + sdbusplus \ + phosphor-logging \ + python-mako-native \ + python-pyyaml-native \ + autoconf-archive-native \ + " + +RDEPENDS_${PN} += " \ + sdbusplus \ + phosphor-logging \ + " + +SYSTEMD_SERVICE_${PN} += "op-vpd-parser.service" + +S = "${WORKDIR}/git" + +EXTRA_OECONF = "FRU_YAML=${STAGING_DIR_NATIVE}${vpdlayout_datadir}/layout.yaml" + +do_install_append() { + SRC=${STAGING_DATADIR_NATIVE}${inventory_datadir_name} + DEST=${D}${inventory_envdir} + install -d ${DEST} + install ${SRC}/inventory ${DEST} +} diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-vpd.inc b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-vpd.inc new file mode 100644 index 000000000..35bb81d78 --- /dev/null +++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-vpd.inc @@ -0,0 +1,5 @@ +HOMEPAGE = "https://github.com/openbmc/openpower-vpd-parser" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" +SRC_URI += "git://github.com/openbmc/openpower-vpd-parser" +SRCREV = "cd6d2416f02125819605f1274c7cf50c59d6ee2a" diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-vpd/op-vpd-parser.service b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-vpd/op-vpd-parser.service new file mode 100644 index 000000000..4c0add104 --- /dev/null +++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-vpd/op-vpd-parser.service @@ -0,0 +1,11 @@ +[Unit] +Description=Read OpenPOWER-format VPD from EEPROM +ConditionFileNotEmpty={envfiledir}/obmc/inventory +Wants=mapper-wait@-xyz-openbmc_project-Inventory-Manager.service +After=mapper-wait@-xyz-openbmc_project-Inventory-Manager.service + +[Service] +Restart=no +Type=oneshot +EnvironmentFile={envfiledir}/obmc/inventory +ExecStart={sbindir}/openpower-read-vpd --vpd=$EEPROM --fru=$FRUS --object=$PATHS -- cgit v1.2.1