BMC Minimum ship Level
This code compares the BMC_MSL defined at compile time,
It will parse the new fw (explicit at MANIFEST file) and use regex to
evaluate it and compare BMC_MSL against version from MANIFEST.
If newer or equal it will apply, otherwise it will fail,
preventing activation operation.
Tested:
regex-bmc-msl="([a-z]+[0-9]{2})+([0-9]+).([0-9]+).([0-9]+)"
fw-package="version=fw1010.00-28.4-0-ge611abca21"
bmc-msl="fw1010.00-27" proceeds with activation...
bmc-msl="fw1010.00-29" returns:
Jul 15 20:35:45 tacoma1z-w81 phosphor-image-updater[766]:
BMC Minimum Ship Level NOT met
Jul 15 20:35:45 tacoma1z-w81 phosphor-image-updater[766]:
A system component has a software version that is incompatible as
determined by the implementation and needs to be updated....
Signed-off-by: Miguel Gomez <mgomez@mx1.ibm.com>
Change-Id: I0ab0eba7c7c89f38ca698aa3e369aa50797edb07
diff --git a/meson_options.txt b/meson_options.txt
index c0def0c..0043434 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -89,3 +89,15 @@
value: 'synclist',
description: 'The name of the sync list file.',
)
+
+option(
+ 'bmc-msl', type: 'string',
+ value: '',
+ description: 'The BMC minimum ship level.',
+)
+
+option(
+ 'regex-bmc-msl', type: 'string',
+ value: '',
+ description: 'The Regular expression to parse the MSL.',
+)