meta-phosphor: ipmi: improve entity YAML selection

The existing scheme for selecting an entity configuration YAML for
building ipmid consists of a virtual (phosphor-ipmi-entity-config) with
the preferred provider  set to a default recipe
(phosphor-ipmi-entity-inventory-native) in the Phosphor distro
configuration.

Instead, provide a reasonable default directly in the ipmid metadata.
This is a small step towards enabling ipmid to build without any distro
configuration and should lower the effort required (slightly) to
comprehend where the the entity YAML file is coming from.

There aren't any known clients overriding the entity YAML in the first
place, but a client could still override with an ipmid bbappend and
setting EXTRA_OECONF appropriately.

Change-Id: I652c1da26473822630440303786dc17b38ea73e7
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/recipes-phosphor/ipmi/phosphor-ipmi-host_git.bb b/recipes-phosphor/ipmi/phosphor-ipmi-host_git.bb
index 314b70f..f5606cb 100644
--- a/recipes-phosphor/ipmi/phosphor-ipmi-host_git.bb
+++ b/recipes-phosphor/ipmi/phosphor-ipmi-host_git.bb
@@ -14,6 +14,8 @@
 inherit phosphor-ipmi-host
 inherit pythonnative
 
+SRC_URI += "file://entity.yaml"
+
 def ipmi_whitelists(d):
     whitelists = d.getVar(
         'VIRTUAL-RUNTIME_phosphor-ipmi-providers', True) or ''
@@ -33,7 +35,6 @@
 DEPENDS += "virtual/phosphor-ipmi-inventory-sel"
 DEPENDS += "virtual/phosphor-ipmi-fru-merge-config"
 DEPENDS += "virtual/phosphor-ipmi-sensor-inventory"
-DEPENDS += "virtual/phosphor-ipmi-entity-config"
 DEPENDS += "boost"
 DEPENDS += "sdeventplus"
 
@@ -74,7 +75,6 @@
         SENSOR_YAML_GEN=${STAGING_DIR_NATIVE}${sensor_datadir}/sensor.yaml \
         INVSENSOR_YAML_GEN=${STAGING_DIR_NATIVE}${sensor_datadir}/invsensor.yaml \
         FRU_YAML_GEN=${STAGING_DIR_NATIVE}${config_datadir}/fru_config.yaml \
-        ENTITY_YAML_GEN=${STAGING_DIR_NATIVE}${sensor_datadir}/entity.yaml \
         "
 EXTRA_OECONF_append = " \
         WHITELIST_CONF="${WHITELIST_CONF}" \
@@ -103,6 +103,16 @@
 SOFT_FMT = "../${SOFT_SVC}:${SOFT_TGTFMT}.requires/${SOFT_SVC}"
 SYSTEMD_LINK_${PN} += "${@compose_list_zip(d, 'SOFT_FMT', 'OBMC_HOST_INSTANCES')}"
 
+do_replace_entity_default() {
+    # The in-repo provided default is tailored to testing the ipmid code.
+    # Replace it with a reasonable default for users.
+    cp entity.yaml ${S}/scripts/entity-example.yaml
+}
+
+do_patch_append() {
+    bb.build.exec_func('do_replace_entity_default', d)
+}
+
 #Collect all hardcoded sensor yamls from different recipes and
 #merge all of them with sensor.yaml.
 python do_merge_sensors () {