bmcweb: add Google local repo
Please see go/gbmcweb for details.
This change enables ability to build the same BMCWeb from a local
repo. This can be changed to build the same service from a separate
recipe in the future.
Tests have been performed such that no code/meson options changes are
introduced by this transition.
Change-Id: Ia9c396120db9f08f544d5dff3d29c4e9c8b7b90e
Signed-off-by: Nan Zhou <nanzhou@google.com>
Signed-off-by: Willy Tu <wltu@google.com>
diff --git a/conf/layer.conf b/conf/layer.conf
index f9113a5..2c44b1a 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -18,3 +18,9 @@
BBFILE_PATTERN_gbmc-staging-layer := "^${LAYERDIR}/"
LAYERSERIES_COMPAT_gbmc-staging-layer = "langdale mickledore"
LAYERDEPENDS_gbmc-staging-layer += "google-layer"
+
+# Google has forked certain OpenBMC repositories.
+# This override affects how certain recipe is built.
+# You can turn off it by removing "gbmcfork" from OVERRIDES on your machine,
+# or by removing "gbmcfork" from your DISTRO_FEATURES.
+OVERRIDES:append = "${@bb.utils.contains('DISTRO_FEATURES', 'gbmcfork', ':gbmcfork', '', d)}"
diff --git a/recipes-phosphor/interfaces/bmcweb_%.bbappend b/recipes-phosphor/interfaces/bmcweb_%.bbappend
index c2fadfc..8a2ee25 100644
--- a/recipes-phosphor/interfaces/bmcweb_%.bbappend
+++ b/recipes-phosphor/interfaces/bmcweb_%.bbappend
@@ -1,3 +1,5 @@
+require gbmcweb.inc
+
FILESEXTRAPATHS:prepend:gbmc := "${THISDIR}/${PN}:"
EXTRA_OEMESON:append:gbmc = " \
@@ -12,6 +14,18 @@
"
SRC_URI:append:gbmc = " \
+ file://service-override.conf \
+ file://delay-reset@.service \
+ file://delay-reset.sh \
+"
+
+SRC_URI:remove:gbmc:gbmcfork = " \
+ git://github.com/openbmc/bmcweb.git;branch=master;protocol=https \
+"
+SRC_URI:append:gbmc:gbmcfork = " ${GBMCWEB_SRC_URI}"
+SRCREV:gbmcfork = "${GBMCWEB_SRCREV}"
+
+topology_patches = " \
file://0001-Update-DIMM-memorySizeInKB-to-be-in-size_t.patch \
file://0001-health-Add-option-to-disable-health-populate.patch \
file://0001-Add-function-to-get-associated-chassis-subtree.patch \
@@ -25,16 +39,15 @@
file://0010-Storage-Add-PartLocationContext-in-storage.patch \
file://0001-Add-topology-links-for-Chassis.patch \
file://0007-Add-Fan-mode-change-function.patch \
- file://service-override.conf \
- file://delay-reset@.service \
- file://delay-reset.sh \
file://0001-Add-reset-delay-for-system.patch \
file://0001-Support-Patching-bmcweb-Sensors.patch \
file://DOWNSTREAM_0001-google-v1-Add-setUpRedfishRoute-for-all-handlers.patch \
"
+topology_patches:gbmcfork = ""
+SRC_URI:append:gbmc = "${topology_patches}"
# gBMC storage Support
-SRC_URI:append:gbmc = " \
+storage_patches = " \
file://0001-dbus_utility-Support-new-ObjectMapper-methods.patch \
file://0002-storage-Support-new-StorageController.patch \
file://0004-storage-add-support-for-multiple-storages.patch \
@@ -49,9 +62,11 @@
file://0003-Storage-Add-SecuritySend-and-SecurityReceive.patch \
file://DOWNSTREAM_0001-Support-Google-OEM-Warthog.patch \
"
+storage_patches:gbmcfork = ""
+SRC_URI:append:gbmc = "${storage_patches}"
# TTF build specific patches migrated to non-TTF
-SRC_URI:append:gbmc = " \
+misc_patches = " \
file://0017-Links-of-Chassis-Processor-and-resource.patch \
file://0015-Collection-Add-API-to-get-sorted-list-of-associated-.patch \
file://0016-Implement-SubProcessors-for-processor-core.patch \
@@ -74,22 +89,28 @@
file://0022-bmcweb-Add-RelatedItem-to-DIMM-sensors.patch \
file://0001-Fix-RelatedItems-when-fetching-individual-sensors.patch \
"
+misc_patches:gbmcfork = ""
+SRC_URI:append:gbmc = "${misc_patches}"
# Multi-Host related patches
-SRC_URI:append:gbmc = " \
+multi_host_patches = " \
file://0001-Add-Helper-for-System-Information.patch \
file://0001-Expose-Systems-in-ComputerSystemCollection-by-Item.S.patch \
file://0001-Add-Multi-Host-Power-Control-Support.patch \
file://0001-Add-Multi-Host-Support-for-HostLogger.patch \
"
+multi_host_patches:gbmcfork = ""
+SRC_URI:append:gbmc = "${multi_host_patches}"
# Multi-Host related patches ends
# RDE aggregation patches
-SRC_URI:append:gbmc = " \
+rde_patches = " \
file://0001-Add-RDE-Device-aggregation-support.patch \
file://0002-Add-dbus-interfaces-calls-to-RDEd.patch \
file://0003-bmcweb-send-payload-to-RDE-devices-for-POST-operatio.patch \
"
+rde_patches:gbmcfork = ""
+SRC_URI:append:gbmc = "${rde_patches}"
SRC_URI:append:gbmc:dev = " \
file://50-gbmc-bmcweb-dev.rules \
@@ -140,6 +161,7 @@
file://0023-gRPC-redfish.patch \
file://0001-Define-and-Implement-gRPC-Redfish-Statistics.patch \
"
+grpc_redfish_patches:gbmcfork = ""
SRC_URI:append:gbmc = " \
${@bb.utils.contains('DISTRO_FEATURES', 'grpc-redfish', '${grpc_redfish_patches}', '', d)} \
@@ -170,7 +192,7 @@
file://DOWNSTREAM_0045-ExternalStorer-Followup-cleanup-to-readJsonFile.patch \
file://DOWNSTREAM_0046-ExternalStorer-Cleanups-and-fix-existence-check.patch \
"
-
+agentless_patches:gbmcfork = ""
SRC_URI:append:gbmc = " \
${@bb.utils.contains('DISTRO_FEATURES', 'agentless', '${agentless_patches}', '', d)} \
"
@@ -188,13 +210,15 @@
file://0004-Add-Latency-Metrics-to-ManagerDiagnosticData.patch \
file://0001-bmcweb-Add-boot-up-time-metrics.patch \
"
-
+bmc_health_monitor_patches:gbmcfork = ""
SRC_URI:append:gbmc = " \
${@bb.utils.contains('DISTRO_FEATURES', 'bmc-health-monitor', '${bmc_health_monitor_patches}', '', d)} \
"
# gBMC health monitoring support ends
# Bugfix(b/277958097)
-SRC_URI:append:gbmc = " \
+revert_old_sensor_patches = " \
file://DOWNSTREAM_0001-Revert-to-old-sensor-override-logic.patch \
"
+revert_old_sensor_patches:gbmcfork = ""
+SRC_URI:append:gbmc = "${revert_old_sensor_patches}"
diff --git a/recipes-phosphor/interfaces/gbmcweb.inc b/recipes-phosphor/interfaces/gbmcweb.inc
new file mode 100644
index 0000000..6fb04bd
--- /dev/null
+++ b/recipes-phosphor/interfaces/gbmcweb.inc
@@ -0,0 +1,2 @@
+GBMCWEB_SRC_URI = "git://gbmc-private.googlesource.com/gbmcweb;branch=google-dev-v2;protocol=https"
+GBMCWEB_SRCREV = "4cc56ab1d34f950d95ecd0fb9bd00cd43e4415d6"