Merge pull request #326 from bradbishop/host-ipmid

Add shared library versioning for host-ipmid-fru
diff --git a/.gitignore b/.gitignore
index ccd8f51..48652c2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
-build/*
+build*/*
 customrc
 *.sw?
diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/images/obmc-phosphor-image.bbappend
index 7b8aa6f..cf4f29d 100644
--- a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/images/obmc-phosphor-image.bbappend
+++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/images/obmc-phosphor-image.bbappend
@@ -1,3 +1 @@
-IMAGE_INSTALL += " \
-        inventory-upload \
-"
+OBMC_IMAGE_EXTRA_INSTALL_append = " inventory-upload"
diff --git a/meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc b/meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc
index 6660a56..2ef42ed 100644
--- a/meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc
+++ b/meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc
@@ -23,6 +23,8 @@
         host-ipmid-oem \
         host-ipmid-fru \
        "
+VIRTUAL-RUNTIME_skeleton_workbook = "${MACHINE}-config"
+
 PREFERRED_PROVIDER_virtual/obmc-phosphor-host-ipmi-hw = "btbridged"
 PREFERRED_PROVIDER_virtual/obmc-phosphor-chassis-mgmt = "skeleton"
 PREFERRED_PROVIDER_virtual/obmc-phosphor-event-mgmt = "obmc-phosphor-event"
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-firestone/recipes-phosphor/skeleton/skeleton.bbappend b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-firestone/recipes-phosphor/skeleton/skeleton.bbappend
index 1edbf31..6c14b22 100644
--- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-firestone/recipes-phosphor/skeleton/skeleton.bbappend
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-firestone/recipes-phosphor/skeleton/skeleton.bbappend
@@ -1,4 +1,3 @@
 FILESEXTRAPATHS_append := "${THISDIR}/${PN}:"
-SRC_URI += "file://firestone.patch"
 SRC_URI += "file://poweron.patch"
 SRC_URI += "file://occ-path.patch"
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-firestone/recipes-phosphor/skeleton/skeleton/firestone.patch b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-firestone/recipes-phosphor/skeleton/skeleton/firestone.patch
deleted file mode 100644
index 2cb6ab4..0000000
--- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-firestone/recipes-phosphor/skeleton/skeleton/firestone.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/skeleton.service	2015-10-28 07:47:55.337712001 -0500
-+++ b/skeleton.service	2015-10-28 07:34:05.277712001 -0500
-@@ -2,7 +2,7 @@
- Description=Temp placeholder for skeleton function
- 
- [Service]
--ExecStart=/usr/sbin/system_manager.py Palmetto
-+ExecStart=/usr/sbin/system_manager.py Firestone
- 
- [Install]
- WantedBy=multi-user.target
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-firestone/recipes-phosphor/workbook/firestone-config.bb b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-firestone/recipes-phosphor/workbook/firestone-config.bb
new file mode 100644
index 0000000..0f4de06
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-firestone/recipes-phosphor/workbook/firestone-config.bb
@@ -0,0 +1,8 @@
+SUMMARY = "Firestone board wiring"
+DESCRIPTION = "Board wiring information for the Firestone system."
+HOMEPAGE = "http://github.com/openbmc/skeleton"
+PR = "r1"
+
+SRCREV = "5213a991a5a3bd107636f1b2cc3bbca560843462"
+inherit config-in-skeleton
+inherit obmc-phosphor-license
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-garrison/recipes-phosphor/skeleton/skeleton.bbappend b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-garrison/recipes-phosphor/skeleton/skeleton.bbappend
index f7f16da..6c14b22 100644
--- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-garrison/recipes-phosphor/skeleton/skeleton.bbappend
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-garrison/recipes-phosphor/skeleton/skeleton.bbappend
@@ -1,4 +1,3 @@
 FILESEXTRAPATHS_append := "${THISDIR}/${PN}:"
-SRC_URI += "file://garrison.patch"
 SRC_URI += "file://poweron.patch"
 SRC_URI += "file://occ-path.patch"
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-garrison/recipes-phosphor/skeleton/skeleton/garrison.patch b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-garrison/recipes-phosphor/skeleton/skeleton/garrison.patch
deleted file mode 100644
index 23aabc5..0000000
--- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-garrison/recipes-phosphor/skeleton/skeleton/garrison.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/skeleton.service	2015-10-28 07:47:55.337712001 -0500
-+++ b/skeleton.service	2015-10-28 07:34:05.277712001 -0500
-@@ -2,7 +2,7 @@
- Description=Temp placeholder for skeleton function
- 
- [Service]
--ExecStart=/usr/sbin/system_manager.py Palmetto
-+ExecStart=/usr/sbin/system_manager.py Garrison
- 
- [Install]
- WantedBy=multi-user.target
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-garrison/recipes-phosphor/workbook/garrison-config.bb b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-garrison/recipes-phosphor/workbook/garrison-config.bb
new file mode 100644
index 0000000..00bc2ec
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-garrison/recipes-phosphor/workbook/garrison-config.bb
@@ -0,0 +1,8 @@
+SUMMARY = "Garrison board wiring"
+DESCRIPTION = "Board wiring information for the Garrison system."
+HOMEPAGE = "http://github.com/openbmc/skeleton"
+PR = "r1"
+
+SRCREV = "5213a991a5a3bd107636f1b2cc3bbca560843462"
+inherit config-in-skeleton
+inherit obmc-phosphor-license
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-palmetto/recipes-phosphor/workbook/palmetto-config.bb b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-palmetto/recipes-phosphor/workbook/palmetto-config.bb
new file mode 100644
index 0000000..730ba1a
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-palmetto/recipes-phosphor/workbook/palmetto-config.bb
@@ -0,0 +1,8 @@
+SUMMARY = "Palmetto board wiring"
+DESCRIPTION = "Board wiring information for the Palmetto system."
+HOMEPAGE = "http://github.com/openbmc/skeleton"
+PR = "r1"
+
+SRCREV = "5213a991a5a3bd107636f1b2cc3bbca560843462"
+inherit config-in-skeleton
+inherit obmc-phosphor-license
diff --git a/meta-openbmc-machines/meta-openpower/meta-rackspace/meta-barreleye/recipes-phosphor/skeleton/skeleton.bbappend b/meta-openbmc-machines/meta-openpower/meta-rackspace/meta-barreleye/recipes-phosphor/skeleton/skeleton.bbappend
deleted file mode 100644
index c3aad86..0000000
--- a/meta-openbmc-machines/meta-openpower/meta-rackspace/meta-barreleye/recipes-phosphor/skeleton/skeleton.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-FILESEXTRAPATHS_append := "${THISDIR}/${PN}:"
-SRC_URI += "file://skeleton.patch"
diff --git a/meta-openbmc-machines/meta-openpower/meta-rackspace/meta-barreleye/recipes-phosphor/skeleton/skeleton/skeleton.patch b/meta-openbmc-machines/meta-openpower/meta-rackspace/meta-barreleye/recipes-phosphor/skeleton/skeleton/skeleton.patch
deleted file mode 100644
index 288e68a..0000000
--- a/meta-openbmc-machines/meta-openpower/meta-rackspace/meta-barreleye/recipes-phosphor/skeleton/skeleton/skeleton.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/skeleton.service	2015-10-28 07:47:55.337712001 -0500
-+++ b/skeleton.service	2015-10-28 07:34:05.277712001 -0500
-@@ -2,8 +2,8 @@
- Description=Temp placeholder for skeleton function
- 
- [Service]
- Restart=always
--ExecStart=/usr/sbin/system_manager.py Palmetto
-+ExecStart=/usr/sbin/system_manager.py Barreleye
- 
- [Install]
- WantedBy=multi-user.target
diff --git a/meta-openbmc-machines/meta-openpower/meta-rackspace/meta-barreleye/recipes-phosphor/workbook/barreleye-config.bb b/meta-openbmc-machines/meta-openpower/meta-rackspace/meta-barreleye/recipes-phosphor/workbook/barreleye-config.bb
new file mode 100644
index 0000000..a8c9bb7
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-rackspace/meta-barreleye/recipes-phosphor/workbook/barreleye-config.bb
@@ -0,0 +1,8 @@
+SUMMARY = "Barreleye board wiring"
+DESCRIPTION = "Board wiring information for the Barreleye system."
+HOMEPAGE = "http://github.com/openbmc/skeleton"
+PR = "r1"
+
+SRCREV = "5213a991a5a3bd107636f1b2cc3bbca560843462"
+inherit config-in-skeleton
+inherit obmc-phosphor-license
diff --git a/meta-phosphor/classes/config-in-skeleton.bbclass b/meta-phosphor/classes/config-in-skeleton.bbclass
new file mode 100644
index 0000000..33266be
--- /dev/null
+++ b/meta-phosphor/classes/config-in-skeleton.bbclass
@@ -0,0 +1,28 @@
+# In general this class should only be used by board layers
+# that keep their machine-readable-workbook in the skeleton repository.
+
+inherit allarch
+inherit setuptools
+
+SRC_URI += "git://github.com/openbmc/skeleton;subpath=configs"
+S = "${WORKDIR}/configs"
+
+python() {
+	machine = d.getVar('MACHINE', True).capitalize() + '.py'
+	d.setVar('_config_in_skeleton', machine)
+}
+
+do_make_setup() {
+        cp ${S}/${_config_in_skeleton} \
+                ${S}/obmc_system_config.py
+        cat <<EOF > ${S}/setup.py
+from distutils.core import setup
+
+setup(name='${BPN}',
+    version='${PR}',
+    py_modules=['obmc_system_config'],
+    )
+EOF
+}
+
+addtask make_setup after do_patch before do_configure
diff --git a/meta-phosphor/classes/obmc-phosphor-image.bbclass b/meta-phosphor/classes/obmc-phosphor-image.bbclass
index ce54777..c715ded 100644
--- a/meta-phosphor/classes/obmc-phosphor-image.bbclass
+++ b/meta-phosphor/classes/obmc-phosphor-image.bbclass
@@ -36,15 +36,17 @@
         ssh-server-dropbear \
         "
 
-IMAGE_INSTALL += " \
-        bash \
+CORE_IMAGE_EXTRA_INSTALL_append = " bash \
         packagegroup-obmc-phosphor-apps-extras \
         i2c-tools \
         screen \
         inarp \
         obmc-console \
+        ${OBMC_IMAGE_EXTRA_INSTALL} \
         "
 
+OBMC_IMAGE_EXTRA_INSTALL ?= ""
+
 def build_overlay(d):
         if bb.utils.contains("IMAGE_FSTYPES", "overlay", "overlay", "0", d) != "0":
                 return "image-overlay"
diff --git a/meta-phosphor/common/recipes-phosphor/dbus/obmc-mapper/obmc-mapper.service b/meta-phosphor/common/recipes-phosphor/dbus/obmc-mapper/obmc-mapper.service
index 461b8d8..f57da02 100644
--- a/meta-phosphor/common/recipes-phosphor/dbus/obmc-mapper/obmc-mapper.service
+++ b/meta-phosphor/common/recipes-phosphor/dbus/obmc-mapper/obmc-mapper.service
@@ -5,7 +5,7 @@
 Restart=always
 Type=dbus
 ExecStart=/usr/sbin/phosphor-mapper
-BusName=org.openbmc.objectmapper
+BusName=org.openbmc.ObjectMapper
 
 [Install]
 WantedBy=multi-user.target
diff --git a/meta-phosphor/common/recipes-phosphor/host-ipmid/host-ipmid.bb b/meta-phosphor/common/recipes-phosphor/host-ipmid/host-ipmid.bb
index f341938..23728cb 100644
--- a/meta-phosphor/common/recipes-phosphor/host-ipmid/host-ipmid.bb
+++ b/meta-phosphor/common/recipes-phosphor/host-ipmid/host-ipmid.bb
@@ -19,7 +19,7 @@
 RDEPENDS_${PN} += "network"
 SRC_URI += "git://github.com/openbmc/phosphor-host-ipmid"
 
-SRCREV = "93a753f01b464e120c88a28c463a909a952585bb"
+SRCREV = "092360e55605c205aedd2ab40044c42e64b7d38c"
 
 S = "${WORKDIR}/git"
 INSTALL_NAME = "ipmid"
diff --git a/meta-phosphor/common/recipes-phosphor/skeleton/pyphosphor.bb b/meta-phosphor/common/recipes-phosphor/skeleton/pyphosphor.bb
index d90c8e5..435c4c5 100644
--- a/meta-phosphor/common/recipes-phosphor/skeleton/pyphosphor.bb
+++ b/meta-phosphor/common/recipes-phosphor/skeleton/pyphosphor.bb
@@ -1,6 +1,6 @@
 SUMMARY = "Phosphor python library"
 DESCRIPTION = "Phosphor python library."
-HOMEPAGE = "http://github.com/openbmc/pyobmc"
+HOMEPAGE = "http://github.com/openbmc/pyphosphor"
 PR = "r1"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
@@ -10,6 +10,6 @@
 
 SRC_URI += "git://github.com/openbmc/pyphosphor"
 
-SRCREV = "362fb80c081e114236cc5d29b166f45fd4539041"
+SRCREV = "93aed45f230befa01c947173a908b120cfbe7017"
 
 S = "${WORKDIR}/git"
diff --git a/meta-phosphor/common/recipes-phosphor/skeleton/skeleton.bb b/meta-phosphor/common/recipes-phosphor/skeleton/skeleton.bb
index 1d45d16..9762792 100644
--- a/meta-phosphor/common/recipes-phosphor/skeleton/skeleton.bb
+++ b/meta-phosphor/common/recipes-phosphor/skeleton/skeleton.bb
@@ -11,34 +11,39 @@
 inherit obmc-phosphor-policy-mgmt
 inherit obmc-phosphor-sensor-mgmt
 inherit obmc-phosphor-system-mgmt
+inherit pythonnative
+inherit python-dir
+
+VIRTUAL-RUNTIME_skeleton_workbook ?= ""
 
 DEPENDS += "glib-2.0 systemd"
-RDEPENDS_${PN} += "python-subprocess python-compression libsystemd"
+RDEPENDS_${PN} += "python-subprocess python-compression libsystemd ${VIRTUAL-RUNTIME_skeleton_workbook}"
 SRC_URI += "git://github.com/openbmc/skeleton"
 
+FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}/*"
+
 # RDEPEND on pflash if the openpower-pflash machine feature is set.
 PACKAGECONFIG ??= "${@bb.utils.contains('MACHINE_FEATURES', 'openpower-pflash', 'openpower-pflash', '', d)}"
 PACKAGECONFIG[openpower-pflash] = ",,,pflash"
 
-SRCREV = "b2f3fd7a29ddf16ea6171b4b4649d9a0ea8be58d"
+SRCREV = "40187443840d0e419c13391b2091fda29d63dea4"
 
 S = "${WORKDIR}"
 
-do_compile() {
-        oe_runmake -C git
+# needed to invoke setuptools
+export STAGING_INCDIR
+export STAGING_LIBDIR
+export BUILD_SYS
+export HOST_SYS
+export PYTHON_SITEPACKAGES_DIR
 
-        # Remove deprecated files.
-        rm ${S}/git/bin/pflash
+do_compile() {
+        oe_runmake -C git PYTHON=${PYTHON}
 }
 
 do_install() {
-        source=${S}/git
-
-        install -d ${D}/${sbindir} ${D}${libdir}
-        for i in ${source}/bin/*; do
-                install $i ${D}/${sbindir}
-        done
-        for i in ${source}/lib/*; do
-                install $i ${D}/${libdir}
-        done
+        oe_runmake -C git install \
+                PYTHON=${PYTHON} \
+                DESTDIR=${D} \
+                PREFIX=/usr
 }
diff --git a/meta-phosphor/common/recipes-phosphor/skeleton/skeleton/skeleton.service b/meta-phosphor/common/recipes-phosphor/skeleton/skeleton/skeleton.service
index b001abf..35b6e6c 100755
--- a/meta-phosphor/common/recipes-phosphor/skeleton/skeleton/skeleton.service
+++ b/meta-phosphor/common/recipes-phosphor/skeleton/skeleton/skeleton.service
@@ -3,7 +3,7 @@
 
 [Service]
 Restart=always
-ExecStart=/usr/sbin/system_manager.py Palmetto
+ExecStart=/usr/sbin/system_manager.py
 
 [Install]
 WantedBy=multi-user.target
diff --git a/meta-phosphor/conf/machine/include/obmc-bsp-common.inc b/meta-phosphor/conf/machine/include/obmc-bsp-common.inc
index 260cc90..8d1fd7e 100644
--- a/meta-phosphor/conf/machine/include/obmc-bsp-common.inc
+++ b/meta-phosphor/conf/machine/include/obmc-bsp-common.inc
@@ -15,7 +15,7 @@
 
 IMAGE_FSTYPES += "overlay"
 IMAGE_FSTYPES += "cpio.${INITRAMFS_CTYPE}.u-boot"
-IMAGE_INSTALL += "u-boot-fw-utils"
+OBMC_IMAGE_EXTRA_INSTALL_append = " u-boot-fw-utils"
 
 IMAGE_CLASSES += "obmc-phosphor-image_types_uboot"