sysutils/py-salt: Fix upstream issues #33554, #33578, #33608 and #33529

The patch fixes some issues that are new with 2016.3.0
- https://github.com/saltstack/salt/issues/33529
- https://github.com/saltstack/salt/issues/33554
- https://github.com/saltstack/salt/issues/33578
- https://github.com/saltstack/salt/issues/33608

PR:		209829
Submitted by:	ohauer, Andreas Montalban <amontalban@gmail.com>
Approved by:	christer.edwards@gmail.com (maintainer timeout)
This commit is contained in:
Kurt Jaeger 2016-06-15 04:40:36 +00:00
parent 8f597c05bc
commit 97a33341e6
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=416914
6 changed files with 112 additions and 2 deletions

View file

@ -3,6 +3,7 @@
PORTNAME= salt
PORTVERSION= 2016.3.0
PORTREVISION= 1
CATEGORIES= sysutils python
MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}

View file

@ -0,0 +1,12 @@
# Issue #33608
# https://github.com/saltstack/salt/issues/33608
--- salt/grains/core.py.orig 2016-05-25 22:30:31 UTC
+++ salt/grains/core.py
@@ -1422,6 +1422,7 @@ def os_data():
else:
grains['os'] = grains['kernel']
if grains['kernel'] == 'FreeBSD':
+ grains.update(_bsd_cpudata(grains))
try:
grains['osrelease'] = __salt__['cmd.run']('freebsd-version -u').split('-')[0]
except salt.exceptions.CommandExecutionError:

View file

@ -0,0 +1,51 @@
--- salt/grains/disks.py.orig 2016-05-25 22:30:31 UTC
+++ salt/grains/disks.py
@@ -57,18 +57,27 @@ class _geomconsts(object):
_datatypes = {
MEDIASIZE: ('re_int', r'(\d+)'),
- SECTORSIZE: 'int',
- STRIPESIZE: 'int',
- STRIPEOFFSET: 'int',
- ROTATIONRATE: 'int',
+ SECTORSIZE: 'try_int',
+ STRIPESIZE: 'try_int',
+ STRIPEOFFSET: 'try_int',
+ ROTATIONRATE: 'try_int',
}
def _datavalue(datatype, data):
- if datatype == 'int':
- return int(data)
- elif datatype and datatype[0] == 're_int':
- return int(re.search(datatype[1], data).group(1))
+ if datatype == 'try_int':
+ try:
+ return int(data)
+ except ValueError:
+ return None
+ elif datatype is tuple and datatype[0] == 're_int':
+ search = re.search(datatype[1], data)
+ if search:
+ try:
+ return int(search.group(1))
+ except ValueError:
+ return None
+ return None
else:
return data
@@ -97,9 +106,11 @@ def _freebsd_geom():
tmp[_geomconsts._aliases[attrib]] = value
name = tmp.pop(_geomconsts.GEOMNAME)
+ if name.startswith('cd'):
+ return
ret['disks'][name] = tmp
- if tmp[_geomconsts.ROTATIONRATE] == 0:
+ if tmp.get(_geomconsts.ROTATIONRATE) == 0:
log.trace('Device {0} reports itself as an SSD'.format(device))
ret['SSDs'].append(name)

View file

@ -0,0 +1,24 @@
--- salt/modules/pkgng.py.orig 2016-05-25 22:30:31 UTC
+++ salt/modules/pkgng.py
@@ -97,7 +97,8 @@ def _get_pkgng_version(jail=None, chroot
'''
return the version of 'pkg'
'''
- return __salt__['cmd.run']([_pkg(jail, chroot), '--version']).strip()
+ cmd = _pkg(jail, chroot) + ['--version']
+ return __salt__['cmd.run'](cmd).strip()
def _get_version(name, results):
@@ -287,9 +288,9 @@ def latest_version(*names, **kwargs):
for name in names:
# FreeBSD supports packages in format java/openjdk7
if '/' in name:
- cmd = [_pkg(jail, chroot), 'search']
+ cmd = _pkg(jail, chroot) + ['search']
else:
- cmd = [_pkg(jail, chroot), 'search', '-S', 'name', '-Q', 'version', '-e']
+ cmd = _pkg(jail, chroot) + ['search', '-S', 'name', '-Q', 'version', '-e']
if quiet:
cmd.append('-q')
cmd.append(name)

View file

@ -0,0 +1,22 @@
# Issue #33554
# https://github.com/saltstack/salt/issues/33554
--- salt/returners/local_cache.py.orig 2016-05-25 22:30:31 UTC
+++ salt/returners/local_cache.py
@@ -407,14 +407,14 @@ def clean_old_jobs():
for final in t_path_dirs:
f_path = os.path.join(t_path, final)
jid_file = os.path.join(f_path, 'jid')
- if not os.path.isfile(jid_file):
+ if not os.path.isfile(jid_file) and os.path.exists(t_path):
# No jid file means corrupted cache entry, scrub it
# by removing the entire t_path directory
shutil.rmtree(t_path)
- else:
+ elif os.path.isfile(jid_file):
jid_ctime = os.stat(jid_file).st_ctime
hours_difference = (cur - jid_ctime) / 3600.0
- if hours_difference > __opts__['keep_jobs']:
+ if hours_difference > __opts__['keep_jobs'] and os.path.exists(t_path):
# Remove the entire t_path from the original JID dir
shutil.rmtree(t_path)

View file

@ -1,6 +1,6 @@
--- setup.py.orig 2015-04-17 18:44:50 UTC
--- setup.py.orig 2016-05-25 22:30:31 UTC
+++ setup.py
@@ -623,8 +623,8 @@ class SaltDistribution(distutils.dist.Di
@@ -986,8 +986,8 @@ class SaltDistribution(distutils.dist.Di
def _property_data_files(self):
# Data files common to all scenarios
data_files = [