mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Merge pull request #31445 from rallytime/fix-31366
Only use LONGSIZE in rpm.info if available. Otherwise, use SIZE.
This commit is contained in:
commit
987dd89979
2 changed files with 24 additions and 3 deletions
|
@ -422,6 +422,15 @@ def info(*packages, **attr):
|
|||
salt '*' lowpkg.info apache2 bash attr=version
|
||||
salt '*' lowpkg.info apache2 bash attr=version,build_date_iso,size
|
||||
'''
|
||||
# LONGSIZE is not a valid tag for all versions of rpm. If LONGSIZE isn't
|
||||
# available, then we can just use SIZE for older versions. See Issue #31366.
|
||||
rpm_tags = __salt__['cmd.run_stdout'](
|
||||
['rpm', '--querytags'],
|
||||
python_shell=False).splitlines()
|
||||
if 'LONGSIZE' in rpm_tags:
|
||||
size_tag = '%{LONGSIZE}'
|
||||
else:
|
||||
size_tag = '%{SIZE}'
|
||||
|
||||
cmd = packages and "rpm -q {0}".format(' '.join(packages)) or "rpm -qa"
|
||||
|
||||
|
@ -440,7 +449,7 @@ def info(*packages, **attr):
|
|||
"build_host": "build_host: %{BUILDHOST}\\n",
|
||||
"group": "group: %{GROUP}\\n",
|
||||
"source_rpm": "source_rpm: %{SOURCERPM}\\n",
|
||||
"size": "size: %{LONGSIZE}\\n",
|
||||
"size": "size: " + size_tag + "\\n",
|
||||
"arch": "arch: %{ARCH}\\n",
|
||||
"license": "%|LICENSE?{license: %{LICENSE}\\n}|",
|
||||
"signature": "signature: %|DSAHEADER?{%{DSAHEADER:pgpsig}}:{%|RSAHEADER?{%{RSAHEADER:pgpsig}}:"
|
||||
|
@ -477,6 +486,8 @@ def info(*packages, **attr):
|
|||
if 'stderr' in call:
|
||||
comment += (call['stderr'] or call['stdout'])
|
||||
raise CommandExecutionError('{0}'.format(comment))
|
||||
elif 'error' in call['stderr']:
|
||||
raise CommandExecutionError(call['stderr'])
|
||||
else:
|
||||
out = call['stdout']
|
||||
|
||||
|
|
|
@ -181,10 +181,20 @@ class PkgModuleTest(integration.ModuleCase,
|
|||
os_family = self.run_function('grains.item', ['os_family'])['os_family']
|
||||
|
||||
if os_family == 'Debian':
|
||||
ret = self.run_function(func, ['bash-completion', 'cron'])
|
||||
ret = self.run_function(func, ['bash-completion', 'dpkg'])
|
||||
keys = ret.keys()
|
||||
self.assertIn('bash-completion', keys)
|
||||
self.assertIn('cron', keys)
|
||||
self.assertIn('dpkg', keys)
|
||||
elif os_family == 'RedHat':
|
||||
ret = self.run_function(func, ['rpm', 'yum'])
|
||||
keys = ret.keys()
|
||||
self.assertIn('rpm', keys)
|
||||
self.assertIn('yum', keys)
|
||||
elif os_family == 'Suse':
|
||||
ret = self.run_function(func, ['bash-completion', 'zypper'])
|
||||
keys = ret.keys()
|
||||
self.assertIn('bash-completion', keys)
|
||||
self.assertIn('zypper', keys)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
Loading…
Add table
Reference in a new issue