Add recipes for Phosphor inventory manager

Phosphor Inventory Manager is an inventory object lifecycle
management application suitable for a wide variety of
OpenBMC platforms.

Add recipes.
Add systemd unit.

Change-Id: I4cbaa34b3b787c2ced96efebf36b9b964ddbe8ae
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/meta-phosphor/common/recipes-phosphor/inventory/phosphor-inventory-manager-config-example-native.bb b/meta-phosphor/common/recipes-phosphor/inventory/phosphor-inventory-manager-config-example-native.bb
new file mode 100644
index 0000000..880d5ac
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/inventory/phosphor-inventory-manager-config-example-native.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Managed inventory with Phosphor inventory manager - example"
+PR = "r1"
+
+inherit native
+
+require phosphor-inventory-manager.inc
+
+S = "${WORKDIR}/git"
+
+do_install() {
+        SRC=${S}/example
+        DEST=${D}${datadir}/phosphor-inventory-manager
+
+        for f in `find $SRC -type f -printf "%P\n"`; do
+                install -D ${SRC}/$f $DEST/$f
+        done
+}
diff --git a/meta-phosphor/common/recipes-phosphor/inventory/phosphor-inventory-manager-config-native.bb b/meta-phosphor/common/recipes-phosphor/inventory/phosphor-inventory-manager-config-native.bb
new file mode 100644
index 0000000..137733621
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/inventory/phosphor-inventory-manager-config-native.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Phosphor Inventory Manager Configuration"
+DESCRIPTION = "Meta-recipe, pulling in native recipes that wish to add \
+data to the native /usr/share/phosphor-inventory-manager filesystem."
+HOMEPAGE = "http://github.com/openbmc/phosphor-inventory-manager"
+PR = "r1"
+
+inherit obmc-phosphor-license
+inherit native
+
+OBMC_INVENTORY_PROVIDERS ??= "phosphor-inventory-manager-config-example-native"
+
+# To add additional managed inventory items, create a recipe in your layer,
+# and add it to OBMC_INVENTORY_PROVIDERS with a bbappend to this recipe.
+
+DEPENDS += "${OBMC_INVENTORY_PROVIDERS}"
diff --git a/meta-phosphor/common/recipes-phosphor/inventory/phosphor-inventory-manager.bb b/meta-phosphor/common/recipes-phosphor/inventory/phosphor-inventory-manager.bb
new file mode 100644
index 0000000..fda1d53
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/inventory/phosphor-inventory-manager.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Phosphor Inventory Manager"
+DESCRIPTION = "Phosphor Inventory Manager is an inventory object \
+lifecycle management application, suitable for use on a wide variety \
+of OpenBMC platforms."
+PR = "r1"
+
+inherit autotools \
+        pkgconfig \
+        pythonnative \
+        obmc-phosphor-dbus-service
+
+require phosphor-inventory-manager.inc
+
+DEPENDS += " \
+        ${PN}-config-native \
+        sdbusplus \
+        sdbusplus-native \
+        autoconf-archive-native \
+        "
+RDEPENDS_${PN} += "sdbusplus"
+
+OBMC_INVENTORY_PATH="${OBMC_DBUS_PATH_ROOT}/Inventory"
+OBMC_INVENTORY_MGR_IFACE="${OBMC_DBUS_IFACE_ROOT}.Inventory.Manager"
+
+DBUS_SERVICE_${PN} = "${OBMC_INVENTORY_MGR_IFACE}.service"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF = " \
+        YAML_PATH=${STAGING_DATADIR_NATIVE}/${PN} \
+        BUSNAME=${OBMC_INVENTORY_MGR_IFACE} \
+        INVENTORY_ROOT=${OBMC_INVENTORY_PATH} \
+        IFACE=${OBMC_INVENTORY_MGR_IFACE} \
+        "
diff --git a/meta-phosphor/common/recipes-phosphor/inventory/phosphor-inventory-manager.inc b/meta-phosphor/common/recipes-phosphor/inventory/phosphor-inventory-manager.inc
new file mode 100644
index 0000000..0d36681
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/inventory/phosphor-inventory-manager.inc
@@ -0,0 +1,5 @@
+HOMEPAGE = "http://github.com/openbmc/phosphor-inventory-manager"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+SRC_URI = "git://github.com/openbmc/phosphor-inventory-manager"
+SRCREV = "6524758b9cde6b4fd78b690b17e5b9fe7322554e"
diff --git a/meta-phosphor/common/recipes-phosphor/inventory/phosphor-inventory-manager/xyz.openbmc_project.Inventory.Manager.service b/meta-phosphor/common/recipes-phosphor/inventory/phosphor-inventory-manager/xyz.openbmc_project.Inventory.Manager.service
new file mode 100644
index 0000000..fe0d6d4
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/inventory/phosphor-inventory-manager/xyz.openbmc_project.Inventory.Manager.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Phosphor Inventory Manager
+
+[Service]
+Restart=always
+Type=dbus
+ExecStart={sbindir}/phosphor-inventory
+BusName={BUSNAME}
+
+[Install]
+WantedBy={SYSTEMD_DEFAULT_TARGET}