summaryrefslogtreecommitdiff
path: root/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon-config-mrw.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon-config-mrw.bb')
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon-config-mrw.bb53
1 files changed, 53 insertions, 0 deletions
diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon-config-mrw.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon-config-mrw.bb
new file mode 100644
index 0000000000..c6d0cba731
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon-config-mrw.bb
@@ -0,0 +1,53 @@
+SUMMARY = "Phosphor hwmon configuration generator"
+DESCRIPTION = "Generate phosphor-hwmon configuration from an MRW."
+PR = "r1"
+
+inherit obmc-phosphor-license
+inherit allarch
+inherit mrw-xml
+
+DEPENDS += "mrw-perl-tools-native mrw-native"
+
+do_compile_append() {
+ ${STAGING_BINDIR_NATIVE}/perl-native/perl \
+ ${STAGING_BINDIR_NATIVE}/hwmon.pl \
+ -x ${mrw_datadir}/${MRW_XML} \
+ -d ${WORKDIR}/mrw-config-files
+}
+
+def find_conf_files(dir):
+ 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(dir):
+ 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
+
+ conf_file_dir = os.path.join(
+ d.getVar("WORKDIR", True),
+ 'mrw-config-files')
+ files = find_conf_files(conf_file_dir)
+
+ install_dir = os.path.join(d.getVar("D", True),
+ "etc", "default", "obmc", "hwmon")
+
+ dir_len = len(conf_file_dir)
+
+ for f in files:
+ dest = os.path.join(install_dir, f[dir_len + 1:])
+ parent = os.path.dirname(dest)
+ if not os.path.exists(parent):
+ os.makedirs(parent)
+
+ copy(f, dest)
+}
+
+do_install[postfuncs] += "install_conf_files"