diff options
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.bb | 53 |
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 000000000..c6d0cba73 --- /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" |