util: add get_linux_distro function to replace platfom.dist
This commit is contained in:
parent
7fb3718b2a
commit
c9aa48ebb1
@ -1,6 +1,6 @@
|
|||||||
Name: cloud-init
|
Name: cloud-init
|
||||||
Version: 17.1
|
Version: 17.1
|
||||||
Release: 12
|
Release: 13
|
||||||
Summary: the defacto multi-distribution package that handles early initialization of a cloud instance.
|
Summary: the defacto multi-distribution package that handles early initialization of a cloud instance.
|
||||||
License: ASL 2.0 or GPLv3
|
License: ASL 2.0 or GPLv3
|
||||||
URL: http://launchpad.net/cloud-init
|
URL: http://launchpad.net/cloud-init
|
||||||
@ -8,22 +8,21 @@ Source0: https://launchpad.net/%{name}/trunk/%{version}/+download/%{name}-%{vers
|
|||||||
|
|
||||||
Source1: cloud-init-tmpfiles.conf
|
Source1: cloud-init-tmpfiles.conf
|
||||||
|
|
||||||
Patch0: cloud-init-17.1-disable-lxd-tests.patch
|
Patch0000: cloud-init-17.1-disable-lxd-tests.patch
|
||||||
Patch1: cloud-init-17.1-nm-controlled.patch
|
Patch0001: cloud-init-17.1-nm-controlled.patch
|
||||||
Patch2: cloud-init-17.1-no-override-default-network.patch
|
Patch0002: cloud-init-17.1-no-override-default-network.patch
|
||||||
|
Patch0003: EC2-Limit-network-config-to-fallback-nic-fix-local-i.patch
|
||||||
Patch6000: EC2-Limit-network-config-to-fallback-nic-fix-local-i.patch
|
Patch0004: ntp-fix-config-module-schema-to-allow-empty-ntp-conf.patch
|
||||||
Patch6001: ntp-fix-config-module-schema-to-allow-empty-ntp-conf.patch
|
Patch0005: resizefs-Fix-regression-when-system-booted-with-root.patch
|
||||||
Patch6002: resizefs-Fix-regression-when-system-booted-with-root.patch
|
Patch0006: hosts-Fix-openSUSE-and-SLES-setup-for-etc-hosts-and-.patch
|
||||||
Patch6003: hosts-Fix-openSUSE-and-SLES-setup-for-etc-hosts-and-.patch
|
Patch0007: EC2-Fix-bug-using-fallback_nic-and-metadata-when-res.patch
|
||||||
Patch6004: EC2-Fix-bug-using-fallback_nic-and-metadata-when-res.patch
|
Patch0008: Fix-ssh-keys-validation-in-ssh_util.patch
|
||||||
Patch6005: Fix-ssh-keys-validation-in-ssh_util.patch
|
Patch0009: stages-fix-tracebacks-if-a-module-stage-is-undefined.patch
|
||||||
Patch6006: stages-fix-tracebacks-if-a-module-stage-is-undefined.patch
|
Patch0010: stages-Fix-bug-causing-datasource-to-have-incorrect-.patch
|
||||||
Patch6007: stages-Fix-bug-causing-datasource-to-have-incorrect-.patch
|
Patch0011: bugfix-cloud-init-add-openEuler-os.patch
|
||||||
|
Patch0012: bugfix-sort-requirements.patch
|
||||||
Patch9000: bugfix-cloud-init-add-openEuler-os.patch
|
Patch0013: add-variable-to-forbid-tmp-dir.patch
|
||||||
Patch9001: bugfix-sort-requirements.patch
|
Patch0014: util-add-get_linux_distro-function-to-replace-platfo.patch
|
||||||
Patch9002: add-variable-to-forbid-tmp-dir.patch
|
|
||||||
|
|
||||||
BuildRequires: pkgconfig(systemd) python3-devel python3-setuptools systemd
|
BuildRequires: pkgconfig(systemd) python3-devel python3-setuptools systemd
|
||||||
BuildRequires: iproute python3-configobj python3-httpretty >= 0.8.14-2
|
BuildRequires: iproute python3-configobj python3-httpretty >= 0.8.14-2
|
||||||
@ -128,6 +127,12 @@ fi
|
|||||||
%exclude /usr/share/doc/*
|
%exclude /usr/share/doc/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jun 23 2020 chenditang <chenditang1@huawei.com> - 17.1-13
|
||||||
|
- Type:bugfix
|
||||||
|
- ID:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:add get_linux_distro function to replace platfom.dist
|
||||||
|
|
||||||
* Sat Mar 14 2020 chengquan <chengquan3@huawei.com> - 17.1-12
|
* Sat Mar 14 2020 chengquan <chengquan3@huawei.com> - 17.1-12
|
||||||
- Type:bugfix
|
- Type:bugfix
|
||||||
- ID:NA
|
- ID:NA
|
||||||
|
|||||||
79
util-add-get_linux_distro-function-to-replace-platfo.patch
Normal file
79
util-add-get_linux_distro-function-to-replace-platfo.patch
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
From c4b342ded57aa1ad0ff01b8df8ae6bc900f0c213 Mon Sep 17 00:00:00 2001
|
||||||
|
From: openEuler BUildteam <buildteam@openeuler.org>
|
||||||
|
Date: Tue, 23 Jun 2020 16:45:57 +0800
|
||||||
|
Subject: [PATCH] util: add get_linux_distro function to replace platfom.dist
|
||||||
|
|
||||||
|
---
|
||||||
|
cloudinit/util.py | 39 ++++++++++++++++++++++++++++++++++++---
|
||||||
|
1 file changed, 36 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/cloudinit/util.py b/cloudinit/util.py
|
||||||
|
index ac9ae81..ff28b61 100644
|
||||||
|
--- a/cloudinit/util.py
|
||||||
|
+++ b/cloudinit/util.py
|
||||||
|
@@ -579,6 +579,39 @@ def get_cfg_option_int(yobj, key, default=0):
|
||||||
|
return int(get_cfg_option_str(yobj, key, default=default))
|
||||||
|
|
||||||
|
|
||||||
|
+def get_linux_distro():
|
||||||
|
+ distro_name = ''
|
||||||
|
+ distro_version = ''
|
||||||
|
+ if os.path.exists('/etc/os-release'):
|
||||||
|
+ os_release = load_file('/etc/os-release')
|
||||||
|
+ for line in os_release.splitlines():
|
||||||
|
+ if line.strip().startswith('ID='):
|
||||||
|
+ distro_name = line.split('=')[-1]
|
||||||
|
+ distro_name = distro_name.replace('"', '')
|
||||||
|
+ if line.strip().startswith('VERSION_ID='):
|
||||||
|
+ # Lets hope for the best that distros stay consistent ;)
|
||||||
|
+ distro_version = line.split('=')[-1]
|
||||||
|
+ distro_version = distro_version.replace('"', '')
|
||||||
|
+ else:
|
||||||
|
+ dist = ('', '', '')
|
||||||
|
+ try:
|
||||||
|
+ # Will be removed in 3.7
|
||||||
|
+ dist = platform.dist() # pylint: disable=W1505
|
||||||
|
+ except Exception:
|
||||||
|
+ pass
|
||||||
|
+ finally:
|
||||||
|
+ found = None
|
||||||
|
+ for entry in dist:
|
||||||
|
+ if entry:
|
||||||
|
+ found = 1
|
||||||
|
+ if not found:
|
||||||
|
+ LOG.warning('Unable to determine distribution, template '
|
||||||
|
+ 'expansion may have unexpected results')
|
||||||
|
+ return dist
|
||||||
|
+
|
||||||
|
+ return (distro_name, distro_version, platform.machine())
|
||||||
|
+
|
||||||
|
+
|
||||||
|
def system_info():
|
||||||
|
info = {
|
||||||
|
'platform': platform.platform(),
|
||||||
|
@@ -586,19 +619,19 @@ def system_info():
|
||||||
|
'release': platform.release(),
|
||||||
|
'python': platform.python_version(),
|
||||||
|
'uname': platform.uname(),
|
||||||
|
- 'dist': platform.dist(), # pylint: disable=W1505
|
||||||
|
+ 'dist': get_linux_distro()
|
||||||
|
}
|
||||||
|
system = info['system'].lower()
|
||||||
|
var = 'unknown'
|
||||||
|
if system == "linux":
|
||||||
|
linux_dist = info['dist'][0].lower()
|
||||||
|
- if linux_dist in ('centos', 'fedora', 'debian', 'openEuler'):
|
||||||
|
+ if linux_dist in ('centos', 'debian', 'fedora', 'rhel', 'suse', 'openEuler'):
|
||||||
|
var = linux_dist
|
||||||
|
elif linux_dist in ('ubuntu', 'linuxmint', 'mint'):
|
||||||
|
var = 'ubuntu'
|
||||||
|
elif linux_dist == 'redhat':
|
||||||
|
var = 'rhel'
|
||||||
|
- elif linux_dist == 'suse':
|
||||||
|
+ elif linux_dist in ('opensuse', 'sles'):
|
||||||
|
var = 'suse'
|
||||||
|
else:
|
||||||
|
var = 'linux'
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user