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 <ed.tanous@intel.com>
diff --git a/meta-common/recipes-intel/bmcweb/bmcweb.bb b/meta-common/recipes-intel/bmcweb/bmcweb.bb
new file mode 100644
index 0000000..8d12c4b
--- /dev/null
+++ b/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-common/recipes-intel/bmcweb/bmcweb/bmcweb.service b/meta-common/recipes-intel/bmcweb/bmcweb/bmcweb.service
new file mode 100644
index 0000000..86a7279
--- /dev/null
+++ b/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-common/recipes-intel/boost-dbus/boost-dbus.bb b/meta-common/recipes-intel/boost-dbus/boost-dbus.bb
new file mode 100644
index 0000000..c523416
--- /dev/null
+++ b/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-common/recipes-intel/libtinyxml2/libtinyxml2_%.bbappend b/meta-common/recipes-intel/libtinyxml2/libtinyxml2_%.bbappend
new file mode 100644
index 0000000..60cfe5e
--- /dev/null
+++ b/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-common/recipes-intel/packagegroups/packagegroup-intel-apps.bb b/meta-common/recipes-intel/packagegroups/packagegroup-intel-apps.bb
index 7733e13..507f149 100644
--- a/meta-common/recipes-intel/packagegroups/packagegroup-intel-apps.bb
+++ b/meta-common/recipes-intel/packagegroups/packagegroup-intel-apps.bb
@@ -46,4 +46,6 @@
 SUMMARY_${PN}-system = "Intel System"
 RDEPENDS_${PN}-system = " \
         obmc-mgr-system \
+        bmcweb \
+        phosphor-webui \
         "
diff --git a/meta-common/recipes-intel/packagegroups/packagegroup-obmc-apps.bbappend b/meta-common/recipes-intel/packagegroups/packagegroup-obmc-apps.bbappend
new file mode 100644
index 0000000..54dc73d
--- /dev/null
+++ b/meta-common/recipes-intel/packagegroups/packagegroup-obmc-apps.bbappend
@@ -0,0 +1,4 @@
+RDEPENDS_${PN}-extras_remove = " \
+       phosphor-rest \
+       phosphor-gevent \
+       "