Merge pull request #449 from bradbishop/skeleton-split

Skeleton recipe split
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-firestone/conf/bblayers.conf.sample b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-firestone/conf/bblayers.conf.sample
index c675a18..d231e88 100644
--- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-firestone/conf/bblayers.conf.sample
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-firestone/conf/bblayers.conf.sample
@@ -19,9 +19,9 @@
   ##OEROOT##/meta \
   ##OEROOT##/meta-yocto \
   ##OEROOT##/meta-phosphor \
-  ##OEROOT##/meta-aspeed \
-  ##OEROOT##/meta-aspeed/meta-ast2400 \
-  ##OEROOT##/meta-openpower \
-  ##OEROOT##/meta-openpower/meta-ibm \
-  ##OEROOT##/meta-openpower/meta-ibm/meta-firestone \
+  ##OEROOT##/meta-openbmc-bsp/meta-aspeed \
+  ##OEROOT##/meta-openbmc-bsp/meta-aspeed/meta-ast2400 \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower/meta-ibm \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower/meta-ibm/meta-firestone \
   "
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-garrison/conf/bblayers.conf.sample b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-garrison/conf/bblayers.conf.sample
index 76777e4..11bfa80 100644
--- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-garrison/conf/bblayers.conf.sample
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-garrison/conf/bblayers.conf.sample
@@ -19,9 +19,9 @@
   ##OEROOT##/meta \
   ##OEROOT##/meta-yocto \
   ##OEROOT##/meta-phosphor \
-  ##OEROOT##/meta-aspeed \
-  ##OEROOT##/meta-aspeed/meta-ast2400 \
-  ##OEROOT##/meta-openpower \
-  ##OEROOT##/meta-openpower/meta-ibm \
-  ##OEROOT##/meta-openpower/meta-ibm/meta-garrison \
+  ##OEROOT##/meta-openbmc-bsp/meta-aspeed \
+  ##OEROOT##/meta-openbmc-bsp/meta-aspeed/meta-ast2400 \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower/meta-ibm \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower/meta-ibm/meta-garrison \
   "
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-palmetto/conf/bblayers.conf.sample b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-palmetto/conf/bblayers.conf.sample
index d0e0219..7156d9b 100644
--- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-palmetto/conf/bblayers.conf.sample
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-palmetto/conf/bblayers.conf.sample
@@ -19,9 +19,9 @@
   ##OEROOT##/meta \
   ##OEROOT##/meta-yocto \
   ##OEROOT##/meta-phosphor \
-  ##OEROOT##/meta-aspeed \
-  ##OEROOT##/meta-aspeed/meta-ast2400 \
-  ##OEROOT##/meta-openpower \
-  ##OEROOT##/meta-openpower/meta-ibm \
-  ##OEROOT##/meta-openpower/meta-ibm/meta-palmetto \
+  ##OEROOT##/meta-openbmc-bsp/meta-aspeed \
+  ##OEROOT##/meta-openbmc-bsp/meta-aspeed/meta-ast2400 \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower/meta-ibm \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower/meta-ibm/meta-palmetto \
   "
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/conf/bblayers.conf.sample b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/conf/bblayers.conf.sample
index 333c7ef..59942f1 100644
--- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/conf/bblayers.conf.sample
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/conf/bblayers.conf.sample
@@ -19,9 +19,9 @@
   ##OEROOT##/meta \
   ##OEROOT##/meta-yocto \
   ##OEROOT##/meta-phosphor \
-  ##OEROOT##/meta-aspeed \
-  ##OEROOT##/meta-aspeed/meta-ast2500 \
-  ##OEROOT##/meta-openpower \
-  ##OEROOT##/meta-openpower/meta-ibm \
-  ##OEROOT##/meta-openpower/meta-ibm/meta-witherspoon\
+  ##OEROOT##/meta-openbmc-bsp/meta-aspeed \
+  ##OEROOT##/meta-openbmc-bsp/meta-aspeed/meta-ast2500 \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower/meta-ibm \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon \
   "
diff --git a/meta-openbmc-machines/meta-openpower/meta-rackspace/meta-barreleye/conf/bblayers.conf.sample b/meta-openbmc-machines/meta-openpower/meta-rackspace/meta-barreleye/conf/bblayers.conf.sample
index a261b26..163ef19 100644
--- a/meta-openbmc-machines/meta-openpower/meta-rackspace/meta-barreleye/conf/bblayers.conf.sample
+++ b/meta-openbmc-machines/meta-openpower/meta-rackspace/meta-barreleye/conf/bblayers.conf.sample
@@ -19,9 +19,9 @@
   ##OEROOT##/meta \
   ##OEROOT##/meta-yocto \
   ##OEROOT##/meta-phosphor \
-  ##OEROOT##/meta-aspeed \
-  ##OEROOT##/meta-aspeed/meta-ast2400 \
-  ##OEROOT##/meta-openpower \
-  ##OEROOT##/meta-openpower/meta-rackspace \
-  ##OEROOT##/meta-openpower/meta-rackspace/meta-barreleye \
+  ##OEROOT##/meta-openbmc-bsp/meta-aspeed \
+  ##OEROOT##/meta-openbmc-bsp/meta-aspeed/meta-ast2400 \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower/meta-rackspace \
+  ##OEROOT##/meta-openbmc-machines/meta-openpower/meta-rackspace/meta-barreleye \
   "
diff --git a/meta-phosphor/classes/skeleton-gdbus.bbclass b/meta-phosphor/classes/skeleton-gdbus.bbclass
new file mode 100644
index 0000000..58df398
--- /dev/null
+++ b/meta-phosphor/classes/skeleton-gdbus.bbclass
@@ -0,0 +1,7 @@
+inherit skeleton
+
+DEPENDS += "glib-2.0 obmc-libobmc-intf"
+
+do_install_append() {
+        oe_runmake install DESTDIR=${D}
+}
diff --git a/meta-phosphor/classes/skeleton-python.bbclass b/meta-phosphor/classes/skeleton-python.bbclass
new file mode 100644
index 0000000..5464e2d
--- /dev/null
+++ b/meta-phosphor/classes/skeleton-python.bbclass
@@ -0,0 +1,5 @@
+inherit skeleton
+inherit allarch
+inherit setuptools
+
+DEPENDS += "python"
diff --git a/meta-phosphor/classes/skeleton-sdbus.bbclass b/meta-phosphor/classes/skeleton-sdbus.bbclass
new file mode 100644
index 0000000..627ce76
--- /dev/null
+++ b/meta-phosphor/classes/skeleton-sdbus.bbclass
@@ -0,0 +1,7 @@
+inherit skeleton
+
+DEPENDS += "systemd"
+
+do_install_append() {
+        oe_runmake install DESTDIR=${D}
+}
diff --git a/meta-phosphor/classes/skeleton.bbclass b/meta-phosphor/classes/skeleton.bbclass
new file mode 100644
index 0000000..72b26fb
--- /dev/null
+++ b/meta-phosphor/classes/skeleton.bbclass
@@ -0,0 +1,7 @@
+inherit obmc-phosphor-license
+
+HOMEPAGE = "http://github.com/openbmc/skeleton"
+
+SRCREV ??= "a194b9d150b9a8d35f757bae356083cbf0d1dfd8"
+SRC_URI += "git://github.com/openbmc/skeleton"
+S = "${WORKDIR}/git/${SKELETON_DIR}"
diff --git a/meta-phosphor/common/recipes-phosphor/host-ipmid/host-ipmi-hw-example.bb b/meta-phosphor/common/recipes-phosphor/host-ipmid/host-ipmi-hw-example.bb
index 13b07ad..3c4766e 100644
--- a/meta-phosphor/common/recipes-phosphor/host-ipmid/host-ipmi-hw-example.bb
+++ b/meta-phosphor/common/recipes-phosphor/host-ipmid/host-ipmi-hw-example.bb
@@ -2,16 +2,11 @@
 DESCRIPTION = "Phosphor OpenBMC host IPMI to DBUS example implementation."
 PR = "r1"
 
-RDEPENDS_${PN} += "python-subprocess"
+RDEPENDS_${PN} += "python-subprocess python-dbus python-pygobject"
 
 SYSTEMD_SERVICE_${PN} = "host-ipmi-hw.service"
 
-inherit obmc-phosphor-pydbus-service
 inherit obmc-phosphor-host-ipmi-hw
+inherit skeleton-python
 
-S = "${WORKDIR}/git"
-SRC_URI += "git://github.com/openbmc/skeleton.git;subpath=bin;destsuffix=git"
-SRCREV="2f9ee83356fba3f6f843bf2584f3e7e95763ec98"
-
-SCRIPT_NAME = "ipmi_debug.py"
-INSTALL_NAME = "host-ipmi-hw"
+SKELETON_DIR = "pyipmitest"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-button-power.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-button-power.bb
new file mode 100644
index 0000000..7adda51
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-button-power.bb
@@ -0,0 +1,7 @@
+SUMMARY = "OpenBMC org.openbmc.Button example implementation"
+DESCRIPTION = "A sample implementation for a button controlling a power domain."
+PR = "r1"
+
+inherit skeleton-gdbus
+
+SKELETON_DIR = "pwrbutton"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-button-reset.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-button-reset.bb
new file mode 100644
index 0000000..ba83a26
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-button-reset.bb
@@ -0,0 +1,6 @@
+SUMMARY = "OpenBMC org.openbmc.Button example implementation"
+DESCRIPTION = "A sample implementation for a reset button."
+PR = "r1"
+
+inherit skeleton-gdbus
+SKELETON_DIR = "rstbutton"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-control-chassis.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-control-chassis.bb
new file mode 100644
index 0000000..ca80715
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-control-chassis.bb
@@ -0,0 +1,14 @@
+SUMMARY = "OpenBMC org.openbmc.control.Chassis example implementation"
+DESCRIPTION = "An example implementation of the org.openbmc.control.Chassis DBUS API."
+PR = "r1"
+
+inherit skeleton-python
+
+RDEPENDS_${PN} += "\
+        python-dbus \
+        python-pygobject \
+        python-netclient \
+        pyphosphor \
+        "
+
+SKELETON_DIR = "pychassisctl"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-hostcheckstop.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-hostcheckstop.bb
new file mode 100644
index 0000000..d054694
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-hostcheckstop.bb
@@ -0,0 +1,8 @@
+SUMMARY = "OpenBMC checkstop monitor."
+DESCRIPTION = "The checkstop monitor watches a GPIO for a checkstop signal \
+and reboots a server."
+PR = "r1"
+
+inherit skeleton-gdbus
+
+SKELETON_DIR = "hostcheckstop"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-mgr-inventory.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-mgr-inventory.bb
new file mode 100644
index 0000000..8c1a309
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-mgr-inventory.bb
@@ -0,0 +1,18 @@
+SUMMARY = "OpenBMC inventory manager"
+DESCRIPTION = "OpenBMC inventory manager."
+PR = "r1"
+
+inherit skeleton-python
+
+VIRTUAL-RUNTIME_skeleton_workbook ?= ""
+
+RDEPENDS_${PN} += "\
+        python-dbus \
+        python-json \
+        python-pickle \
+        python-pygobject \
+        pyphosphor \
+        ${VIRTUAL-RUNTIME_skeleton_workbook} \
+        "
+
+SKELETON_DIR = "pyinventorymgr"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-op-control-power.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-op-control-power.bb
new file mode 100644
index 0000000..e724472
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-op-control-power.bb
@@ -0,0 +1,7 @@
+SUMMARY = "org.openbmc.control.Power implemention for OpenPOWER"
+DESCRIPTION = "A power control implementation suitable for OpenPOWER systems."
+PR = "r1"
+
+inherit skeleton-gdbus
+
+SKELETON_DIR = "op-pwrctl"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-pcie-detect.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-pcie-detect.bb
new file mode 100644
index 0000000..e134cf0
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-pcie-detect.bb
@@ -0,0 +1,7 @@
+SUMMARY = "OpenBMC PCIE slot detection utility"
+DESCRIPTION = "OpenBMC PCIE slot detection utility."
+PR = "r1"
+
+inherit skeleton-gdbus
+
+SKELETON_DIR = "pciedetect"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-watchdog.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-watchdog.bb
new file mode 100644
index 0000000..821b7f0
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-chassis/obmc-watchdog.bb
@@ -0,0 +1,7 @@
+SUMMARY = "OpenBMC org.openbmc.Watchdog example implementation"
+DESCRIPTION = "A sample implementation for the org.openbmc.Watchdog DBUS API."
+PR = "r1"
+
+inherit skeleton-gdbus
+
+SKELETON_DIR = "hostwatchdog"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-devtools/obmc-pydevtools.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-devtools/obmc-pydevtools.bb
new file mode 100644
index 0000000..296a399
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-devtools/obmc-pydevtools.bb
@@ -0,0 +1,17 @@
+SUMMARY = "OpenBMC python devtools"
+DESCRIPTION = "Shortcut scripts for developers."
+PR = "r1"
+
+inherit skeleton-python
+
+VIRTUAL-RUNTIME_skeleton_workbook ?= ""
+
+RDEPENDS_${PN} += "\
+        python-dbus \
+        python-json \
+        python-xml \
+        python-pygobject \
+        ${VIRTUAL-RUNTIME_skeleton_workbook} \
+	"
+
+SKELETON_DIR = "pytools"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-fan/obmc-control-fan.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-fan/obmc-control-fan.bb
new file mode 100644
index 0000000..a4bd005
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-fan/obmc-control-fan.bb
@@ -0,0 +1,12 @@
+SUMMARY = "OpenBMC fan control"
+DESCRIPTION = "OpenBMC fan control."
+PR = "r1"
+
+inherit skeleton-python
+
+RDEPENDS_${PN} += "\
+        python-dbus \
+        python-pygobject \
+        pyphosphor \
+        "
+SKELETON_DIR = "pyfanctl"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-flash/obmc-flash-bios.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-flash/obmc-flash-bios.bb
new file mode 100644
index 0000000..8f7b766
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-flash/obmc-flash-bios.bb
@@ -0,0 +1,9 @@
+SUMMARY = "OpenBMC org.openbmc.Flash example implementation"
+DESCRIPTION = "A sample implementation for the org.openbmc.Flash DBUS API. \
+org.openbmc.Flash provides APIs for functions like BIOS flash access control \
+and updating."
+PR = "r1"
+
+inherit skeleton-gdbus
+
+SKELETON_DIR = "flashbios"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-flash/obmc-flash-bmc.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-flash/obmc-flash-bmc.bb
new file mode 100644
index 0000000..80bd1bf
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-flash/obmc-flash-bmc.bb
@@ -0,0 +1,15 @@
+SUMMARY = "OpenBMC BMC update utility"
+DESCRIPTION = "OpenBMC BMC update utility."
+PR = "r1"
+
+inherit skeleton-python
+
+RDEPENDS_${PN} += "\
+        python-dbus \
+        python-compression \
+        python-shell \
+        python-pygobject \
+        pyphosphor \
+        "
+
+SKELETON_DIR = "pyflashbmc"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-flash/obmc-mgr-download.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-flash/obmc-mgr-download.bb
new file mode 100644
index 0000000..d3a5ecd
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-flash/obmc-mgr-download.bb
@@ -0,0 +1,17 @@
+SUMMARY = "OpenBMC org.openbmc.managers.Download example implementation"
+DESCRIPTION = "An example implementation for the org.openbmc.managers.Download DBUS API."
+PR = "r1"
+
+inherit skeleton-python
+
+VIRTUAL-RUNTIME_skeleton_workbook ?= ""
+
+RDEPENDS_${PN} += "\
+        python-dbus \
+        python-pygobject \
+        python-subprocess \
+        pyphosphor \
+        ${VIRTUAL-RUNTIME_skeleton_workbook} \
+        "
+
+SKELETON_DIR = "pydownloadmgr"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-flash/obmc-op-flasher.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-flash/obmc-op-flasher.bb
new file mode 100644
index 0000000..9908500
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-flash/obmc-op-flasher.bb
@@ -0,0 +1,11 @@
+SUMMARY = "OpenPOWER flashing utility."
+DESCRIPTION = "A BMC/BIOS flashing utility for use on OpenPOWER system."
+PR = "r1"
+
+inherit skeleton-gdbus
+
+# DEPEND,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,pflash"
+
+SKELETON_DIR = "op-flasher"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-host/obmc-op-control-host.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-host/obmc-op-control-host.bb
new file mode 100644
index 0000000..b301101
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-host/obmc-op-control-host.bb
@@ -0,0 +1,7 @@
+SUMMARY = "org.openbmc.control.Host implementation for OpenPOWER"
+DESCRIPTION = "A host control implementation suitable for OpenPOWER systems."
+PR = "r1"
+
+inherit skeleton-gdbus
+
+SKELETON_DIR = "op-hostctl"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-led/obmc-control-led.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-led/obmc-control-led.bb
new file mode 100644
index 0000000..94fa7cb
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-led/obmc-control-led.bb
@@ -0,0 +1,10 @@
+SUMMARY = "OpenBMC org.openbmc.Led example implementation"
+DESCRIPTION = "A sample implementation for the org.openbmc.Led DBUS API. \
+The org.openbmc.Led provides APIs for controlling LEDs."
+PR = "r1"
+
+inherit skeleton-sdbus
+
+RDEPENDS_${PN} += "libsystemd"
+
+SKELETON_DIR = "ledctl"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-libobmc/obmc-libobmc-intf.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-libobmc/obmc-libobmc-intf.bb
new file mode 100644
index 0000000..a53deba
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-libobmc/obmc-libobmc-intf.bb
@@ -0,0 +1,16 @@
+SUMMARY = "OpenBMC gdbus library"
+DESCRIPTION = "libopenbmc_intf provides a set of gpio access \
+methods and the GDBUS skeleton code for the org.openbmc DBUS API."
+PR = "r1"
+
+inherit skeleton
+
+DEPENDS += "glib-2.0"
+
+SKELETON_DIR = "libopenbmc_intf"
+
+do_install() {
+        oe_runmake install DESTDIR=${D}
+}
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-sensor/obmc-hwmon.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-sensor/obmc-hwmon.bb
new file mode 100644
index 0000000..78442b8
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-sensor/obmc-hwmon.bb
@@ -0,0 +1,18 @@
+SUMMARY = "OpenBMC hwmon poller"
+DESCRIPTION = "OpenBMC hwmon poller."
+PR = "r1"
+
+inherit skeleton-python
+
+VIRTUAL-RUNTIME_skeleton_workbook ?= ""
+
+RDEPENDS_${PN} += "\
+        python-dbus \
+        python-json \
+        python-shell \
+        python-pygobject \
+        pyphosphor \
+        ${VIRTUAL-RUNTIME_skeleton_workbook} \
+        "
+
+SKELETON_DIR = "pyhwmon"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-sensor/obmc-mgr-sensor.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-sensor/obmc-mgr-sensor.bb
new file mode 100644
index 0000000..ca90c43
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-sensor/obmc-mgr-sensor.bb
@@ -0,0 +1,17 @@
+SUMMARY = "OpenBMC sensor manager"
+DESCRIPTION = "OpenBMC sensor manager."
+PR = "r1"
+
+inherit skeleton-python
+
+VIRTUAL-RUNTIME_skeleton_workbook ?= ""
+
+RDEPENDS_${PN} += "\
+        python-dbus \
+        python-json \
+        python-pygobject\
+        pyphosphor \
+        ${VIRTUAL-RUNTIME_skeleton_workbook} \
+        "
+
+SKELETON_DIR = "pysensormgr"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-sys/obmc-control-bmc.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-sys/obmc-control-bmc.bb
new file mode 100644
index 0000000..bfc3326
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-sys/obmc-control-bmc.bb
@@ -0,0 +1,8 @@
+SUMMARY = "OpenBMC org.openbmc.control.Bmc example implementation"
+DESCRIPTION = "A sample implementation for the org.openbmc.control.Bmc DBUS API. \
+org.openbmc.control.Bmc provides APIs for functions like resetting the BMC."
+PR = "r1"
+
+inherit skeleton-gdbus
+
+SKELETON_DIR = "bmcctl"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-sys/obmc-mgr-state.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-sys/obmc-mgr-state.bb
new file mode 100644
index 0000000..125fd65
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-sys/obmc-mgr-state.bb
@@ -0,0 +1,16 @@
+SUMMARY = "OpenBMC state manager"
+DESCRIPTION = "OpenBMC state manager."
+PR = "r1"
+
+inherit skeleton-python
+
+VIRTUAL-RUNTIME_skeleton_workbook ?= ""
+
+RDEPENDS_${PN} += "\
+        python-dbus \
+        python-json \
+        python-subprocess \
+        python-pygobject \
+        "
+
+SKELETON_DIR = "pystatemgr"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-sys/obmc-mgr-system.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-sys/obmc-mgr-system.bb
new file mode 100644
index 0000000..accd7da
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-sys/obmc-mgr-system.bb
@@ -0,0 +1,27 @@
+SUMMARY = "OpenBMC system manager"
+DESCRIPTION = "OpenBMC system manager."
+PR = "r1"
+
+inherit skeleton-python
+inherit obmc-phosphor-systemd
+
+VIRTUAL-RUNTIME_skeleton_workbook ?= ""
+
+RDEPENDS_${PN} += "\
+        python-dbus \
+        python-json \
+        python-subprocess \
+        python-pygobject \
+        pyphosphor \
+        ${VIRTUAL-RUNTIME_skeleton_workbook} \
+        "
+
+SKELETON_DIR = "pysystemmgr"
+
+do_compile_append() {
+	oe_runmake -C ../hacks
+}
+
+do_install_append() {
+	oe_runmake -C ../hacks install DESTDIR=${D}
+}
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-sys/obmc-mgr-system/obmc-mgr-system.service b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-sys/obmc-mgr-system/obmc-mgr-system.service
new file mode 100644
index 0000000..9cb04cf
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-sys/obmc-mgr-system/obmc-mgr-system.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=OpenBMC system manager
+Requires=obmc-mapper.service
+After=obmc-mapper.service
+
+[Service]
+Restart=always
+ExecStart=/usr/sbin/system_manager.py
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-phosphor/common/recipes-phosphor/skeleton/skeleton.bb b/meta-phosphor/common/recipes-phosphor/skeleton/skeleton.bb
index 77a2980..f5c5fbf 100644
--- a/meta-phosphor/common/recipes-phosphor/skeleton/skeleton.bb
+++ b/meta-phosphor/common/recipes-phosphor/skeleton/skeleton.bb
@@ -3,47 +3,36 @@
 HOMEPAGE = "http://github.com/openbmc/skeleton"
 PR = "r1"
 
+inherit packagegroup
 inherit obmc-phosphor-license
-inherit obmc-phosphor-systemd
+
 inherit obmc-phosphor-chassis-mgmt
 inherit obmc-phosphor-fan-mgmt
 inherit obmc-phosphor-flash-mgmt
 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 python"
-RDEPENDS_${PN} += "python-json 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 = "fa8f6166a05410472e8a3ef6a2f2e3b9b5f8d8e4"
-
-S = "${WORKDIR}"
-
-# needed to invoke setuptools
-export STAGING_INCDIR
-export STAGING_LIBDIR
-export BUILD_SYS
-export HOST_SYS
-export PYTHON_SITEPACKAGES_DIR
-
-do_compile() {
-        oe_runmake -C git PYTHON=${PYTHON}
-}
-
-do_install() {
-        oe_runmake -C git install \
-                PYTHON=${PYTHON} \
-                DESTDIR=${D} \
-                PREFIX=/usr
-}
+RDEPENDS_${PN} += " \
+        obmc-button-power \
+        obmc-button-reset \
+        obmc-control-chassis \
+        obmc-hostcheckstop \
+        obmc-mgr-inventory \
+        obmc-op-control-power \
+        obmc-pcie-detect \
+        obmc-watchdog \
+        obmc-pydevtools \
+        obmc-control-fan \
+        obmc-flash-bios \
+        obmc-flash-bmc \
+        obmc-mgr-download \
+        obmc-op-flasher \
+        obmc-op-control-host \
+        obmc-control-led \
+        obmc-hwmon \
+        obmc-mgr-sensor \
+        obmc-control-bmc \
+        obmc-mgr-state \
+        obmc-mgr-system \
+        "
diff --git a/meta-phosphor/common/recipes-phosphor/skeleton/skeleton/skeleton.service b/meta-phosphor/common/recipes-phosphor/skeleton/skeleton/skeleton.service
deleted file mode 100644
index c39cc40..0000000
--- a/meta-phosphor/common/recipes-phosphor/skeleton/skeleton/skeleton.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=Temp placeholder for skeleton function
-
-[Service]
-Restart=always
-ExecStart=/usr/sbin/system_manager.py
-Environment="PYTHONUNBUFFERED=1"
-
-[Install]
-WantedBy=multi-user.target