[OE-core] [PATCH] oeqa.utils.metadata: cope with invalid lines in os-release file

Joshua Lock joshua.g.lock at linux.intel.com
Wed Apr 26 14:47:26 UTC 2017


On Wed, 2017-04-26 at 17:39 +0300, Markus Lehtonen wrote:
> Don't crash if every line in /etc/os-release does not adhere to the
> expected "key=val" format. E.g. CentOS 7 has empty lines in the file.
> 
> Signed-off-by: Markus Lehtonen <markus.lehtonen at linux.intel.com>
> ---
>  meta/lib/oeqa/utils/metadata.py | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/lib/oeqa/utils/metadata.py
> b/meta/lib/oeqa/utils/metadata.py
> index cb81155e54..d291ddb960 100644
> --- a/meta/lib/oeqa/utils/metadata.py
> +++ b/meta/lib/oeqa/utils/metadata.py
> @@ -20,8 +20,10 @@ def get_os_release():
>          return None
>      with open(os_release_file) as fobj:
>          for line in fobj:
> -            key, value = line.split('=', 1)
> -            data[key.strip().lower()] = value.strip().strip('"')
> +            split = line.split('=', 1)
> +            if len(split) == 2:
> +                key, value = split
> +                data[key.strip().lower()] = value.strip().strip('"')

We have a function to read os-release in oe.lsb, return_dict_osr().

It handles this situation slightly differently, but the real reason I'm
pointing this out is that it seems like we could factor out a shared
function to be used both here and in oe.lsb ?

Joshua



More information about the Openembedded-core mailing list