diff options
author | Ross Burton <ross.burton@intel.com> | 2016-04-12 18:04:22 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-04-13 10:12:43 +0100 |
commit | 8a96a7207561e00eb92e4fb69e7340f20bfa2053 (patch) | |
tree | d512ab86ca4d79b5eca4dc9e1a078f645f5711ff /meta | |
parent | d71f4f54b4c22c9382bddce66c1580d875dcfef2 (diff) | |
download | openembedded-core-8a96a7207561e00eb92e4fb69e7340f20bfa2053.tar.gz openembedded-core-8a96a7207561e00eb92e4fb69e7340f20bfa2053.tar.bz2 openembedded-core-8a96a7207561e00eb92e4fb69e7340f20bfa2053.zip |
lib/oe/lsb: sanitise the distro identifier
The distribution identifier is often used to create filenames, so it needs to be
safe to use as a filename. Whilst most distributions have e.g. Fedora or Debian
as their name, it is possible that the name contains special characters.
To ensure this doesn't cause a problem strip out any non-alphanumerics from the
distribution name before returning it.
[ YOCTO #9443 ]
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/lib/oe/lsb.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/meta/lib/oe/lsb.py b/meta/lib/oe/lsb.py index ddfe71b6b5..e0bdfba255 100644 --- a/meta/lib/oe/lsb.py +++ b/meta/lib/oe/lsb.py @@ -62,6 +62,8 @@ def distro_identifier(adjust_hook=None): """Return a distro identifier string based upon lsb_release -ri, with optional adjustment via a hook""" + import re + lsb_data = release_dict() if lsb_data: distro_id, release = lsb_data['Distributor ID'], lsb_data['Release'] @@ -76,6 +78,9 @@ def distro_identifier(adjust_hook=None): distro_id, release = adjust_hook(distro_id, release) if not distro_id: return "Unknown" + # Filter out any non-alphanumerics + distro_id = re.sub(r'\W', '', distro_id) + if release: id_str = '{0}-{1}'.format(distro_id, release) else: |