Put bmcweb in common layer for others to use

Initially interested in bmcweb for its redfish support

Change-Id: Ia180a895c8db2b184a455cd3be2bf28db4c4116d
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
diff --git a/common/recipes-phosphor/interfaces/bmcweb.bb b/common/recipes-phosphor/interfaces/bmcweb.bb
new file mode 100644
index 0000000..6820e12
--- /dev/null
+++ b/common/recipes-phosphor/interfaces/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 = "git://github.com/openbmc/bmcweb.git"
+
+PV = "1.0+git${SRCPV}"
+SRCREV = "1f2fbf2043495963bcd63da5893718c249e6b194"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "openssl zlib boost libpam sdbusplus gtest nlohmann-json libtinyxml2 "
+
+FILES_${PN} += "${datadir}/** "
+
+inherit cmake
+
+EXTRA_OECMAKE = "-DBMCWEB_BUILD_UT=OFF -DYOCTO_DEPENDENCIES=ON"
+
+SYSTEMD_SERVICE_${PN} += "bmcweb.service bmcweb.socket"
+
+FULL_OPTIMIZATION = "-Os -pipe "
+
+do_install_append() {
+    rm -rf ${D}${includedir}/dbus
+    rm -rf ${D}${libdir}/cmake
+}
diff --git a/common/recipes-phosphor/interfaces/bmcweb/bmcweb.service b/common/recipes-phosphor/interfaces/bmcweb/bmcweb.service
new file mode 100644
index 0000000..86a7279
--- /dev/null
+++ b/common/recipes-phosphor/interfaces/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/common/recipes-phosphor/interfaces/bmcweb/bmcweb.socket b/common/recipes-phosphor/interfaces/bmcweb/bmcweb.socket
new file mode 100644
index 0000000..b1db27d
--- /dev/null
+++ b/common/recipes-phosphor/interfaces/bmcweb/bmcweb.socket
@@ -0,0 +1,9 @@
+[Unit]
+Description=BMC Webserver socket
+
+[Socket]
+ListenStream=883
+ReusePort=true
+
+[Install]
+WantedBy=sockets.target