# Common code for recipes that modify the phosphor-mapper # configuration. # # Typically it is not desired to monitor all dbus traffic # on a system and as such, the phosphor-mapper has command # line options to control what path namespaces and dbus # interfaces it will keep track of. # # The Phosphor layer by default configures the mapper to # watch xyz.openbmc_project interfaces and paths only. This # configuration file is intended to be inherited by # native recipes in other layers that wish to add namespaces # or interfaces to the mapper watchlist. # Add path namespaces to be monitored: # PHOSPHOR_MAPPER_NAMESPACE_append = " /foo/bar" # Add interfaces to be monitored: # PHOSPHOR_MAPPER_INTERFACE_append = " foo.bar" # Blacklist paths from being monitored: # PHOSPHOR_MAPPER_NAMESPACE_BLACKLIST_append = " /foo/bar/baz" # Blacklist interfaces from being monitored: # PHOSPHOR_MAPPER_INTERFACE_BLACKLIST_append = " foo.bar.baz" inherit phosphor-mapperdir inherit obmc-phosphor-utils python phosphor_mapper_do_postinst() { def process_var(d, var, dir): for p in listvar_to_list(d, var): parent = d.getVar('D', True) + d.getVar(dir, True) if not os.path.exists(parent): os.makedirs(parent) path = os.path.join( parent, '-'.join(p.split(os.sep))) with open(path, 'w+') as fd: pass process_var(d, 'PHOSPHOR_MAPPER_NAMESPACE', 'namespace_dir') process_var(d, 'PHOSPHOR_MAPPER_INTERFACE', 'interface_dir') process_var(d, 'PHOSPHOR_MAPPER_NAMESPACE_BLACKLIST', 'blacklist_dir') process_var( d, 'PHOSPHOR_MAPPER_INTERFACE_BLACKLIST', 'interfaceblacklist_dir') } do_install[vardeps] += "PHOSPHOR_MAPPER_NAMESPACE" do_install[vardeps] += "PHOSPHOR_MAPPER_INTERFACE" do_install[vardeps] += "PHOSPHOR_MAPPER_NAMESPACE_BLACKLIST" do_install[vardeps] += "PHOSPHOR_MAPPER_INTERFACE_BLACKLIST" do_install[postfuncs] += "phosphor_mapper_do_postinst"