Brad Bishop | ce08674 | 2015-10-27 17:12:45 -0400 | [diff] [blame] | 1 | SUMMARY = "Phosphor DBUS Object Manager" |
| 2 | DESCRIPTION = "Phosphor DBUS object manager." |
| 3 | HOMEPAGE = "http://github.com/openbmc/phosphor-objmgr" |
| 4 | PR = "r1" |
| 5 | LICENSE = "Apache-2.0" |
| 6 | LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc" |
| 7 | |
Matthew Barth | e997291 | 2016-10-05 16:20:54 -0500 | [diff] [blame] | 8 | inherit autotools pkgconfig |
Matthew Barth | 67cb5a5 | 2016-11-16 10:17:02 -0600 | [diff] [blame] | 9 | inherit obmc-phosphor-python-autotools |
Brad Bishop | ce08674 | 2015-10-27 17:12:45 -0400 | [diff] [blame] | 10 | inherit obmc-phosphor-dbus-service |
| 11 | inherit obmc-phosphor-systemd |
Brad Bishop | f8a7cd1 | 2017-07-09 23:41:49 -0400 | [diff] [blame] | 12 | inherit phosphor-mapperdir |
Brad Bishop | ce08674 | 2015-10-27 17:12:45 -0400 | [diff] [blame] | 13 | |
Brad Bishop | 48b1961 | 2016-08-07 23:18:32 -0400 | [diff] [blame] | 14 | DEPENDS += "systemd" |
Matthew Barth | e997291 | 2016-10-05 16:20:54 -0500 | [diff] [blame] | 15 | DEPENDS += "autoconf-archive-native" |
Matt Spinler | 1b556ae | 2017-06-08 12:35:36 -0500 | [diff] [blame] | 16 | DEPENDS += "sdbusplus" |
| 17 | DEPENDS += "phosphor-logging" |
Brad Bishop | f8a7cd1 | 2017-07-09 23:41:49 -0400 | [diff] [blame] | 18 | DEPENDS += "${PN}-config-native" |
Rick Altherr | c38aae0 | 2016-08-01 14:20:50 -0700 | [diff] [blame] | 19 | |
Brad Bishop | 7476cd1 | 2016-11-02 15:21:22 -0400 | [diff] [blame] | 20 | DBUS_SERVICE_${PN} += "xyz.openbmc_project.ObjectMapper.service" |
Adriana Kobylak | 545f874 | 2017-04-11 11:06:59 -0500 | [diff] [blame] | 21 | SYSTEMD_SERVICE_${PN} += " \ |
| 22 | mapper-wait@.service \ |
| 23 | mapper-subtree-remove@.service \ |
| 24 | " |
Matthew Barth | e997291 | 2016-10-05 16:20:54 -0500 | [diff] [blame] | 25 | RDEPENDS_libmapper += "libsystemd" |
Brad Bishop | ce08674 | 2015-10-27 17:12:45 -0400 | [diff] [blame] | 26 | RDEPENDS_${PN} += " \ |
Brad Bishop | f8a7cd1 | 2017-07-09 23:41:49 -0400 | [diff] [blame] | 27 | python-argparse \ |
Brad Bishop | ce08674 | 2015-10-27 17:12:45 -0400 | [diff] [blame] | 28 | python-xml \ |
| 29 | python-dbus \ |
| 30 | python-pygobject \ |
Patrick Williams | fee2582 | 2017-03-03 12:52:30 -0600 | [diff] [blame] | 31 | pyphosphor-dbus \ |
Patrick Venture | be3afaa | 2017-07-31 10:52:27 -0700 | [diff] [blame] | 32 | pyphosphor-utils \ |
Matt Spinler | 1b556ae | 2017-06-08 12:35:36 -0500 | [diff] [blame] | 33 | sdbusplus \ |
| 34 | phosphor-logging \ |
Brad Bishop | ce08674 | 2015-10-27 17:12:45 -0400 | [diff] [blame] | 35 | " |
Chris Austen | 350def1 | 2015-12-02 22:32:06 -0600 | [diff] [blame] | 36 | SRC_URI += "git://github.com/openbmc/phosphor-objmgr" |
Brad Bishop | ce08674 | 2015-10-27 17:12:45 -0400 | [diff] [blame] | 37 | |
Andrew Geissler | 5dcbb5d | 2017-11-06 18:25:10 +0000 | [diff] [blame^] | 38 | SRCREV = "eded8f31e54c5ee4049563d0f0894d37b8c25c69" |
Brad Bishop | ce08674 | 2015-10-27 17:12:45 -0400 | [diff] [blame] | 39 | |
| 40 | S = "${WORKDIR}/git" |
Brad Bishop | 9a701b4 | 2016-07-26 15:52:01 -0400 | [diff] [blame] | 41 | |
Brad Bishop | 9a701b4 | 2016-07-26 15:52:01 -0400 | [diff] [blame] | 42 | python populate_packages_prepend () { |
| 43 | mapperlibdir = d.getVar("libdir", True) |
| 44 | do_split_packages(d, mapperlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Phosphor mapper %s library', extra_depends='', allow_links=True) |
| 45 | } |
| 46 | PACKAGES_DYNAMIC += "^libmapper.*" |
| 47 | FILES_${PN}_remove = "${libdir}/lib*.so.* ${libdir}/*" |
Brad Bishop | f8a7cd1 | 2017-07-09 23:41:49 -0400 | [diff] [blame] | 48 | |
| 49 | # Construct a systemd environment file with mapper commandline |
| 50 | # from the native sysroot /usr/share/phosphor-mapper filesystem. |
| 51 | python do_emit_env() { |
| 52 | path = d.getVar('STAGING_DIR_NATIVE', True) + \ |
| 53 | d.getVar('namespace_dir', True) |
| 54 | paths = [] |
| 55 | for p in os.listdir(path): |
Brad Bishop | b4eea30 | 2017-08-03 15:56:09 -0400 | [diff] [blame] | 56 | paths.append(os.sep.join(p.split('-'))) |
Brad Bishop | f8a7cd1 | 2017-07-09 23:41:49 -0400 | [diff] [blame] | 57 | |
| 58 | path = d.getVar('STAGING_DIR_NATIVE', True) + \ |
| 59 | d.getVar('interface_dir', True) |
| 60 | interfaces = [] |
| 61 | for i in os.listdir(path): |
| 62 | interfaces.append('.'.join(i.split('-'))) |
| 63 | |
| 64 | path = d.getVar('STAGING_DIR_NATIVE', True) + \ |
| 65 | d.getVar('blacklist_dir', True) |
| 66 | blacklists = [] |
| 67 | for b in os.listdir(path): |
| 68 | blacklists.append(os.sep + os.sep.join(b.split('-'))) |
| 69 | |
| 70 | path = d.getVar('STAGING_DIR_NATIVE', True) + \ |
| 71 | d.getVar('interfaceblacklist_dir', True) |
| 72 | interface_blacklists = [] |
| 73 | for ib in os.listdir(path): |
| 74 | interface_blacklists.append('.'.join(ib.split('-'))) |
| 75 | |
| 76 | path = [d.getVar('D', True) + d.getVar('envfiledir', True)] |
| 77 | path.append('obmc') |
| 78 | path.append('mapper') |
| 79 | parent = os.path.join(*path[:-1]) |
| 80 | path = os.path.join(*path) |
| 81 | |
| 82 | if not os.path.exists(parent): |
| 83 | os.makedirs(parent) |
| 84 | with open(path, 'w+') as fd: |
| 85 | fd.write('MAPPER_NAMESPACES="{}"'.format(' '.join(paths))) |
| 86 | fd.write('\n') |
| 87 | fd.write('MAPPER_INTERFACES="{}"'.format(' '.join(interfaces))) |
| 88 | fd.write('\n') |
| 89 | fd.write('MAPPER_BLACKLISTS="{}"'.format(' '.join(blacklists))) |
| 90 | fd.write('\n') |
| 91 | fd.write('MAPPER_INTERFACEBLACKLISTS="{}"'.format(' '.join(interface_blacklists))) |
| 92 | fd.write('\n') |
| 93 | } |
| 94 | |
| 95 | do_install[postfuncs] += "do_emit_env" |
| 96 | do_install[vardeps] += "PHOSPHOR_MAPPER_NAMESPACES" |