From 2c2a1c5ed53916ada96b5abba36765721956af33 Mon Sep 17 00:00:00 2001 From: Ed Tanous Date: Mon, 29 Jan 2018 10:56:52 -0800 Subject: Add bmcweb target to S2600Wf This changeset replaces phosphor rest with bmcweb for the s2600wf target. bmcweb has several advantages over phosphor-rest. 1. Written in C++. 2. Supports Asyncronous transactions 3. Authentication backed by PAM 4. SSL key generation, and modern SSL cipher suites See the application readme for more To enable bmcweb, this patchset also: 1. Revs libtinyxml to the latest version 6.0.0 from the existing 3.0.0 2. Adds the boost-dbus recipe, to allow bmcweb to build. Bmcweb is a header only dbus library. Change-Id: I5b90427977709127c09fedcfc4bcb713908d356f Signed-off-by: Ed Tanous --- .../meta-common/recipes-intel/bmcweb/bmcweb.bb | 34 ++++++++++++++++++++++ .../recipes-intel/bmcweb/bmcweb/bmcweb.service | 13 +++++++++ .../recipes-intel/boost-dbus/boost-dbus.bb | 15 ++++++++++ .../libtinyxml2/libtinyxml2_%.bbappend | 3 ++ .../packagegroups/packagegroup-intel-apps.bb | 2 ++ .../packagegroups/packagegroup-obmc-apps.bbappend | 4 +++ 6 files changed, 71 insertions(+) create mode 100644 meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/bmcweb/bmcweb.bb create mode 100644 meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/bmcweb/bmcweb/bmcweb.service create mode 100644 meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/boost-dbus/boost-dbus.bb create mode 100644 meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/libtinyxml2/libtinyxml2_%.bbappend create mode 100644 meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/packagegroups/packagegroup-obmc-apps.bbappend diff --git a/meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/bmcweb/bmcweb.bb b/meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/bmcweb/bmcweb.bb new file mode 100644 index 000000000..8d12c4b34 --- /dev/null +++ b/meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/bmcweb/bmcweb.bb @@ -0,0 +1,34 @@ +inherit obmc-phosphor-systemd +inherit useradd + +USERADD_PACKAGES = "${PN}" + +# add a user called httpd for the server to assume +USERADD_PARAM_${PN} = "-r -s /usr/sbin/nologin bmcweb" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b" + +SRC_URI = "gitsm://github.com/openbmc/bmcweb.git" + +PV = "1.0+git${SRCPV}" +SRCREV = "8db6e57bbad48443eb75ba3b13a5dad0abe06aec" + +S = "${WORKDIR}/git" + +DEPENDS = "dbus openssl zlib boost libpam boost-dbus gtest nlohmann-json libtinyxml2 " + +FILES_${PN} += "${datadir}/** " + +inherit cmake + +EXTRA_OECMAKE = "-DBUILD_UT=OFF -DYOCTO_DEPENDENCIES=ON" + +SYSTEMD_SERVICE_${PN} += "bmcweb.service" + +FULL_OPTIMIZATION = "-Os -pipe " + +do_install_append() { + rm -rf ${D}${includedir}/dbus + rm -rf ${D}${libdir}/cmake +} diff --git a/meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/bmcweb/bmcweb/bmcweb.service b/meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/bmcweb/bmcweb/bmcweb.service new file mode 100644 index 000000000..86a7279a5 --- /dev/null +++ b/meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/bmcweb/bmcweb/bmcweb.service @@ -0,0 +1,13 @@ +[Unit] +Description=Start bmcweb server + +Wants=network.target +After=network.target + +[Service] +ExecStart={bindir}/bmcweb +Type=simple +WorkingDirectory=/home/root + +[Install] +WantedBy=network.target diff --git a/meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/boost-dbus/boost-dbus.bb b/meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/boost-dbus/boost-dbus.bb new file mode 100644 index 000000000..c52341686 --- /dev/null +++ b/meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/boost-dbus/boost-dbus.bb @@ -0,0 +1,15 @@ +LICENSE = "BSL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c" + +SRC_URI = "gitsm://github.com/openbmc/boost-dbus.git" + +PV = "1.0+git${SRCPV}" +SRCREV = "165e3f02c7d5d418c1b5f8c180ae970d6a8afb3a" + +S = "${WORKDIR}/git" + +DEPENDS = "dbus boost gtest " + +inherit cmake + +FILES_${PN}-dev += "${libdir}/cmake/boost-dbus/*" diff --git a/meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/libtinyxml2/libtinyxml2_%.bbappend b/meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/libtinyxml2/libtinyxml2_%.bbappend new file mode 100644 index 000000000..60cfe5e9d --- /dev/null +++ b/meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/libtinyxml2/libtinyxml2_%.bbappend @@ -0,0 +1,3 @@ +# update libtinyxml2 to version 6.0.0 +SRCREV = "8c8293ba8969a46947606a93ff0cb5a083aab47a" +FILES_${PN}-dev += "${libdir}/cmake/tinyxml2/*" diff --git a/meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/packagegroups/packagegroup-intel-apps.bb b/meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/packagegroups/packagegroup-intel-apps.bb index 7733e134d..507f14969 100644 --- a/meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/packagegroups/packagegroup-intel-apps.bb +++ b/meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/packagegroups/packagegroup-intel-apps.bb @@ -46,4 +46,6 @@ RDEPENDS_${PN}-flash = " \ SUMMARY_${PN}-system = "Intel System" RDEPENDS_${PN}-system = " \ obmc-mgr-system \ + bmcweb \ + phosphor-webui \ " diff --git a/meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/packagegroups/packagegroup-obmc-apps.bbappend b/meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/packagegroups/packagegroup-obmc-apps.bbappend new file mode 100644 index 000000000..54dc73d75 --- /dev/null +++ b/meta-openbmc-machines/meta-x86/meta-intel/meta-common/recipes-intel/packagegroups/packagegroup-obmc-apps.bbappend @@ -0,0 +1,4 @@ +RDEPENDS_${PN}-extras_remove = " \ + phosphor-rest \ + phosphor-gevent \ + " -- cgit v1.2.3