diff --git a/sysutils/py-salt/Makefile b/sysutils/py-salt/Makefile index a41a19d3c86b..c595857a6c2f 100644 --- a/sysutils/py-salt/Makefile +++ b/sysutils/py-salt/Makefile @@ -3,6 +3,7 @@ PORTNAME= salt PORTVERSION= 2016.3.0 +PORTREVISION= 1 CATEGORIES= sysutils python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} diff --git a/sysutils/py-salt/files/patch-salt_grains_core.py b/sysutils/py-salt/files/patch-salt_grains_core.py new file mode 100644 index 000000000000..04794a04deff --- /dev/null +++ b/sysutils/py-salt/files/patch-salt_grains_core.py @@ -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: diff --git a/sysutils/py-salt/files/patch-salt_grains_disks.py b/sysutils/py-salt/files/patch-salt_grains_disks.py new file mode 100644 index 000000000000..d10ce2a3e411 --- /dev/null +++ b/sysutils/py-salt/files/patch-salt_grains_disks.py @@ -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) + diff --git a/sysutils/py-salt/files/patch-salt_modules_pkgng.py b/sysutils/py-salt/files/patch-salt_modules_pkgng.py new file mode 100644 index 000000000000..5200adc32a34 --- /dev/null +++ b/sysutils/py-salt/files/patch-salt_modules_pkgng.py @@ -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) diff --git a/sysutils/py-salt/files/patch-salt_returners_local__cache.py b/sysutils/py-salt/files/patch-salt_returners_local__cache.py new file mode 100644 index 000000000000..fa9e45050dcd --- /dev/null +++ b/sysutils/py-salt/files/patch-salt_returners_local__cache.py @@ -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) + diff --git a/sysutils/py-salt/files/patch-setup.py b/sysutils/py-salt/files/patch-setup.py index 4090a0bc5cf7..a3661e6bddf8 100644 --- a/sysutils/py-salt/files/patch-setup.py +++ b/sysutils/py-salt/files/patch-setup.py @@ -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 = [