OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:saltstack/salt?expand=0&rev=131
66 lines
2.0 KiB
Diff
66 lines
2.0 KiB
Diff
From 943a258da3ed460f173968b0a92b95f2e63ab669 Mon Sep 17 00:00:00 2001
|
|
From: Bo Maryniuk <bo@suse.de>
|
|
Date: Mon, 8 Oct 2018 12:48:24 +0200
|
|
Subject: [PATCH] Get os_family for RPM distros from the RPM macros.
|
|
(U#49930)
|
|
|
|
Strip and stringify the return for the osarch
|
|
|
|
Fix imports
|
|
---
|
|
salt/grains/core.py | 8 +++++---
|
|
salt/utils/pkg/rpm.py | 3 ++-
|
|
2 files changed, 7 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/salt/grains/core.py b/salt/grains/core.py
|
|
index 6aaf38096d..80eebd1c05 100644
|
|
--- a/salt/grains/core.py
|
|
+++ b/salt/grains/core.py
|
|
@@ -49,6 +49,8 @@ import salt.utils.path
|
|
import salt.utils.platform
|
|
import salt.utils.stringutils
|
|
import salt.utils.versions
|
|
+import salt.utils.pkg.rpm
|
|
+
|
|
from salt.ext import six
|
|
from salt.ext.six.moves import range
|
|
|
|
@@ -1776,9 +1778,9 @@ def os_data():
|
|
# architecture.
|
|
if grains.get('os_family') == 'Debian':
|
|
osarch = __salt__['cmd.run']('dpkg --print-architecture').strip()
|
|
- elif grains.get('os_family') == 'RedHat':
|
|
- osarch = __salt__['cmd.run']('rpm --eval %{_host_cpu}').strip()
|
|
- elif grains.get('os_family') == 'NILinuxRT':
|
|
+ elif grains.get('os_family') in ['RedHat', 'Suse']:
|
|
+ osarch = salt.utils.pkg.rpm.get_osarch()
|
|
+ elif grains.get('os_family') in ('NILinuxRT', 'Poky'):
|
|
archinfo = {}
|
|
for line in __salt__['cmd.run']('opkg print-architecture').splitlines():
|
|
if line.startswith('arch'):
|
|
diff --git a/salt/utils/pkg/rpm.py b/salt/utils/pkg/rpm.py
|
|
index 987edab894..94e231da4b 100644
|
|
--- a/salt/utils/pkg/rpm.py
|
|
+++ b/salt/utils/pkg/rpm.py
|
|
@@ -9,6 +9,7 @@ import collections
|
|
import datetime
|
|
import logging
|
|
import subprocess
|
|
+import salt.utils.stringutils
|
|
|
|
# Import 3rd-party libs
|
|
from salt.ext import six
|
|
@@ -47,7 +48,7 @@ def get_osarch():
|
|
close_fds=True,
|
|
stdout=subprocess.PIPE,
|
|
stderr=subprocess.PIPE).communicate()[0]
|
|
- return ret or 'unknown'
|
|
+ return salt.utils.stringutils.to_str(ret).strip() or 'unknown'
|
|
|
|
|
|
def check_32(arch, osarch=None):
|
|
--
|
|
2.19.0
|
|
|
|
|