Initialize EXTENDED_VERSION to a default
The EXTENDED_VERSION in the os-release file was an optional field.
Initialize it to a default since there will be a Redfish property for
extended version information that can be mapped to the ExtendedVersion
D-Bus property, choose the VERSION_ID value as the default since that's
what's used for the Version D-Bus property, and set it to a weak
variable so it can still be overwritten.
Need a new function to get the EXTENDED_VERSION from the os-release file
instead of just from a bitbake variable. It is still possible to
overwrite the default value in a conf or bbappend file, same as
BUILD_ID.
Note that the extended version was and still is surrounded by quotes,
since this is a free-format string that may contain spaces.
Tested:
- Verified the extended version string was the same as version in:
- os-release:
VERSION_ID=2.13.0-dev-613-g1e16157845
EXTENDED_VERSION="2.13.0-dev-613-g1e16157845"
- MANIFEST:
version=2.13.0-dev-613-g1e16157845
ExtendedVersion="2.13.0-dev-613-g1e16157845"
- D-Bus properties:
.ExtendedVersion property s "2.13.0-dev-613-g1e16157845"
.Version property s "2.13.0-dev-613-g1e16157845"
- Verified that extended version could be set from a conf file, example:
in meta-ibm/conf/machine/witherspoon.conf:
EXTENDED_VERSION = "My Extended Version"
- Verified that extended version could be set from a bbappend, example:
in meta-ibm/recipes-core/os-release/os-release.bbappend:
EXTENDED_VERSION:witherspoon = "My_Extended_Version_from_bbappend"
Change-Id: I74adf08239c9cd08768be9c5d9cd3384e703da95
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
diff --git a/meta-phosphor/classes/image_types_phosphor.bbclass b/meta-phosphor/classes/image_types_phosphor.bbclass
index 206b080..a4a05cf 100644
--- a/meta-phosphor/classes/image_types_phosphor.bbclass
+++ b/meta-phosphor/classes/image_types_phosphor.bbclass
@@ -504,7 +504,7 @@
version = do_get_version(d)
build_id = do_get_buildID(d)
target_machine = d.getVar('MACHINE', True)
- extended_version = d.getVar('EXTENDED_VERSION', True)
+ extended_version = do_get_extended_version(d)
compatible_names = d.getVar('OBMC_COMPATIBLE_NAMES', True)
with open('MANIFEST', 'w') as fd:
fd.write('purpose={}\n'.format(purpose))
diff --git a/meta-phosphor/classes/image_version.bbclass b/meta-phosphor/classes/image_version.bbclass
index 2a6d75a..e10bcd7 100644
--- a/meta-phosphor/classes/image_version.bbclass
+++ b/meta-phosphor/classes/image_version.bbclass
@@ -34,3 +34,7 @@
def do_get_buildID(d):
build_id = do_get_os_release_value(d, 'BUILD_ID')
return build_id
+
+def do_get_extended_version(d):
+ extended_version = do_get_os_release_value(d, 'EXTENDED_VERSION')
+ return extended_version
diff --git a/meta-phosphor/recipes-core/os-release/os-release.bbappend b/meta-phosphor/recipes-core/os-release/os-release.bbappend
index c1dda48..50c3787 100644
--- a/meta-phosphor/recipes-core/os-release/os-release.bbappend
+++ b/meta-phosphor/recipes-core/os-release/os-release.bbappend
@@ -25,6 +25,7 @@
# indirection via PHOSPHOR_OS_RELEASE_DISTRO_VERSION.
PHOSPHOR_OS_RELEASE_DISTRO_VERSION := "${@run_git(d, 'describe --dirty')}"
DISTRO_VERSION ??= "${PHOSPHOR_OS_RELEASE_DISTRO_VERSION}"
+EXTENDED_VERSION ??= "${PHOSPHOR_OS_RELEASE_DISTRO_VERSION}"
VERSION = "${@'-'.join(d.getVar('VERSION_ID').split('-')[0:2])}"