summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager/0008-item_updater-update-the-bmc_active-objectPath.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager/0008-item_updater-update-the-bmc_active-objectPath.patch')
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager/0008-item_updater-update-the-bmc_active-objectPath.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager/0008-item_updater-update-the-bmc_active-objectPath.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager/0008-item_updater-update-the-bmc_active-objectPath.patch
new file mode 100644
index 000000000..e0ff79795
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager/0008-item_updater-update-the-bmc_active-objectPath.patch
@@ -0,0 +1,50 @@
+From d9e50ecf8bd8bc764838e7244084184644a3f0fc Mon Sep 17 00:00:00 2001
+From: Chalapathi <chalapathix.venkataramashetty@intel.com>
+Date: Thu, 23 Apr 2020 19:06:19 +0000
+Subject: [PATCH] item_updater: update the bmc_active objectPath
+
+Update the Software object path to bmc_active instead of random Id.
+
+Signed-off-by: Chalapathi <chalapathix.venkataramashetty@intel.com>
+
+---
+ item_updater.cpp | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+diff --git a/item_updater.cpp b/item_updater.cpp
+index e6dd298..c3a846d 100644
+--- a/item_updater.cpp
++++ b/item_updater.cpp
+@@ -175,7 +175,8 @@ void ItemUpdater::processBMCImage()
+ if (0 ==
+ iter.path().native().compare(0, BMC_RO_PREFIX_LEN, BMC_ROFS_PREFIX))
+ {
+- // Get the version to calculate the id
++ std::string id = "bmc_active";
++ // upstream changed this to relative_path ... is that right?
+ fs::path releaseFile(OS_RELEASE_FILE);
+ auto osRelease = iter.path() / releaseFile.relative_path();
+ if (!fs::is_regular_file(osRelease))
+@@ -189,7 +190,6 @@ void ItemUpdater::processBMCImage()
+ // volumes created by the UBI layout for example have the id in
+ // the mount directory name. The worst that can happen is that
+ // erase() is called with an non-existent id and returns.
+- auto id = iter.path().native().substr(BMC_RO_PREFIX_LEN);
+ ItemUpdater::erase(id);
+
+ continue;
+@@ -203,14 +203,11 @@ void ItemUpdater::processBMCImage()
+
+ // Try to delete the version, same as above if the
+ // OS_RELEASE_FILE does not exist.
+- auto id = iter.path().native().substr(BMC_RO_PREFIX_LEN);
+ ItemUpdater::erase(id);
+
+ continue;
+ }
+
+- auto id = VersionClass::getId(version);
+-
+ // Check if the id has already been added. This can happen if the
+ // BMC partitions / devices were manually flashed with the same
+ // image.