From owner-svn-ports-head@freebsd.org Wed Apr 6 20:11:26 2016 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3C3EFB066A9; Wed, 6 Apr 2016 20:11:26 +0000 (UTC) (envelope-from madpilot@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EF31C1C91; Wed, 6 Apr 2016 20:11:25 +0000 (UTC) (envelope-from madpilot@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u36KBPVk069334; Wed, 6 Apr 2016 20:11:25 GMT (envelope-from madpilot@FreeBSD.org) Received: (from madpilot@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u36KBOV1069331; Wed, 6 Apr 2016 20:11:24 GMT (envelope-from madpilot@FreeBSD.org) Message-Id: <201604062011.u36KBOV1069331@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: madpilot set sender to madpilot@FreeBSD.org using -f From: Guido Falsi Date: Wed, 6 Apr 2016 20:11:24 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r412641 - in head/sysutils/py-salt: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Apr 2016 20:11:26 -0000 Author: madpilot Date: Wed Apr 6 20:11:24 2016 New Revision: 412641 URL: https://svnweb.freebsd.org/changeset/ports/412641 Log: Import upstream patches which remove some spurious log entries PR: 208520 Submitted by: Christer Edwards (maintainer) Obtained from: https://github.com/saltstack/salt/pull/32135 https://github.com/saltstack/salt/pull/32023 https://github.com/saltstack/salt/pull/32117 Added: head/sysutils/py-salt/files/patch-salt__config.py (contents, props changed) head/sysutils/py-salt/files/patch-salt__modules__win_dacl.py (contents, props changed) Modified: head/sysutils/py-salt/Makefile Modified: head/sysutils/py-salt/Makefile ============================================================================== --- head/sysutils/py-salt/Makefile Wed Apr 6 20:03:08 2016 (r412640) +++ head/sysutils/py-salt/Makefile Wed Apr 6 20:11:24 2016 (r412641) @@ -3,6 +3,7 @@ PORTNAME= salt PORTVERSION= 2015.8.8 +PORTREVISION= 1 CATEGORIES= sysutils python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} Added: head/sysutils/py-salt/files/patch-salt__config.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/py-salt/files/patch-salt__config.py Wed Apr 6 20:11:24 2016 (r412641) @@ -0,0 +1,116 @@ +diff --git a/salt/config.py b/salt/config.py +index 071e06b..1f83c33 100644 +--- salt/config.py.orig ++++ salt/config.py +@@ -63,7 +63,7 @@ + + VALID_OPTS = { + # The address of the salt master. May be specified as IP address or hostname +- 'master': str, ++ 'master': (str, list), + + # The TCP/UDP port of the master to connect to in order to listen to publications + 'master_port': int, +@@ -541,7 +541,7 @@ + 'file_recv': bool, + 'file_recv_max_size': int, + 'file_ignore_regex': list, +- 'file_ignore_glob': bool, ++ 'file_ignore_glob': list, + 'fileserver_backend': list, + 'fileserver_followsymlinks': bool, + 'fileserver_ignoresymlinks': bool, +@@ -833,7 +833,7 @@ + 'file_recv': False, + 'file_recv_max_size': 100, + 'file_ignore_regex': [], +- 'file_ignore_glob': None, ++ 'file_ignore_glob': [], + 'fileserver_backend': ['roots'], + 'fileserver_followsymlinks': True, + 'fileserver_ignoresymlinks': False, +@@ -1348,26 +1348,30 @@ def _validate_opts(opts): + Check that all of the types of values passed into the config are + of the right types + ''' ++ def format_multi_opt(valid_type): ++ try: ++ num_types = len(valid_type) ++ except TypeError: ++ # Bare type name won't have a length, return the name of the type ++ # passed. ++ return valid_type.__name__ ++ else: ++ if num_types == 1: ++ return valid_type.__name__ ++ elif num_types > 1: ++ ret = ', '.join(x.__name__ for x in valid_type[:-1]) ++ ret += ' or ' + valid_type[-1].__name__ ++ + errors = [] +- err = ('Key {0} with value {1} has an invalid type of {2}, a {3} is ' ++ ++ err = ('Key \'{0}\' with value {1} has an invalid type of {2}, a {3} is ' + 'required for this value') + for key, val in six.iteritems(opts): + if key in VALID_OPTS: +- if isinstance(VALID_OPTS[key](), list): +- if isinstance(val, VALID_OPTS[key]): +- continue +- else: +- errors.append( +- err.format(key, val, type(val).__name__, 'list') +- ) +- if isinstance(VALID_OPTS[key](), dict): +- if isinstance(val, VALID_OPTS[key]): +- continue +- else: +- errors.append( +- err.format(key, val, type(val).__name__, 'dict') +- ) +- else: ++ if isinstance(val, VALID_OPTS[key]): ++ continue ++ ++ if hasattr(VALID_OPTS[key], '__call__'): + try: + VALID_OPTS[key](val) + if isinstance(val, (list, dict)): +@@ -1384,14 +1388,21 @@ def _validate_opts(opts): + VALID_OPTS[key].__name__ + ) + ) +- except ValueError: ++ except (TypeError, ValueError): + errors.append( +- err.format(key, val, type(val).__name__, VALID_OPTS[key]) +- ) +- except TypeError: +- errors.append( +- err.format(key, val, type(val).__name__, VALID_OPTS[key]) ++ err.format(key, ++ val, ++ type(val).__name__, ++ VALID_OPTS[key].__name__) + ) ++ continue ++ ++ errors.append( ++ err.format(key, ++ val, ++ type(val).__name__, ++ format_multi_opt(VALID_OPTS[key].__name__)) ++ ) + + # RAET on Windows uses 'win32file.CreateMailslot()' for IPC. Due to this, + # sock_dirs must start with '\\.\mailslot\' and not contain any colons. +@@ -1404,7 +1415,7 @@ def _validate_opts(opts): + '\\\\.\\mailslot\\' + opts['sock_dir'].replace(':', '')) + + for error in errors: +- log.warning(error) ++ log.debug(error) + if errors: + return False + return True + Added: head/sysutils/py-salt/files/patch-salt__modules__win_dacl.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/py-salt/files/patch-salt__modules__win_dacl.py Wed Apr 6 20:11:24 2016 (r412641) @@ -0,0 +1,34 @@ +diff --git a/salt/modules/win_dacl.py b/salt/modules/win_dacl.py +index d57bb7b..d9ee27a 100644 +--- salt/modules/win_dacl.py ++++ salt/modules/win_dacl.py +@@ -44,9 +44,10 @@ class daclConstants(object): + # in ntsecuritycon has the extra bits 0x200 enabled. + # Note that you when you set this permission what you'll generally get back is it + # ORed with 0x200 (SI_NO_ACL_PROTECT), which is what ntsecuritycon incorrectly defines. +- FILE_ALL_ACCESS = (ntsecuritycon.STANDARD_RIGHTS_REQUIRED | ntsecuritycon.SYNCHRONIZE | 0x1ff) + + def __init__(self): ++ self.FILE_ALL_ACCESS = (ntsecuritycon.STANDARD_RIGHTS_REQUIRED | ntsecuritycon.SYNCHRONIZE | 0x1ff) ++ + self.hkeys_security = { + 'HKEY_LOCAL_MACHINE': 'MACHINE', + 'HKEY_USERS': 'USERS', +@@ -88,7 +89,7 @@ def __init__(self): + ntsecuritycon.DELETE, + 'TEXT': 'modify'}, + 'FULLCONTROL': { +- 'BITS': daclConstants.FILE_ALL_ACCESS, ++ 'BITS': self.FILE_ALL_ACCESS, + 'TEXT': 'full control'} + } + } +@@ -368,7 +369,7 @@ def add_ace(path, objectType, user, permission, acetype, propagation): + path: path to the object (i.e. c:\\temp\\file, HKEY_LOCAL_MACHINE\\SOFTWARE\\KEY, etc) + user: user to add + permission: permissions for the user +- acetypes: either allow/deny for each user/permission (ALLOW, DENY) ++ acetype: either allow/deny for each user/permission (ALLOW, DENY) + propagation: how the ACE applies to children for Registry Keys and Directories(KEY, KEY&SUBKEYS, SUBKEYS) + + CLI Example: