diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2016-06-09 22:22:46 -0400 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2016-06-15 11:00:31 -0400 |
commit | 65b40a80454bc22d0e4e1f4fafcd43d33a7167b8 (patch) | |
tree | 7fb8e2a547f3f5fbf070c936a88ad7715cb2f066 | |
parent | a9a69fa5572d95eb2a9041e8fd2bcbdf024a332d (diff) | |
download | talos-openbmc-65b40a80454bc22d0e4e1f4fafcd43d33a7167b8.tar.gz talos-openbmc-65b40a80454bc22d0e4e1f4fafcd43d33a7167b8.zip |
Add virtual workbook / config-in-skeleton classes
This patch introduces a new abstraction 'skeleton-workbook'
for representing a system configuration. At present it is
pulled in by the skeleton recipe so the requirement on what is
implemented by a package providing obmc-phosphor-workbook is something
compatible with the existing System.py python modules in skeleton.
Additionally this patch adds a new recipe for each system using
a configuration file from skeleton today, and a class for common
configuration.
This enables a couple of things:
- No need to patch skeleton.service for each system.
- New systems don't have to put their configuration in the skeleton
repository.
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
14 files changed, 69 insertions, 43 deletions
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 6660a56a4..2ef42ed47 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 @@ VIRTUAL-RUNTIME_obmc-phosphor-ipmi-parsers = " \ 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 1edbf31b5..6c14b2210 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 2cb6ab455..000000000 --- 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 000000000..0f4de06f5 --- /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 f7f16dae4..6c14b2210 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 23aabc5d1..000000000 --- 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 000000000..00bc2ec58 --- /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 000000000..730ba1aa4 --- /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 c3aad866f..000000000 --- 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 288e68a15..000000000 --- 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 000000000..a8c9bb70f --- /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 000000000..33266be69 --- /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/common/recipes-phosphor/skeleton/skeleton.bb b/meta-phosphor/common/recipes-phosphor/skeleton/skeleton.bb index eb45a406c..97627925e 100644 --- a/meta-phosphor/common/recipes-phosphor/skeleton/skeleton.bb +++ b/meta-phosphor/common/recipes-phosphor/skeleton/skeleton.bb @@ -14,8 +14,10 @@ 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}/*" @@ -41,7 +43,7 @@ do_compile() { do_install() { oe_runmake -C git install \ - PYTHON=${PYTHON} \ - DESTDIR=${D} \ - PREFIX=/usr + 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 b001abf3f..35b6e6c56 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 @@ Description=Temp placeholder for skeleton function [Service] Restart=always -ExecStart=/usr/sbin/system_manager.py Palmetto +ExecStart=/usr/sbin/system_manager.py [Install] WantedBy=multi-user.target |