diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-10-23 03:48:49 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-10-30 04:59:15 +0300 |
commit | 4f045d0b1bd11f4529a4b25c69a95ac043fe9e76 (patch) | |
tree | e076890092af8dbda6f57726c534e8f317e1c74b /meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb | |
parent | 24dc4d718b07918a78407cacc7d2612850ddd863 (diff) | |
download | openbmc-4f045d0b1bd11f4529a4b25c69a95ac043fe9e76.tar.xz |
phosphor-mapper: Add service namespaces
The c++ mapper implements a dbus service namespace whitelist instead of
a path namespace whitelist. A service namespace whitelist significantly
reduces the amount of introspection required by the mapper as compared
to path namespaces.
Add the service namespace whitelist to the mapper command line in the
mapper systemd unit and extend the existing framework for specifying
mapper command line arguments to include a service namespace whitelist.
Note that support for a _service_ blacklist is added and _path_ and
_interface_ blacklists are not being re-introduced.
(From meta-phosphor rev: 385c63fee1d7ac4f34165de7095f2e76b10f1328)
Change-Id: I0cc8f7d7dd0c1196b2354118cf6ab89b2d30231f
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb')
-rw-r--r-- | meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb index 9e0e7c243..c4c7f51f8 100644 --- a/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb +++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb @@ -59,11 +59,23 @@ python do_emit_env() { paths.append(os.sep.join(p.split('-'))) path = d.getVar('STAGING_DIR_NATIVE', True) + \ + d.getVar('service_dir', True) + services = [] + for s in os.listdir(path): + services.append('.'.join(s.split('-'))) + + path = d.getVar('STAGING_DIR_NATIVE', True) + \ d.getVar('interface_dir', True) interfaces = [] for i in os.listdir(path): interfaces.append('.'.join(i.split('-'))) + path = d.getVar('STAGING_DIR_NATIVE', True) + \ + d.getVar('serviceblacklist_dir', True) + service_blacklists = [] + for x in os.listdir(path): + service_blacklists.append('.'.join(x.split('-'))) + path = [d.getVar('D', True) + d.getVar('envfiledir', True)] path.append('obmc') path.append('mapper') @@ -75,8 +87,12 @@ python do_emit_env() { with open(path, 'w+') as fd: fd.write('MAPPER_NAMESPACES="{}"'.format(' '.join(paths))) fd.write('\n') + fd.write('MAPPER_SERVICES="{}"'.format(' '.join(services))) + fd.write('\n') fd.write('MAPPER_INTERFACES="{}"'.format(' '.join(interfaces))) fd.write('\n') + fd.write('MAPPER_SERVICEBLACKLISTS="{}"'.format(' '.join(service_blacklists))) + fd.write('\n') } do_install[postfuncs] += "do_emit_env" |