commit | 9012243e543abdc5851b7e878c17c991b2a2a8b7 | [log] [tgz] |
---|---|---|
author | Adriana Kobylak <anoo@us.ibm.com> | Tue Mar 19 10:32:20 2024 -0500 |
committer | Patrick Williams <patrick@stwcx.xyz> | Wed Apr 03 03:11:02 2024 +0000 |
tree | 9c274bdde5396b7d3d6388c0f5f7dddae62c2fce | |
parent | 3cfcc9c0eb86954846daacb7a05e3293b9864659 [diff] |
software: Add Minimum Version interface The minimum version is an optional meson option (bmc-msl)[1] that prevents firmware updates to a level lower than the one set via this option. The error logged is a Software Incompatible[2] error. Add the minimum version as a property of a new interface. This will be populated by the code updater app. It can then be mapped to the SoftwareInventory LowestSupportedVersion Redfish property and be available to the user via Redfish and the GUI so that the user can know in advance which version of software is not supported on their system and avoid having to debug a code update failure after they attempt to install an incompatible version. ``` 1: https://github.com/openbmc/phosphor-bmc-code-mgmt/blob/85c71a13e0938cc4d36caf6b8e735e9740b2e351/meson.options#L100 2: https://github.com/openbmc/phosphor-dbus-interfaces/blob/1c140b9766a15d1cbb8546fa02d5050d772a171d/yaml/xyz/openbmc_project/Software/Version.errors.yaml#L1 ``` Change-Id: I1f6aacf8ad7fa63e58d832409698f4d923184ec2 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
YAML descriptors of standard D-Bus interfaces. The format is described by the sdbusplus binding generation tool sdbus++.
Before defining a new D-Bus interface or modifying an existing one, please read through the documented set of the common requirements and expectations.
This project can be built with meson
. The typical meson
workflow is: meson builddir && ninja -C builddir
.
The meson files used to handle the YAML files are automatically generated and found under the gen
subdirectory. When adding or removing YAML files, this must be regenerated. This can be done with the helper script found in the gen
subdirectory: cd gen && ./regenerate-meson
.
Only the xyz/openbmc_project and org/freedesktop interfaces are built by default. Other interfaces can be enabled by meson options:
-Ddata_com_ibm=true
-Ddata_org_open_power=true
Example: meson builddir -Ddata_com_ibm=true && ninja -C builddir