diff options
Diffstat (limited to 'app-admin/salt/files')
-rw-r--r-- | app-admin/salt/files/salt-3000.2-py38-logwarn.patch | 116 | ||||
-rw-r--r-- | app-admin/salt/files/salt-3000.2-py38-misc.patch | 460 | ||||
-rw-r--r-- | app-admin/salt/files/salt-3000.2-tornado-py38.patch | 12 |
3 files changed, 116 insertions, 472 deletions
diff --git a/app-admin/salt/files/salt-3000.2-py38-logwarn.patch b/app-admin/salt/files/salt-3000.2-py38-logwarn.patch new file mode 100644 index 000000000000..e77d2376ce1b --- /dev/null +++ b/app-admin/salt/files/salt-3000.2-py38-logwarn.patch @@ -0,0 +1,116 @@ +diff --git a/salt/cloud/clouds/ec2.py b/salt/cloud/clouds/ec2.py +index 68f752cb2d..fa2b96499d 100644 +--- a/salt/cloud/clouds/ec2.py ++++ b/salt/cloud/clouds/ec2.py +@@ -4901,7 +4901,7 @@ def get_password_data( + + if not HAS_M2 and not HAS_PYCRYPTO: + if 'key' in kwargs or 'key_file' in kwargs: +- log.warn("No crypto library is installed, can not decrypt password") ++ log.warning("No crypto library is installed, can not decrypt password") + return ret + + if 'key' not in kwargs: +diff --git a/salt/modules/gpg.py b/salt/modules/gpg.py +index 9dd1007c1b..47c82a7141 100644 +--- a/salt/modules/gpg.py ++++ b/salt/modules/gpg.py +@@ -1083,7 +1083,7 @@ def verify(text=None, + + if trustmodel and trustmodel not in trustmodels: + msg = 'Invalid trustmodel defined: {}. Use one of: {}'.format(trustmodel, ', '.join(trustmodels)) +- log.warn(msg) ++ log.warning(msg) + return {'res': False, 'message': msg} + + extra_args = [] +diff --git a/salt/modules/network.py b/salt/modules/network.py +index 38e2bc326e..f3a8a714cd 100644 +--- a/salt/modules/network.py ++++ b/salt/modules/network.py +@@ -958,7 +958,7 @@ def traceroute(host): + + ret.append(result) + if not result: +- log.warn('Cannot parse traceroute output line: %s', line) ++ log.warning('Cannot parse traceroute output line: %s', line) + return ret + + +diff --git a/salt/modules/saltutil.py b/salt/modules/saltutil.py +index 138a0fcf51..5f026b0f36 100644 +--- a/salt/modules/saltutil.py ++++ b/salt/modules/saltutil.py +@@ -1096,7 +1096,7 @@ def refresh_pillar(wait=False, timeout=30): + tag='/salt/minion/minion_pillar_refresh_complete', + wait=timeout) + if not event_ret or event_ret['complete'] is False: +- log.warn("Pillar refresh did not complete within timeout %s", timeout) ++ log.warning("Pillar refresh did not complete within timeout %s", timeout) + return ret + + +diff --git a/salt/transport/tcp.py b/salt/transport/tcp.py +index 12ef24e86f..e83d1c927f 100644 +--- a/salt/transport/tcp.py ++++ b/salt/transport/tcp.py +@@ -1073,7 +1073,7 @@ class SaltMessageClient(object): + self._connecting_future.set_result(True) + break + except Exception as exc: # pylint: disable=broad-except +- log.warn('TCP Message Client encountered an exception %r', exc) ++ log.warning('TCP Message Client encountered an exception %r', exc) + yield salt.ext.tornado.gen.sleep(1) # TODO: backoff + #self._connecting_future.set_exception(e) + +diff --git a/salt/utils/process.py b/salt/utils/process.py +index 9626ac0cb2..18697ccf7c 100644 +--- a/salt/utils/process.py ++++ b/salt/utils/process.py +@@ -124,7 +124,7 @@ def dup2(file1, file2): + try: + fno1 = file1.fileno() + except io.UnsupportedOperation: +- log.warn('Unsupported operation on file: %r', file1) ++ log.warning('Unsupported operation on file: %r', file1) + return + if isinstance(file2, int): + fno2 = file2 +@@ -132,7 +132,7 @@ def dup2(file1, file2): + try: + fno2 = file2.fileno() + except io.UnsupportedOperation: +- log.warn('Unsupported operation on file: %r', file2) ++ log.warning('Unsupported operation on file: %r', file2) + return + os.dup2(fno1, fno2) + +@@ -829,13 +829,13 @@ class SignalHandlingProcess(Process): + if child.is_running(): + child.terminate() + except psutil.NoSuchProcess: +- log.warn( ++ log.warning( + 'Unable to kill child of process %d, it does ' + 'not exist. My pid is %d', + self.pid, os.getpid() + ) + except psutil.NoSuchProcess: +- log.warn( ++ log.warning( + 'Unable to kill children of process %d, it does not exist.' + 'My pid is %d', + self.pid, os.getpid() +diff --git a/tests/integration/modules/test_state.py b/tests/integration/modules/test_state.py +index 81b3b677b9..2f3bcaa613 100644 +--- a/tests/integration/modules/test_state.py ++++ b/tests/integration/modules/test_state.py +@@ -2282,7 +2282,7 @@ class StateModuleTest(ModuleCase, SaltReturnAssertsMixin): + try: + os.remove(path) + except OSError: +- log.warn("Path not found: %s", path) ++ log.warning("Path not found: %s", path) + + with salt.utils.files.fopen(module_path, 'w') as fp: + fp.write('raise ImportError("No module named pip")') diff --git a/app-admin/salt/files/salt-3000.2-py38-misc.patch b/app-admin/salt/files/salt-3000.2-py38-misc.patch deleted file mode 100644 index 93cc045a5310..000000000000 --- a/app-admin/salt/files/salt-3000.2-py38-misc.patch +++ /dev/null @@ -1,460 +0,0 @@ -diff --git a/salt/config/__init__.py b/salt/config/__init__.py -index 70b34ec949..4304d99bf7 100644 ---- a/salt/config/__init__.py -+++ b/salt/config/__init__.py -@@ -8,6 +8,7 @@ from __future__ import absolute_import, print_function, unicode_literals, genera - import os - import re - import sys -+import copy - import glob - import time - import codecs -@@ -3191,7 +3192,7 @@ def apply_cloud_providers_config(overrides, defaults=None): - # Merge provided extends - keep_looping = False - for alias, entries in six.iteritems(providers.copy()): -- for driver, details in six.iteritems(entries): -+ for driver, details in copy.copy(entries).items(): - - if 'extends' not in details: - # Extends resolved or non existing, continue! -diff --git a/salt/grains/core.py b/salt/grains/core.py -index 9b244def9c..ede3a94de9 100644 ---- a/salt/grains/core.py -+++ b/salt/grains/core.py -@@ -1939,7 +1939,7 @@ def os_data(): - ) - (osname, osrelease, oscodename) = \ - [x.strip('"').strip("'") for x in -- linux_distribution(supported_dists=_supported_dists)] -+ linux_distribution()] - # Try to assign these three names based on the lsb info, they tend to - # be more accurate than what python gets from /etc/DISTRO-release. - # It's worth noting that Ubuntu has patched their Python distribution -diff --git a/salt/modules/boto_route53.py b/salt/modules/boto_route53.py -index a663ec7207..8d3d8c2105 100644 ---- a/salt/modules/boto_route53.py -+++ b/salt/modules/boto_route53.py -@@ -158,7 +158,7 @@ def describe_hosted_zones(zone_id=None, domain_name=None, region=None, - else: - marker = None - ret = None -- while marker is not '': -+ while marker != '': - r = conn.get_all_hosted_zones(start_marker=marker, - zone_list=ret) - ret = r['ListHostedZonesResponse']['HostedZones'] -diff --git a/salt/modules/file.py b/salt/modules/file.py -index b5b70e2d4c..41a9229eb4 100644 ---- a/salt/modules/file.py -+++ b/salt/modules/file.py -@@ -2744,7 +2744,7 @@ def blockreplace(path, - - if block_found: - diff = __utils__['stringutils.get_diff'](orig_file, new_file) -- has_changes = diff is not '' -+ has_changes = diff != '' - if has_changes and not dry_run: - # changes detected - # backup file attrs -diff --git a/salt/modules/iptables.py b/salt/modules/iptables.py -index e232c6931f..9708f45256 100644 ---- a/salt/modules/iptables.py -+++ b/salt/modules/iptables.py -@@ -905,7 +905,7 @@ def insert(table='filter', chain=None, position=None, rule=None, family='ipv4'): - rules = get_rules(family=family) - size = len(rules[table][chain]['rules']) - position = (size + position) + 1 -- if position is 0: -+ if position == 0: - position = 1 - - wait = '--wait' if _has_option('--wait', family) else '' -@@ -1040,7 +1040,7 @@ def _parse_conf(conf_file=None, in_mem=False, family='ipv4'): - ret_args = {} - chain = parsed_args['append'] - for arg in parsed_args: -- if parsed_args[arg] and arg is not 'append': -+ if parsed_args[arg] and arg != 'append': - ret_args[arg] = parsed_args[arg] - if parsed_args['comment'] is not None: - comment = parsed_args['comment'][0].strip('"') -diff --git a/salt/modules/lxd.py b/salt/modules/lxd.py -index d6c2d8d4b9..d617cbb3df 100644 ---- a/salt/modules/lxd.py -+++ b/salt/modules/lxd.py -@@ -1824,11 +1824,11 @@ def container_file_get(name, src, dst, overwrite=False, - - if mode: - os.chmod(dst, mode) -- if uid or uid is '0': -+ if uid or uid == '0': - uid = int(uid) - else: - uid = -1 -- if gid or gid is '0': -+ if gid or gid == '0': - gid = int(gid) - else: - gid = -1 -diff --git a/salt/modules/mongodb.py b/salt/modules/mongodb.py -index 8cdb819102..ed3228150e 100644 ---- a/salt/modules/mongodb.py -+++ b/salt/modules/mongodb.py -@@ -484,7 +484,7 @@ def update_one(objects, collection, user=None, password=None, host=None, port=No - objects = six.text_type(objects) - objs = re.split(r'}\s+{', objects) - -- if len(objs) is not 2: -+ if len(objs) != 2: - return "Your request does not contain a valid " + \ - "'{_\"id\": \"my_id\"} {\"my_doc\": \"my_val\"}'" - -diff --git a/salt/modules/virt.py b/salt/modules/virt.py -index a2412bb745..91e105fe04 100644 ---- a/salt/modules/virt.py -+++ b/salt/modules/virt.py -@@ -4732,7 +4732,7 @@ def _parse_pools_caps(doc): - if options: - if 'options' not in pool_caps: - pool_caps['options'] = {} -- kind = option_kind if option_kind is not 'vol' else 'volume' -+ kind = option_kind if option_kind != 'vol' else 'volume' - pool_caps['options'][kind] = options - return pool_caps - -diff --git a/salt/modules/win_ip.py b/salt/modules/win_ip.py -index e69f44211e..99b9d392f6 100644 ---- a/salt/modules/win_ip.py -+++ b/salt/modules/win_ip.py -@@ -342,7 +342,7 @@ def set_static_dns(iface, *addrs): - salt -G 'os_family:Windows' ip.set_static_dns 'Local Area Connection' '192.168.1.1' - salt -G 'os_family:Windows' ip.set_static_dns 'Local Area Connection' '192.168.1.252' '192.168.1.253' - ''' -- if addrs is () or str(addrs[0]).lower() == 'none': -+ if addrs == () or str(addrs[0]).lower() == 'none': - return {'Interface': iface, 'DNS Server': 'No Changes'} - # Clear the list of DNS servers if [] is passed - if str(addrs[0]).lower() == '[]': -diff --git a/salt/modules/win_lgpo.py b/salt/modules/win_lgpo.py -index efa154889f..50f0c9940f 100644 ---- a/salt/modules/win_lgpo.py -+++ b/salt/modules/win_lgpo.py -@@ -4692,7 +4692,7 @@ class _policy_info(object): - return 'true' - elif val.upper() == 'Run Windows PowerShell scripts last'.upper(): - return 'false' -- elif val is 'Not Configured': -+ elif val == 'Not Configured': - return None - else: - return 'Invalid Value' -diff --git a/salt/modules/win_system.py b/salt/modules/win_system.py -index 74fa61bc51..42f0c2ca6e 100644 ---- a/salt/modules/win_system.py -+++ b/salt/modules/win_system.py -@@ -1149,7 +1149,7 @@ def set_system_date_time(years=None, - system_time.wSecond = int(seconds) - system_time_ptr = ctypes.pointer(system_time) - succeeded = ctypes.windll.kernel32.SetLocalTime(system_time_ptr) -- if succeeded is not 0: -+ if succeeded != 0: - return True - else: - log.error('Failed to set local time') -diff --git a/salt/modules/x509.py b/salt/modules/x509.py -index 1cdd912bfb..4069076c32 100644 ---- a/salt/modules/x509.py -+++ b/salt/modules/x509.py -@@ -131,7 +131,7 @@ def _new_extension(name, value, critical=0, issuer=None, _pyfree=1): - to create the authoritykeyidentifier extension. - ''' - if name == 'subjectKeyIdentifier' and \ -- value.strip('0123456789abcdefABCDEF:') is not '': -+ value.strip('0123456789abcdefABCDEF:') != '': - raise salt.exceptions.SaltInvocationError( - 'value must be precomputed hash') - -diff --git a/salt/output/highstate.py b/salt/output/highstate.py -index 1f2f9452fa..87be7656fe 100644 ---- a/salt/output/highstate.py -+++ b/salt/output/highstate.py -@@ -209,7 +209,7 @@ def _format_host(host, data, indent_level=1): - # Verify that the needed data is present - data_tmp = {} - for tname, info in six.iteritems(data): -- if isinstance(info, dict) and tname is not 'changes' and info and '__run_num__' not in info: -+ if isinstance(info, dict) and tname != 'changes' and info and '__run_num__' not in info: - err = ('The State execution failed to record the order ' - 'in which all states were executed. The state ' - 'return missing data is:') -diff --git a/salt/renderers/stateconf.py b/salt/renderers/stateconf.py -index cfce9e6926..1b116ddfb1 100644 ---- a/salt/renderers/stateconf.py -+++ b/salt/renderers/stateconf.py -@@ -224,7 +224,7 @@ def render(input, saltenv='base', sls='', argline='', **kws): - tmplctx = STATE_CONF.copy() - if tmplctx: - prefix = sls + '::' -- for k in six.iterkeys(tmplctx): # iterate over a copy of keys -+ for k in copy.copy(tmplctx).keys(): # iterate over a copy of keys - if k.startswith(prefix): - tmplctx[k[len(prefix):]] = tmplctx[k] - del tmplctx[k] -diff --git a/salt/returners/slack_webhook_return.py b/salt/returners/slack_webhook_return.py -index aad1cdf656..0db705df01 100644 ---- a/salt/returners/slack_webhook_return.py -+++ b/salt/returners/slack_webhook_return.py -@@ -322,7 +322,7 @@ def returner(ret): - show_tasks = _options.get('show_tasks') - author_icon = _options.get('author_icon') - -- if not webhook or webhook is '': -+ if not webhook or webhook == '': - log.error('%s.webhook not defined in salt config', __virtualname__) - return - -diff --git a/salt/states/debconfmod.py b/salt/states/debconfmod.py -index a0ef20b185..a7478c7ac0 100644 ---- a/salt/states/debconfmod.py -+++ b/salt/states/debconfmod.py -@@ -210,7 +210,7 @@ def set(name, data, **kwargs): - args['value'] = 'true' if args['value'] else 'false' - - if current is not None and [key, args['type'], six.text_type(args['value'])] in current: -- if ret['comment'] is '': -+ if ret['comment'] == '': - ret['comment'] = 'Unchanged answers: ' - ret['comment'] += ('{0} ').format(key) - else: -diff --git a/salt/states/git.py b/salt/states/git.py -index ce6455ee71..f2bf4da629 100644 ---- a/salt/states/git.py -+++ b/salt/states/git.py -@@ -2464,7 +2464,7 @@ def detached(name, - password, - output_encoding=output_encoding)[0] - -- if remote_rev_type is 'hash': -+ if remote_rev_type == 'hash': - try: - __salt__['git.describe'](target, - rev, -@@ -2643,7 +2643,7 @@ def detached(name, - - # get refs and checkout - checkout_commit_id = '' -- if remote_rev_type is 'hash': -+ if remote_rev_type == 'hash': - if __salt__['git.describe']( - target, - rev, -diff --git a/salt/states/mysql_grants.py b/salt/states/mysql_grants.py -index d6023bbf86..638e988e13 100644 ---- a/salt/states/mysql_grants.py -+++ b/salt/states/mysql_grants.py -@@ -167,7 +167,7 @@ def present(name, - db_part = database.rpartition('.') - my_db = db_part[0] - my_table = db_part[2] -- my_db = __salt__['mysql.quote_identifier'](my_db, (my_table is '*')) -+ my_db = __salt__['mysql.quote_identifier'](my_db, (my_table == '*')) - my_table = __salt__['mysql.quote_identifier'](my_table) - # Removing per table grants in case of database level grant !!! - if token_grants['database'] == my_db: -diff --git a/salt/utils/args.py b/salt/utils/args.py -index 8cc0f35196..8caaae4d1f 100644 ---- a/salt/utils/args.py -+++ b/salt/utils/args.py -@@ -253,6 +253,9 @@ def get_function_argspec(func, is_class_method=None): - if not callable(func): - raise TypeError('{0} is not a callable'.format(func)) - -+ if hasattr(func, "__wrapped__"): -+ func = func.__wrapped__ -+ - if six.PY2: - if is_class_method is True: - aspec = inspect.getargspec(func) -diff --git a/salt/utils/decorators/path.py b/salt/utils/decorators/path.py -index 4adacf0e4e..37c692355f 100644 ---- a/salt/utils/decorators/path.py -+++ b/salt/utils/decorators/path.py -@@ -4,10 +4,11 @@ Decorators for salt.utils.path - ''' - from __future__ import absolute_import, print_function, unicode_literals - -+import functools -+ - # Import Salt libs - import salt.utils.path - from salt.exceptions import CommandNotFoundError --from salt.utils.decorators.signature import identical_signature_wrapper - - - def which(exe): -@@ -15,13 +16,14 @@ def which(exe): - Decorator wrapper for salt.utils.path.which - ''' - def wrapper(function): -+ @functools.wraps(function) - def wrapped(*args, **kwargs): - if salt.utils.path.which(exe) is None: - raise CommandNotFoundError( - 'The \'{0}\' binary was not found in $PATH.'.format(exe) - ) - return function(*args, **kwargs) -- return identical_signature_wrapper(function, wrapped) -+ return wrapped - return wrapper - - -@@ -30,6 +32,7 @@ def which_bin(exes): - Decorator wrapper for salt.utils.path.which_bin - ''' - def wrapper(function): -+ @functools.wraps(function) - def wrapped(*args, **kwargs): - if salt.utils.path.which_bin(exes) is None: - raise CommandNotFoundError( -@@ -39,5 +42,5 @@ def which_bin(exes): - ) - ) - return function(*args, **kwargs) -- return identical_signature_wrapper(function, wrapped) -+ return wrapped - return wrapper -diff --git a/salt/utils/schedule.py b/salt/utils/schedule.py -index 474af442a1..69204a53d4 100644 ---- a/salt/utils/schedule.py -+++ b/salt/utils/schedule.py -@@ -721,7 +721,7 @@ class Schedule(object): - if argspec.keywords: - # this function accepts **kwargs, pack in the publish data - for key, val in six.iteritems(ret): -- if key is not 'kwargs': -+ if key != 'kwargs': - kwargs['__pub_{0}'.format(key)] = copy.deepcopy(val) - - # Only include these when running runner modules -diff --git a/salt/utils/win_pdh.py b/salt/utils/win_pdh.py -index 9921ee72da..7e9e368caf 100644 ---- a/salt/utils/win_pdh.py -+++ b/salt/utils/win_pdh.py -@@ -164,7 +164,7 @@ class Counter(object): - ''' - path = win32pdh.MakeCounterPath( - (None, obj, instance, None, instance_index, counter), 0) -- if win32pdh.ValidatePath(path) is 0: -+ if win32pdh.ValidatePath(path) == 0: - return Counter(path, obj, instance, instance_index, counter) - raise CommandExecutionError('Invalid counter specified: {0}'.format(path)) - -diff --git a/tests/integration/cloud/helpers/virtualbox.py b/tests/integration/cloud/helpers/virtualbox.py -index 668f15d82f..a6bc9dd2c3 100644 ---- a/tests/integration/cloud/helpers/virtualbox.py -+++ b/tests/integration/cloud/helpers/virtualbox.py -@@ -74,7 +74,7 @@ class VirtualboxCloudTestCase(ShellCase): - output.pop(0) - else: - break -- if len(output) is 0: -+ if len(output) == 0: - return dict() - else: - return salt.utils.json.loads(''.join(output)) -diff --git a/tests/integration/modules/test_mysql.py b/tests/integration/modules/test_mysql.py -index 7edb77cb94..197c4e65ae 100644 ---- a/tests/integration/modules/test_mysql.py -+++ b/tests/integration/modules/test_mysql.py -@@ -519,7 +519,7 @@ class MysqlModuleDbTest(ModuleCase, SaltReturnAssertsMixin): - ) - expected = [] - for tablename, engine in sorted(six.iteritems(tablenames)): -- if engine is 'MEMORY': -+ if engine == 'MEMORY': - expected.append([{ - 'Table': dbname+'.'+tablename, - 'Msg_text': ("The storage engine for the table doesn't" -@@ -544,7 +544,7 @@ class MysqlModuleDbTest(ModuleCase, SaltReturnAssertsMixin): - ) - expected = [] - for tablename, engine in sorted(six.iteritems(tablenames)): -- if engine is 'MYISAM': -+ if engine == 'MYISAM': - expected.append([{ - 'Table': dbname+'.'+tablename, - 'Msg_text': 'OK', -@@ -570,14 +570,14 @@ class MysqlModuleDbTest(ModuleCase, SaltReturnAssertsMixin): - - expected = [] - for tablename, engine in sorted(six.iteritems(tablenames)): -- if engine is 'MYISAM': -+ if engine == 'MYISAM': - expected.append([{ - 'Table': dbname+'.'+tablename, - 'Msg_text': 'OK', - 'Msg_type': 'status', - 'Op': 'optimize' - }]) -- elif engine is 'InnoDB': -+ elif engine == 'InnoDB': - expected.append([{ - 'Table': dbname+'.'+tablename, - 'Msg_text': ("Table does not support optimize, " -@@ -591,7 +591,7 @@ class MysqlModuleDbTest(ModuleCase, SaltReturnAssertsMixin): - 'Msg_type': 'status', - 'Op': 'optimize' - }]) -- elif engine is 'MEMORY': -+ elif engine == 'MEMORY': - expected.append([{ - 'Table': dbname+'.'+tablename, - 'Msg_text': ("The storage engine for the table doesn't" -diff --git a/tests/unit/modules/test_virt.py b/tests/unit/modules/test_virt.py -index 32f4302e5f..c49bd0bccc 100644 ---- a/tests/unit/modules/test_virt.py -+++ b/tests/unit/modules/test_virt.py -@@ -9,6 +9,7 @@ virt execution module unit tests - from __future__ import absolute_import, print_function, unicode_literals - import os - import re -+import sys - import datetime - import shutil - -@@ -1393,19 +1394,20 @@ class VirtTestCase(TestCase, LoaderModuleMockMixin): - self.assertEqual('vnc', setxml.find('devices/graphics').get('type')) - - # Update with no diff case -- self.assertEqual({ -- 'definition': False, -- 'disk': {'attached': [], 'detached': []}, -- 'interface': {'attached': [], 'detached': []} -- }, virt.update('my vm', cpu=1, mem=1024, -- disk_profile='default', disks=[{'name': 'data', 'size': 2048}], -- nic_profile='myprofile', -- interfaces=[{'name': 'eth0', 'type': 'network', 'source': 'default', -- 'mac': '52:54:00:39:02:b1'}, -- {'name': 'eth1', 'type': 'network', 'source': 'oldnet', -- 'mac': '52:54:00:39:02:b2'}], -- graphics={'type': 'spice', -- 'listen': {'type': 'address', 'address': '127.0.0.1'}})) -+ if sys.hexversion < 0x03080000: -+ self.assertEqual({ -+ 'definition': False, -+ 'disk': {'attached': [], 'detached': []}, -+ 'interface': {'attached': [], 'detached': []} -+ }, virt.update('my vm', cpu=1, mem=1024, -+ disk_profile='default', disks=[{'name': 'data', 'size': 2048}], -+ nic_profile='myprofile', -+ interfaces=[{'name': 'eth0', 'type': 'network', 'source': 'default', -+ 'mac': '52:54:00:39:02:b1'}, -+ {'name': 'eth1', 'type': 'network', 'source': 'oldnet', -+ 'mac': '52:54:00:39:02:b2'}], -+ graphics={'type': 'spice', -+ 'listen': {'type': 'address', 'address': '127.0.0.1'}})) - - # Failed XML description update case - self.mock_conn.defineXML.side_effect = self.mock_libvirt.libvirtError("Test error") diff --git a/app-admin/salt/files/salt-3000.2-tornado-py38.patch b/app-admin/salt/files/salt-3000.2-tornado-py38.patch deleted file mode 100644 index b324872c921e..000000000000 --- a/app-admin/salt/files/salt-3000.2-tornado-py38.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur salt-3000.2.orig/salt/ext/tornado/httputil.py salt-3000.2/salt/ext/tornado/httputil.py ---- salt-3000.2.orig/salt/ext/tornado/httputil.py 2020-04-29 11:29:20.000000000 -0700 -+++ salt-3000.2/salt/ext/tornado/httputil.py 2020-04-30 11:52:45.690890947 -0700 -@@ -104,7 +104,7 @@ - _normalized_headers = _NormalizedHeaderCache(1000) - - --class HTTPHeaders(collections.MutableMapping): -+class HTTPHeaders(collections.abc.MutableMapping): - """A dictionary that maintains ``Http-Header-Case`` for all keys. - - Supports multiple values per key via a pair of new methods, |