Change how hwmon.pl is invoked for MRW systems

This minor tweak removes the need for MRW using systems
to append the phosphor-hwmon recipe in their layer.

Change-Id: I3d9dcfff452e26d191df37ae7d759c6c2c3f2cd4
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon-config-mrw.bb b/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon-config-mrw.bb
new file mode 100644
index 0000000..d72d503
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/sensors/phosphor-hwmon-config-mrw.bb
@@ -0,0 +1,45 @@
+SUMMARY = "Phosphor hwmon configuration generator"
+DESCRIPTION = "Generate phosphor-hwmon configuration from an MRW."
+PR = "r1"
+
+inherit obmc-phosphor-license
+inherit allarch
+
+DEPENDS += "mrw-perl-tools-native mrw-native"
+
+do_compile_append() {
+    ${STAGING_BINDIR_NATIVE}/perl-native/perl \
+        ${STAGING_BINDIR_NATIVE}/hwmon.pl \
+        -x ${STAGING_DATADIR_NATIVE}/obmc-mrw/${MACHINE}.xml
+}
+
+def find_conf_files():
+    from fnmatch import fnmatch
+    myfiles = []
+
+    #These conf files generated by hwmon.pl are in
+    #subdirectories which we need to preserve the path to.
+    for root, dirs, files in os.walk("./"):
+        for name in files:
+            if fnmatch(name, "*.conf"):
+                myfiles.append(os.path.join(root, name))
+
+    return  myfiles
+
+python install_conf_files() {
+    from shutil import copy
+
+    files = find_conf_files()
+
+    install_dir = os.path.join(d.getVar("D", True),
+                               "etc", "default", "obmc", "hwmon")
+    for f in files:
+        dest = os.path.join(install_dir, f)
+        parent = os.path.dirname(dest)
+        if not os.path.exists(parent):
+            os.makedirs(parent)
+
+        copy(f, dest)
+}
+
+do_install[postfuncs] += "install_conf_files"