[OE-core] [PATCH] os-release: remove double-quotes around VERSION_ID value

Joshua G Lock joshua.g.lock at linux.intel.com
Fri Feb 12 12:28:32 UTC 2016


On Fri, 2016-02-12 at 14:15 +0200, Dmitry Rozhkov wrote:
> man 5 os-release states that VERSION_ID is
> 
> "
> a lower-case string (mostly numeric, no spaces or other
> characters outside of 0-9, a-z, ".", "_" and "-")
> identifying the operating system version
> "
> 
> This becomes crucial when ClearLinux's software
> update mechanism is integrated into builds, because
> its client side ignores VERSION_ID's value if it
> doesn't conform the definition.
> 
> Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov at intel.com>

I think we probably want this change, but we will also need to change
the default assignment of VERSION_ID to match the rules:

"Variable assignment values must be enclosed in double or single quotes
if they include spaces, semicolons or other special characters outside
of A-Z, a-z, 0-9."

By default VERSION_ID is assigned DISTRO_VERSION, which contains
invalid characters for this field in both OE Core (defaultsetup distro
uses "nodistro.0") and meta-yocto (poky distro uses something like
"2.0+snapshot-${DATE}" during development and something like "1.8.1" on
a release).

Thoughts on changing these?

Regards,

Joshua

> ---
>  meta/recipes-core/os-release/os-release.bb | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-core/os-release/os-release.bb
> b/meta/recipes-core/os-release/os-release.bb
> index df19ca2..1f0df9e 100644
> --- a/meta/recipes-core/os-release/os-release.bb
> +++ b/meta/recipes-core/os-release/os-release.bb
> @@ -29,7 +29,11 @@ python do_compile () {
>          for field in d.getVar('OS_RELEASE_FIELDS', True).split():
>              value = d.getVar(field, True)
>              if value:
> -                f.write('{0}="{1}"\n'.format(field, value))
> +                if field == "VERSION_ID":
> +                    format_str = '{0}={1}\n'
> +                else:
> +                    format_str = '{0}="{1}"\n'
> +                f.write(format_str.format(field, value))
>      if d.getVar('RPM_SIGN_PACKAGES', True) == '1':
>          rpm_gpg_pubkey = d.getVar('RPM_GPG_PUBKEY', True)
>          bb.utils.mkdirhier('${B}/rpm-gpg')
> -- 
> 2.5.0
> 
> ---------------------------------------------------------------------
> Intel Finland Oy
> Registered Address: PL 281, 00181 Helsinki 
> Business Identity Code: 0357606 - 4 
> Domiciled in Helsinki 
> 
> This e-mail and any attachments may contain confidential material for
> the sole use of the intended recipient(s). Any review or distribution
> by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.
> 



More information about the Openembedded-core mailing list