Recipes for installing fan definition yaml

This provides the phosphor-fan-control-fan-config virtual to
define the fans required by phosphor-fan-control.

On systems with the MRW, phosphor-fan-control-fan-config-mrw-native.bb
will be used and will run a perl script to generate the yaml
from data in the MRW XML.

On systems without the MRW, if nothing else is done a default
fans.yaml file will be installed into the correct location
by phosphor-fan-control-fan-config-native.bb.  To install a
system specific version, put it into that system's layer along
with a .bbappend of this recipe.

Change-Id: I36889a33e16a456a04b94aba7326dd674bfd2904
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
diff --git a/common/recipes-phosphor/fans/phosphor-fan-control-fan-config-mrw-native.bb b/common/recipes-phosphor/fans/phosphor-fan-control-fan-config-mrw-native.bb
new file mode 100644
index 0000000..1eadadf
--- /dev/null
+++ b/common/recipes-phosphor/fans/phosphor-fan-control-fan-config-mrw-native.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Generate fan control YAML from the MRW"
+PR = "r1"
+
+inherit native
+inherit obmc-phosphor-license
+inherit phosphor-fan
+
+DEPENDS += " \
+           mrw-native \
+           mrw-perl-tools-native \
+           "
+
+PROVIDES += "virtual/phosphor-fan-control-fan-config"
+
+S = "${WORKDIR}"
+
+do_compile() {
+    ${bindir}/perl-native/perl \
+        ${bindir}/gen_fan_zone_yaml.pl \
+        -i ${datadir}/obmc-mrw/${MACHINE}.xml \
+        -o ${S}/fans.yaml
+}
+
+do_install() {
+        DEST=${D}${control_datadir}
+        install -D ${S}/fans.yaml ${DEST}/fans.yaml
+}
diff --git a/common/recipes-phosphor/fans/phosphor-fan-control-fan-config-native.bb b/common/recipes-phosphor/fans/phosphor-fan-control-fan-config-native.bb
new file mode 100644
index 0000000..76b0985
--- /dev/null
+++ b/common/recipes-phosphor/fans/phosphor-fan-control-fan-config-native.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Phosphor fan definition example data"
+PR = "r1"
+
+inherit native
+inherit obmc-phosphor-license
+inherit phosphor-fan
+
+PROVIDES += "virtual/phosphor-fan-control-fan-config"
+
+SRC_URI += "file://fans.yaml"
+
+S = "${WORKDIR}"
+
+do_install() {
+    DEST=${D}${control_datadir}
+    install -D fans.yaml ${DEST}/fans.yaml
+}
diff --git a/common/recipes-phosphor/fans/phosphor-fan-control-fan-config/fans.yaml b/common/recipes-phosphor/fans/phosphor-fan-control-fan-config/fans.yaml
new file mode 100644
index 0000000..8a6c271
--- /dev/null
+++ b/common/recipes-phosphor/fans/phosphor-fan-control-fan-config/fans.yaml
@@ -0,0 +1,2 @@
+#Default fan definition YAML - empty.
+#For format, see documentation in fan control code repository example yaml.