* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2015-09-11 1:13 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2015-09-11 1:13 UTC (permalink / raw
To: gentoo-commits
commit: 355f2eb87303c86afe4af6916ae124a3f5c092cf
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 11 01:12:52 2015 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Sep 11 01:13:38 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=355f2eb8
app-admin/salt: Version bump.
Package-Manager: portage-2.2.20.1
app-admin/salt/Manifest | 1 +
.../files/salt-2015.8.0-remove-buggy-tests.patch | 56 ++++++++++
.../salt-2015.8.0-remove-pydsl-includes-test.patch | 107 ++++++++++++++++++
app-admin/salt/salt-2015.8.0.ebuild | 120 +++++++++++++++++++++
4 files changed, 284 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 6104f6d..ac0432a 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,3 +1,4 @@
DIST salt-2015.5.3.tar.gz 5389038 SHA256 f8b04dc8bd4b00ce803d31ce5fba033c2f20fa38cdc5a3bf54b4c47362fbe853 SHA512 61203cb9b82fe8ab84fa36d06f442aebcf5c5decfacb99f8df6b52320979699d168f9df7e9e675a13a8078feabbe9210a40e526627a213239760ea43d85f1298 WHIRLPOOL 160455263ee1a95faec1f03dfcd16f9b811e5ecb961a2db5c9545070ed74786c83592e008c1ed70a6ea358ba2491128d6081d57bf7c0a679bb99abb1555bbd21
DIST salt-2015.5.5.tar.gz 5526444 SHA256 5cd8d317616abab691a83f7fd3f8bcf9ad8aecaa95fcfdc0f6d788de87f0beeb SHA512 263f772d403c0e841957342f552389914c563add3f774f26b5d9da81efa04330ec95349223f81e192a2a4789b2d565f7a67e9e3be564296d6235a47cb6657ac3 WHIRLPOOL 7b4f71d6a12b50f4f0a92bfd68c1df2cf8992481d17db984079d4a9cadd51de56d7390ea69c9b02055e747993818756af85f82538a4640e5fb831e4a1ee1cb57
+DIST salt-2015.8.0.tar.gz 6584668 SHA256 71e1cb2eb1d4b30f3247f5590c00a2089190b8f9a90c9330dc9a65fae517ec9b SHA512 e5066773cdd69635272e8bda4e030ae270ea0d6a4895ca18c2d8e94ae7a2987700fda05a760d799e369f1ec977428da0a1c8797790f0f9ac30c03a4d80ce1599 WHIRLPOOL ca1c1d8f18d29b047ebbdf590ed1d1bbe932359017505af2b5043aa6e5035756e29f9d7d3f9293ca5a76c6d643b38d62cedbc3abffafef7cf8ab2443f7143fe9
DIST salt-vim-20141109.tar.gz 3783 SHA256 4989d111ad618ea3f5f7a7046a0ff6ce3ca6bc7f71fca90849f7c38947ab6d9a SHA512 d8d62ee827012e29586cf492f2881ee5870ed058828102f985e8b27300c115e01bb126f89decb15a19a8e206dc54c89856d4c31b3ff5320a36385cb5ed517a63 WHIRLPOOL 98026b2cdcb64665790475e3b20a7de294e5cefb390b414294756cad440bc040d9044ffd37a13f3c93af9be1a1bfd444710ff0df24895db624f49fddd16b5545
diff --git a/app-admin/salt/files/salt-2015.8.0-remove-buggy-tests.patch b/app-admin/salt/files/salt-2015.8.0-remove-buggy-tests.patch
new file mode 100644
index 0000000..92ab062
--- /dev/null
+++ b/app-admin/salt/files/salt-2015.8.0-remove-buggy-tests.patch
@@ -0,0 +1,56 @@
+diff --git a/tests/unit/modules/mount_test.py b/tests/unit/modules/mount_test.py
+index 282539d..c88a7a8 100644
+--- a/tests/unit/modules/mount_test.py
++++ b/tests/unit/modules/mount_test.py
+@@ -103,12 +103,6 @@ class MountTestCase(TestCase):
+ self.assertTrue(mount.rm_fstab('name', 'device'))
+
+ mock = MagicMock(return_value={'name': 'name'})
+- with patch.object(mount, 'fstab', mock):
+- with patch('salt.utils.fopen', mock_open()) as m_open:
+- helper_open = m_open()
+- helper_open.write.assertRaises(CommandExecutionError,
+- mount.rm_fstab,
+- config=None)
+
+ def test_set_fstab(self):
+ '''
+@@ -143,12 +137,6 @@ class MountTestCase(TestCase):
+ self.assertTrue(mount.rm_automaster('name', 'device'))
+
+ mock = MagicMock(return_value={'name': 'name'})
+- with patch.object(mount, 'fstab', mock):
+- with patch('salt.utils.fopen', mock_open()) as m_open:
+- helper_open = m_open()
+- helper_open.write.assertRaises(CommandExecutionError,
+- mount.rm_automaster,
+- 'name', 'device')
+
+ def test_set_automaster(self):
+ '''
+diff --git a/tests/unit/modules/puppet_test.py b/tests/unit/modules/puppet_test.py
+index 6a43fd4..3be039c 100644
+--- a/tests/unit/modules/puppet_test.py
++++ b/tests/unit/modules/puppet_test.py
+@@ -91,10 +91,6 @@ class PuppetTestCase(TestCase):
+ with patch('salt.utils.fopen', mock_open()):
+ self.assertTrue(puppet.disable())
+
+- with patch('salt.utils.fopen', mock_open()) as m_open:
+- helper_open = m_open()
+- helper_open.write.assertRaises(CommandExecutionError,
+- puppet.disable)
+
+ def test_status(self):
+ '''
+@@ -154,10 +150,6 @@ class PuppetTestCase(TestCase):
+ mock_open(read_data="resources: 1")):
+ self.assertDictEqual(puppet.summary(), {'resources': 1})
+
+- with patch('salt.utils.fopen', mock_open()) as m_open:
+- helper_open = m_open()
+- helper_open.write.assertRaises(CommandExecutionError,
+- puppet.summary)
+
+ def test_plugin_sync(self):
+ '''
diff --git a/app-admin/salt/files/salt-2015.8.0-remove-pydsl-includes-test.patch b/app-admin/salt/files/salt-2015.8.0-remove-pydsl-includes-test.patch
new file mode 100644
index 0000000..469e0d2
--- /dev/null
+++ b/app-admin/salt/files/salt-2015.8.0-remove-pydsl-includes-test.patch
@@ -0,0 +1,107 @@
+diff --git a/tests/unit/pydsl_test.py b/tests/unit/pydsl_test.py
+index 2f39a41..2052f55 100644
+--- a/tests/unit/pydsl_test.py
++++ b/tests/unit/pydsl_test.py
+@@ -445,102 +445,6 @@ class PyDSLRendererTestCase(CommonTestCaseBoilerplate):
+ shutil.rmtree(dirpath, ignore_errors=True)
+
+
+-class PyDSLRendererIncludeTestCase(CommonTestCaseBoilerplate):
+-
+- def test_rendering_includes(self):
+- dirpath = tempfile.mkdtemp(dir=integration.SYS_TMP_DIR)
+- if not os.path.isdir(dirpath):
+- self.skipTest(
+- 'The temporary directory {0!r} was not created'.format(
+- dirpath
+- )
+- )
+- output = os.path.join(dirpath, 'output')
+- try:
+- write_to(os.path.join(dirpath, 'aaa.sls'), textwrap.dedent('''\
+- #!pydsl|stateconf -ps
+-
+- include('xxx')
+- yyy = include('yyy')
+-
+- # ensure states in xxx are run first, then those in yyy and then those in aaa last.
+- extend(state('yyy::start').stateconf.require(stateconf='xxx::goal'))
+- extend(state('.start').stateconf.require(stateconf='yyy::goal'))
+-
+- extend(state('yyy::Y2').cmd.run('echo Y2 extended >> {0}'))
+-
+- __pydsl__.set(ordered=True)
+-
+- yyy.hello('red', 1)
+- yyy.hello('green', 2)
+- yyy.hello('blue', 3)
+- '''.format(output)))
+-
+- write_to(os.path.join(dirpath, 'xxx.sls'), textwrap.dedent('''\
+- #!stateconf -os yaml . jinja
+-
+- include:
+- - yyy
+-
+- extend:
+- yyy::start:
+- stateconf.set:
+- - require:
+- - stateconf: .goal
+-
+- yyy::Y1:
+- cmd.run:
+- - name: 'echo Y1 extended >> {0}'
+-
+- .X1:
+- cmd.run:
+- - name: echo X1 >> {1}
+- - cwd: /
+- .X2:
+- cmd.run:
+- - name: echo X2 >> {2}
+- - cwd: /
+- .X3:
+- cmd.run:
+- - name: echo X3 >> {3}
+- - cwd: /
+-
+- '''.format(output, output, output, output)))
+-
+- write_to(os.path.join(dirpath, 'yyy.sls'), textwrap.dedent('''\
+- #!pydsl|stateconf -ps
+-
+- include('xxx')
+- __pydsl__.set(ordered=True)
+-
+- state('.Y1').cmd.run('echo Y1 >> {0}', cwd='/')
+- state('.Y2').cmd.run('echo Y2 >> {1}', cwd='/')
+- state('.Y3').cmd.run('echo Y3 >> {2}', cwd='/')
+-
+- def hello(color, number):
+- state(color).cmd.run('echo hello '+color+' '+str(number)+' >> {3}', cwd='/')
+- '''.format(output, output, output, output)))
+-
+- self.state_highstate({'base': ['aaa']}, dirpath)
+- expected = textwrap.dedent('''\
+- X1
+- X2
+- X3
+- Y1 extended
+- Y2 extended
+- Y3
+- hello red 1
+- hello green 2
+- hello blue 3
+- ''')
+-
+- with salt.utils.fopen(output, 'r') as f:
+- self.assertEqual(sorted(f.read()), sorted(expected))
+-
+- finally:
+- shutil.rmtree(dirpath, ignore_errors=True)
+-
+-
+ def write_to(fpath, content):
+ with salt.utils.fopen(fpath, 'w') as f:
+ f.write(content)
diff --git a/app-admin/salt/salt-2015.8.0.ebuild b/app-admin/salt/salt-2015.8.0.ebuild
new file mode 100644
index 0000000..e8568ef
--- /dev/null
+++ b/app-admin/salt/salt-2015.8.0.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python2_7)
+
+inherit eutils systemd vim-plugin distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="http://saltstack.org/"
+SALT_VIM_HASH="20695f68e5895e5ae2b5884b78f5a2cd29897b05"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~x86 ~amd64"
+fi
+
+SRC_URI+=" vim-syntax? ( https://github.com/${PN}stack/${PN}-vim/archive/${SALT_VIM_HASH}.tar.gz -> salt-vim-20141109.tar.gz )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
+IUSE+=" openssl profile redis selinux test timelib raet +zeromq vim-syntax"
+
+RDEPEND="sys-apps/pciutils
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ openssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )
+ libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ zeromq? (
+ >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ timelib? ( dev-python/timelib[${PYTHON_USEDEP}] )
+ nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
+ neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/timelib[${PYTHON_USEDEP}]
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ >=dev-python/SaltTesting-2015.2.16[${PYTHON_USEDEP}]
+ ${RDEPEND}
+ )"
+
+DOCS=(README.rst AUTHORS)
+
+REQUIRED_USE="|| ( raet zeromq )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2015.8.0-remove-pydsl-includes-test.patch"
+ "${FILESDIR}/${PN}-2015.8.0-remove-buggy-tests.patch"
+ "${FILESDIR}/${PN}-2015.5.5-auth-tests.patch"
+ "${FILESDIR}/${PN}-2015.5.5-cron-tests.patch"
+ "${FILESDIR}/${PN}-2015.5.5-remove-buggy-tests.patch"
+)
+
+python_prepare() {
+ # this test fails because it trys to "pip install distribute"
+ rm tests/unit/{modules,states}/zcbuildout_test.py tests/unit/modules/{rh_ip,win_network}_test.py
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+
+ use vim-syntax && S="${WORKDIR}/salt-vim-${SALT_VIM_HASH}" \
+ vim-plugin_src_install
+}
+
+python_test() {
+ # testsuite likes lots of files
+ ulimit -n 3072
+
+ # using ${T} for the TMPDIR makes some tests needs paths that exceed PATH_MAX
+ USE_SETUPTOOLS=1 SHELL="/bin/bash" TMPDIR="/tmp" \
+ ${EPYTHON} tests/runtests.py \
+ --unit-tests --no-report --verbose || die "testing failed"
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2016-06-16 18:48 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2016-06-16 18:48 UTC (permalink / raw
To: gentoo-commits
commit: 6611efe5be057610ffd94b0e98c0dbb24aad0780
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 16 18:24:40 2016 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Jun 16 18:48:25 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6611efe5
app-admin/salt: Version bump to 2015.8.10
Package-Manager: portage-2.3.0_rc1
app-admin/salt/Manifest | 1 +
.../salt-2015.8.10-remove-failing-boto-test.patch | 35 ++++++
app-admin/salt/salt-2015.8.10.ebuild | 134 +++++++++++++++++++++
3 files changed, 170 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 42bb232..7250bff 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,5 +1,6 @@
DIST salt-2015.5.8.tar.gz 5741097 SHA256 07c3eb054ef214c17481fed1262a5e4fd3c429df3058b504eb2cfc36ce4ad2fc SHA512 969cfdfb82f40957d1fa923a4640596cd08529eb9159527365094a3ab0d3e5ad6ff023eea34ad3b1328102f5d03ec8bf7da0958c77dfaee058f5e361a3dc395a WHIRLPOOL bf6960fe18c5181253d428ae678ed3f2e8203cbfcf0d7105d19ac5c6ce1d3c7acdf131062cfca255839c95bfa8f692f6463c9b7d41ad62d80c7a738b758bad71
DIST salt-2015.5.9.tar.gz 5689839 SHA256 71e1c31ebe73edf17b43afcee7de689bb39cc6e97742cd0e110386106fa3fc5b SHA512 389fa09e2e89bb0631f5a2f1d7ef363f8b3a260d466cd7b5fdf7bfc296f5fb64fa355dc56a401df326cefe43e63904061db4fc01a3b5c1cd54fa34ee102a6ad9 WHIRLPOOL 094350e78b96c2633dedb2c4ab0caa959a634e84bf2e92145880eec883ec076765c8b897c873e8f601325a69e7e3fe139163eec45fc6daa109edbd9a884b0dc2
+DIST salt-2015.8.10.tar.gz 6972776 SHA256 4a81273ab4b01e0f1d29b28ab99a16eb94e5c430107b05491c94f3baf8b95c99 SHA512 e00eb6535defd883ed789b4b27fae020a8225cd1a3dd05cfa92d6320a4fe6930ecddf9914a572f64715656126107d61920d1b989451caa7ccdb28d969c41c64c WHIRLPOOL fa6beaee47c604cc1398ed803662dbd340cf9ab20664af6c903d7376abd3253522798c73c83b0c5b00f0db72fb4be20dae074c6d6fdd39026485f5050f108b2a
DIST salt-2015.8.3.tar.gz 6757678 SHA256 2e9a262789b018f3443513105c0c6ae98934c9bc105a04cf9e5c073ef706218a SHA512 18a2c63d5e54d09468189450557974e47f87d8b7dde52beaae678120da1da1e7aecfff18cf0fdfb63a11cd5f6bab102c229462f0afe5e3e858c0c467761c7121 WHIRLPOOL 5f1e1562904aecf97027688adbe9a2eb1b910065e52a2e20e7bad67fc4e91660e3e1e04612ee3b18d9632f3ff782837336cf1a5d85d771b67071422a3cea9861
DIST salt-2015.8.5.tar.gz 6877624 SHA256 db395702f048ea384ccc440201c24d7044685977ae6a8588d0d0933246f0c673 SHA512 715709798fd1f4410ef204545a84e34d3ecc0f080905b7ae29ce19d273c1ed6865f56e025e59d2506301970ad05081ff119caec0ced03dcbe5803f9f00eb64f8 WHIRLPOOL 69dc332b21ade4735cd8e9d6a2cdfd61ee364a1c7aa3bf047c9d745b6135b94fdd6406117e056fbb6a8cb79dc3b07af5d2f7a781930255b1fe434838b8692de4
DIST salt-2015.8.7.tar.gz 6877927 SHA256 61a2f9cff77dd11fc6bf7630d82d1955238818dfa7eedb53e6bf3edbbc9d6029 SHA512 b063c8e0f7cd1682fcb8f5a71fd9f2d71324070bcc4a88611bd4896a2de3269fa0cec1fe9698c74932d9f2a892816db2fc30612a2cbfcee64838ee73955d1a02 WHIRLPOOL 07e6c543e44c8a8a7413bc917bdc5754998285556ec8fda8fe4c278eaea0ca4abf4ae4bca617fca7fb34843408d30879bd880dbbe08197a74847337fa8eb6ef2
diff --git a/app-admin/salt/files/salt-2015.8.10-remove-failing-boto-test.patch b/app-admin/salt/files/salt-2015.8.10-remove-failing-boto-test.patch
new file mode 100644
index 0000000..5a4d273
--- /dev/null
+++ b/app-admin/salt/files/salt-2015.8.10-remove-failing-boto-test.patch
@@ -0,0 +1,35 @@
+diff --git a/tests/unit/modules/boto_secgroup_test.py b/tests/unit/modules/boto_secgroup_test.py
+index f1c6bb1..07fd8ec 100644
+--- a/tests/unit/modules/boto_secgroup_test.py
++++ b/tests/unit/modules/boto_secgroup_test.py
+@@ -192,30 +192,6 @@ class BotoSecgroupTestCase(TestCase):
+ **conn_parameters)
+ self.assertEqual(group_vpc.id, retrieved_group_id)
+
+- @mock_ec2
+- def test_get_config_single_rule_group_name(self):
+- '''
+- tests return of 'config' when given group name. get_config returns an OrderedDict.
+- '''
+- group_name = _random_group_name()
+- ip_protocol = u'tcp'
+- from_port = 22
+- to_port = 22
+- cidr_ip = u'0.0.0.0/0'
+- rules_egress = [{'to_port': -1, 'from_port': -1, 'ip_protocol': u'-1', 'cidr_ip': u'0.0.0.0/0'}]
+-
+- conn = boto.ec2.connect_to_region(region, **boto_conn_parameters)
+- group = conn.create_security_group(name=group_name, description=group_name)
+- group.authorize(ip_protocol=ip_protocol, from_port=from_port, to_port=to_port, cidr_ip=cidr_ip)
+- # setup the expected get_config result
+- expected_get_config_result = OrderedDict([('name', group.name), ('group_id', group.id), ('owner_id', u'111122223333'),
+- ('description', group.description),
+- ('rules', [{'to_port': to_port, 'from_port': from_port,
+- 'ip_protocol': ip_protocol, 'cidr_ip': cidr_ip}]),
+- ('rules_egress', rules_egress)])
+- secgroup_get_config_result = boto_secgroup.get_config(group_id=group.id, **conn_parameters)
+- self.assertEqual(expected_get_config_result, secgroup_get_config_result)
+-
+ @skipIf(True, 'test skipped due to error in moto return - fixed in '
+ 'https://github.com/spulec/moto/commit/cc0166964371f7b5247a49d45637a8f936ccbe6f')
+ @mock_ec2
diff --git a/app-admin/salt/salt-2015.8.10.ebuild b/app-admin/salt/salt-2015.8.10.ebuild
new file mode 100644
index 0000000..dee52fc
--- /dev/null
+++ b/app-admin/salt/salt-2015.8.10.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python2_7)
+
+inherit eutils systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="http://saltstack.org/"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~x86 ~amd64"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
+IUSE+=" openssl profile redis selinux test timelib raet +zeromq vim-syntax"
+
+RDEPEND="sys-apps/pciutils
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
+ openssl? (
+ dev-libs/openssl:*[-bindist]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ zeromq? (
+ >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ timelib? ( dev-python/timelib[${PYTHON_USEDEP}] )
+ nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
+ neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/timelib[${PYTHON_USEDEP}]
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ >=dev-python/SaltTesting-2015.2.16[${PYTHON_USEDEP}]
+ ${RDEPEND}
+ )"
+
+DOCS=(README.rst AUTHORS)
+
+REQUIRED_USE="|| ( raet zeromq )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2015.8.0-remove-buggy-tests.patch"
+ "${FILESDIR}/${PN}-2015.5.5-auth-tests.patch"
+ "${FILESDIR}/${PN}-2015.5.5-cron-tests.patch"
+ "${FILESDIR}/${PN}-2015.5.5-remove-buggy-tests.patch"
+ "${FILESDIR}/${PN}-2015.8.2-tmpdir.patch"
+ "${FILESDIR}/${PN}-2015.8.10-remove-failing-boto-test.patch"
+)
+
+python_prepare() {
+ # this test fails because it trys to "pip install distribute"
+ rm tests/unit/{modules,states}/zcbuildout_test.py \
+ tests/unit/modules/{rh_ip,win_network,random_org}_test.py
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ local tempdir
+ # testsuite likes lots of files
+ ulimit -n 3072
+
+ # ${T} is too long a path for the tests to work
+ tempdir="$(mktemp -dup /tmp salt-XXX)"
+ mkdir "${T}/$(basename "${tempdir}")"
+
+ (
+ cleanup() { rm -f "${tempdir}"; }
+ trap cleanup EXIT
+
+ addwrite "${tempdir}"
+ ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}"
+
+ USE_SETUPTOOLS=1 SHELL="/bin/bash" TMPDIR="${tempdir}" \
+ ${EPYTHON} tests/runtests.py \
+ --unit-tests --no-report --verbose
+
+ ) || die "testing failed"
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2016-07-29 19:12 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2016-07-29 19:12 UTC (permalink / raw
To: gentoo-commits
commit: 03f1f332d971ab14ecc8f80ed7faf1c2f79b5581
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 29 19:11:34 2016 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Jul 29 19:11:58 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=03f1f332
app-admin/salt: Version bump to 2016.3.2
Package-Manager: portage-2.3.0
app-admin/salt/Manifest | 1 +
.../salt/files/salt-2016.3.2-broken-tests.patch | 109 ++++++++++++++++
app-admin/salt/salt-2016.3.2.ebuild | 142 +++++++++++++++++++++
3 files changed, 252 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 1d0a0a5..ac7250a 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -3,3 +3,4 @@ DIST salt-2015.8.10.tar.gz 6972776 SHA256 4a81273ab4b01e0f1d29b28ab99a16eb94e5c4
DIST salt-2015.8.11.tar.gz 7083841 SHA256 7b38ab7433e67785ff231cfd604bc36652f4088f8b93e64d627e74242f4099d7 SHA512 0af029b30525a5be4ffa64ea33b4368b59a9ad64fe4f6cba3af1cf03b53e1c1e0e0fe50371c7e4762a0c3bcbefa7855b6f0b79702f3b146001a2b5484f1731f9 WHIRLPOOL 23af490fa47b84843cb36367aa76698f989e767c044477d0cfad22222f24a9b11c76de0617f4c4859b41094e2bedc4f6b2be331055c95bcd8327ca36e9878d6c
DIST salt-2015.8.8.tar.gz 6982904 SHA256 b2ecce7bf562cfcd6586d66ade278f268bb89023f0fa0accaa55f90b8a668ef5 SHA512 add65951694bc9e3aaa6db69bf9ac7ed32a5c42822ae34281ca3ea1e7f393235cd6baa1905362d177c62505a514e1c4599751e1a8a913cc334f9ebe1d4ab7ed3 WHIRLPOOL 9d81b6153019ff0862c6ee0e3fa949810e8066798aabcc94f2b87893f51906e0e19e37aa26023ea578eb10ebb9816d30d12104fdc5018c7ce91790bd617b2bba
DIST salt-2016.3.1.tar.gz 7932479 SHA256 e6bdba4693116430c2af57497eb63399e3a139ac0a7016fa0870b49fbe987f75 SHA512 74122020a83df79171b9aa3bc311d1b16930140ec6b063c888d41e10fb8e696f69188b62cf925045b40d8b8fe713759de08978b08bc3b8e1f12722de3a8ddb7b WHIRLPOOL f76afb4d9c6678edf48b608f6dbd27201656fd371b0df78a8a8db306a2cbf5b08fa2fd916e9fb5409b67cd05ab007a3684d91c1e0158416b12f014001de1506a
+DIST salt-2016.3.2.tar.gz 8014793 SHA256 6a84b724d02b0dba438dea57650724064675d82620e66749bd2fe8f21da71be0 SHA512 608e2a43bc8c55eeb8c9e0f9207306e591151940ad1ffb869ada12963c0790f37653936e539c0b70439c13180909de2c763db6c30e7f9e2087068985d1b3ff91 WHIRLPOOL 5e6f6dc9980ab6cd6e8c897d140241ce9e6dec8afd08274749a20260c6b871d6e52cd674ed8e838a4aa285bf45c49586d77bc2156f94ee26f4f776d9025040eb
diff --git a/app-admin/salt/files/salt-2016.3.2-broken-tests.patch b/app-admin/salt/files/salt-2016.3.2-broken-tests.patch
new file mode 100644
index 0000000..3f10611
--- /dev/null
+++ b/app-admin/salt/files/salt-2016.3.2-broken-tests.patch
@@ -0,0 +1,109 @@
+diff --git a/tests/unit/modules/linux_sysctl_test.py b/tests/unit/modules/linux_sysctl_test.py
+index 89bea83..49851cb 100644
+--- a/tests/unit/modules/linux_sysctl_test.py
++++ b/tests/unit/modules/linux_sysctl_test.py
+@@ -85,18 +85,6 @@ class LinuxSysctlTestCase(TestCase):
+ 'net.ipv4.ip_forward', 1), ret)
+
+ @patch('os.path.isfile', MagicMock(return_value=False))
+- def test_persist_no_conf_failure(self):
+- '''
+- Tests adding of config file failure
+- '''
+- with patch('salt.utils.fopen', mock_open()) as m_open:
+- helper_open = m_open()
+- helper_open.write.assertRaises(CommandExecutionError,
+- linux_sysctl.persist,
+- 'net.ipv4.ip_forward',
+- 1, config=None)
+-
+- @patch('os.path.isfile', MagicMock(return_value=False))
+ @patch('os.path.exists', MagicMock(return_value=True))
+ def test_persist_no_conf_success(self):
+ '''
+diff --git a/tests/unit/modules/mac_sysctl_test.py b/tests/unit/modules/mac_sysctl_test.py
+index e90ec64..b2ea691 100644
+--- a/tests/unit/modules/mac_sysctl_test.py
++++ b/tests/unit/modules/mac_sysctl_test.py
+@@ -67,18 +67,6 @@ class DarwinSysctlTestCase(TestCase):
+ 'net.inet.icmp.icmplim', 50), ret)
+
+ @patch('os.path.isfile', MagicMock(return_value=False))
+- def test_persist_no_conf_failure(self):
+- '''
+- Tests adding of config file failure
+- '''
+- with patch('salt.utils.fopen', mock_open()) as m_open:
+- helper_open = m_open()
+- helper_open.write.assertRaises(CommandExecutionError,
+- mac_sysctl.persist,
+- 'net.inet.icmp.icmplim',
+- 50, config=None)
+-
+- @patch('os.path.isfile', MagicMock(return_value=False))
+ def test_persist_no_conf_success(self):
+ '''
+ Tests successful add of config file when previously not one
+diff --git a/tests/unit/modules/mount_test.py b/tests/unit/modules/mount_test.py
+index 290c368..16918d8 100644
+--- a/tests/unit/modules/mount_test.py
++++ b/tests/unit/modules/mount_test.py
+@@ -137,15 +137,6 @@ class MountTestCase(TestCase):
+ with patch('salt.utils.fopen', mock_open()):
+ self.assertTrue(mount.rm_fstab('name', 'device'))
+
+- mock_fstab = MagicMock(return_value={'name': 'name'})
+- with patch.dict(mount.__grains__, {'kernel': ''}):
+- with patch.object(mount, 'fstab', mock_fstab):
+- with patch('salt.utils.fopen', mock_open()) as m_open:
+- helper_open = m_open()
+- helper_open.write.assertRaises(CommandExecutionError,
+- mount.rm_fstab,
+- config=None)
+-
+ def test_set_fstab(self):
+ '''
+ Tests to verify that this mount is represented in the fstab,
+@@ -178,14 +169,6 @@ class MountTestCase(TestCase):
+ with patch.object(mount, 'automaster', mock):
+ self.assertTrue(mount.rm_automaster('name', 'device'))
+
+- mock = MagicMock(return_value={'name': 'name'})
+- with patch.object(mount, 'fstab', mock):
+- with patch('salt.utils.fopen', mock_open()) as m_open:
+- helper_open = m_open()
+- helper_open.write.assertRaises(CommandExecutionError,
+- mount.rm_automaster,
+- 'name', 'device')
+-
+ def test_set_automaster(self):
+ '''
+ Verify that this mount is represented in the auto_salt, change the mount
+diff --git a/tests/unit/modules/puppet_test.py b/tests/unit/modules/puppet_test.py
+index 02bc2e1..1fd915b 100644
+--- a/tests/unit/modules/puppet_test.py
++++ b/tests/unit/modules/puppet_test.py
+@@ -85,11 +85,6 @@ class PuppetTestCase(TestCase):
+ with patch('salt.utils.fopen', mock_open()):
+ self.assertTrue(puppet.disable())
+
+- with patch('salt.utils.fopen', mock_open()) as m_open:
+- helper_open = m_open()
+- helper_open.write.assertRaises(CommandExecutionError,
+- puppet.disable)
+-
+ def test_status(self):
+ '''
+ Test to display puppet agent status
+@@ -144,11 +139,6 @@ class PuppetTestCase(TestCase):
+ mock_open(read_data="resources: 1")):
+ self.assertDictEqual(puppet.summary(), {'resources': 1})
+
+- with patch('salt.utils.fopen', mock_open()) as m_open:
+- helper_open = m_open()
+- helper_open.write.assertRaises(CommandExecutionError,
+- puppet.summary)
+-
+ def test_plugin_sync(self):
+ '''
+ Test to runs a plugin synch between the puppet master and agent
diff --git a/app-admin/salt/salt-2016.3.2.ebuild b/app-admin/salt/salt-2016.3.2.ebuild
new file mode 100644
index 0000000..3528998
--- /dev/null
+++ b/app-admin/salt/salt-2016.3.2.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=(python2_7)
+
+inherit eutils systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="http://saltstack.org/"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~x86 ~amd64"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
+IUSE+=" openssl portage profile redis selinux test timelib raet +zeromq vim-syntax"
+
+RDEPEND="sys-apps/pciutils
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
+ openssl? (
+ dev-libs/openssl:*[-bindist]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ zeromq? (
+ >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ timelib? ( dev-python/timelib[${PYTHON_USEDEP}] )
+ nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
+ neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/timelib[${PYTHON_USEDEP}]
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ !x86? ( dev-python/boto3[${PYTHON_USEDEP}] )
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
+ >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
+ ${RDEPEND}
+ )"
+
+DOCS=(README.rst AUTHORS)
+
+REQUIRED_USE="|| ( raet zeromq )"
+RESTRICT="x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2015.8.2-tmpdir.patch"
+ "${FILESDIR}/${PN}-2016.3.1-dont-realpath-tmpdir.patch"
+ "${FILESDIR}/${PN}-2016.3.2-broken-tests.patch"
+)
+
+python_prepare() {
+ # this test fails because it trys to "pip install distribute"
+ rm tests/unit/{modules,states}/zcbuildout_test.py \
+ tests/unit/modules/{rh_ip,win_network,random_org}_test.py
+
+ # apparently libcloud does not know about this?
+ rm tests/unit/cloud/clouds/dimensiondata_test.py
+
+ # seriously? "ValueError: Missing (or not readable) key file: '/home/dany/PRIVKEY.pem'"
+ rm tests/unit/cloud/clouds/gce_test.py
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ local tempdir
+ # testsuite likes lots of files
+ ulimit -n 3072
+
+ # ${T} is too long a path for the tests to work
+ tempdir="$(mktemp -dup /tmp salt-XXX)"
+ mkdir "${T}/$(basename "${tempdir}")"
+
+ (
+ cleanup() { rm -f "${tempdir}"; }
+ trap cleanup EXIT
+
+ addwrite "${tempdir}"
+ ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}"
+
+ USE_SETUPTOOLS=1 SHELL="/bin/bash" \
+ TMPDIR="${tempdir}" \
+ ${EPYTHON} tests/runtests.py \
+ --unit-tests --no-report --verbose
+
+ ) || die "testing failed"
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2016-09-09 21:06 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2016-09-09 21:06 UTC (permalink / raw
To: gentoo-commits
commit: 5527be921309f1952a4eb12159af07f732aa0245
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 9 21:05:44 2016 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Sep 9 21:05:44 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5527be92
app-admin/salt: Version bump to 2016.3.3
Gentoo-bug: 592876
Package-Manager: portage-2.3.0
app-admin/salt/Manifest | 1 +
.../salt/files/salt-2016.3.3-broken-tests.patch | 56 ++++++++
app-admin/salt/salt-2016.3.3.ebuild | 143 +++++++++++++++++++++
3 files changed, 200 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 717c19e..2d46956 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -5,3 +5,4 @@ DIST salt-2015.8.12.tar.gz 7033938 SHA256 712f72b30a9555ea46a51bc677e05ffa2eefae
DIST salt-2015.8.8.tar.gz 6982904 SHA256 b2ecce7bf562cfcd6586d66ade278f268bb89023f0fa0accaa55f90b8a668ef5 SHA512 add65951694bc9e3aaa6db69bf9ac7ed32a5c42822ae34281ca3ea1e7f393235cd6baa1905362d177c62505a514e1c4599751e1a8a913cc334f9ebe1d4ab7ed3 WHIRLPOOL 9d81b6153019ff0862c6ee0e3fa949810e8066798aabcc94f2b87893f51906e0e19e37aa26023ea578eb10ebb9816d30d12104fdc5018c7ce91790bd617b2bba
DIST salt-2016.3.1.tar.gz 7932479 SHA256 e6bdba4693116430c2af57497eb63399e3a139ac0a7016fa0870b49fbe987f75 SHA512 74122020a83df79171b9aa3bc311d1b16930140ec6b063c888d41e10fb8e696f69188b62cf925045b40d8b8fe713759de08978b08bc3b8e1f12722de3a8ddb7b WHIRLPOOL f76afb4d9c6678edf48b608f6dbd27201656fd371b0df78a8a8db306a2cbf5b08fa2fd916e9fb5409b67cd05ab007a3684d91c1e0158416b12f014001de1506a
DIST salt-2016.3.2.tar.gz 8014793 SHA256 6a84b724d02b0dba438dea57650724064675d82620e66749bd2fe8f21da71be0 SHA512 608e2a43bc8c55eeb8c9e0f9207306e591151940ad1ffb869ada12963c0790f37653936e539c0b70439c13180909de2c763db6c30e7f9e2087068985d1b3ff91 WHIRLPOOL 5e6f6dc9980ab6cd6e8c897d140241ce9e6dec8afd08274749a20260c6b871d6e52cd674ed8e838a4aa285bf45c49586d77bc2156f94ee26f4f776d9025040eb
+DIST salt-2016.3.3.tar.gz 7952361 SHA256 5906038594f1b9b3ac41714774fbd78f0af80d2f3ffe1c1bf20308032d7d52b6 SHA512 46a8f8b3213e4cc02eaed95e7fc28ce224fe07fe2aea39b68ff3e97043021951558f04690f7043510c8dfb62d76fe82192d67de6151c7f1076a23c0f8d796c9e WHIRLPOOL dc21ca7d996b5f59501e4658a38fee8d1bdd20669059b72781a4e7e4c91b2fc40f267a533f6974c26a70b4dd8ac20d93174d1a8d9c04d351af0a47dc53572379
diff --git a/app-admin/salt/files/salt-2016.3.3-broken-tests.patch b/app-admin/salt/files/salt-2016.3.3-broken-tests.patch
new file mode 100644
index 00000000..8260f34
--- /dev/null
+++ b/app-admin/salt/files/salt-2016.3.3-broken-tests.patch
@@ -0,0 +1,56 @@
+diff --git a/tests/unit/modules/boto_lambda_test.py b/tests/unit/modules/boto_lambda_test.py
+index 01ca245..722915b 100644
+--- a/tests/unit/modules/boto_lambda_test.py
++++ b/tests/unit/modules/boto_lambda_test.py
+@@ -626,18 +626,6 @@ class BotoLambdaEventSourceMappingTestCase(BotoLambdaTestCaseBase, BotoLambdaTes
+ **conn_parameters)
+ self.assertTrue(result['deleted'])
+
+- @skipIf(ON_SUSE, 'Skipping while debugging why the test suite hangs and bails on this test on opensuse')
+- def test_that_when_deleting_an_event_source_mapping_by_name_succeeds_the_delete_event_source_mapping_method_returns_true(self):
+- '''
+- tests True mapping deleted.
+- '''
+- self.conn.list_event_source_mappings.return_value = {'EventSourceMappings': [event_source_mapping_ret]}
+- result = boto_lambda.delete_event_source_mapping(
+- EventSourceArn=event_source_mapping_ret['EventSourceArn'],
+- FunctionName=event_source_mapping_ret['FunctionArn'],
+- **conn_parameters)
+- self.assertTrue(result['deleted'])
+-
+ def test_that_when_deleting_an_event_source_mapping_without_identifier_the_delete_event_source_mapping_method_raises_saltinvocationexception(self):
+ '''
+ tests Deleting a mapping without identifier
+diff --git a/tests/unit/modules/inspect_collector_test.py b/tests/unit/modules/inspect_collector_test.py
+index 9d2fa3a..710bbd7 100644
+--- a/tests/unit/modules/inspect_collector_test.py
++++ b/tests/unit/modules/inspect_collector_test.py
+@@ -36,28 +36,6 @@ class InspectorCollectorTestCase(TestCase):
+ self.assertEqual(inspector.dbfile, '/foo/cache/_minion_collector.db')
+ self.assertEqual(inspector.pidfile, '/foo/pid/bar.pid')
+
+- def test_file_tree(self):
+- '''
+- Test file tree.
+-
+- :return:
+- '''
+-
+- inspector = Inspector(cachedir='/test', piddir='/test', pidfilename='bar.pid')
+- tree_root = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'inspectlib', 'tree_test')
+- expected_tree = (['/a/a/dummy.a', '/a/b/dummy.b', '/b/b.1', '/b/b.2', '/b/b.3'],
+- ['/a', '/a/a', '/a/b', '/a/c', '/b', '/c'],
+- ['/a/a/dummy.ln.a', '/a/b/dummy.ln.b', '/a/c/b.1', '/b/b.4',
+- '/b/b.5', '/c/b.1', '/c/b.2', '/c/b.3'])
+- tree_result = []
+- for chunk in inspector._get_all_files(tree_root):
+- buff = []
+- for pth in chunk:
+- buff.append(pth.replace(tree_root, ''))
+- tree_result.append(buff)
+- tree_result = tuple(tree_result)
+- self.assertEqual(expected_tree, tree_result)
+-
+ def test_get_unmanaged_files(self):
+ '''
+ Test get_unmanaged_files.
diff --git a/app-admin/salt/salt-2016.3.3.ebuild b/app-admin/salt/salt-2016.3.3.ebuild
new file mode 100644
index 00000000..d8c5d95
--- /dev/null
+++ b/app-admin/salt/salt-2016.3.3.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=(python2_7)
+
+inherit eutils systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="http://saltstack.org/"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~x86 ~amd64"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
+IUSE+=" openssl portage profile redis selinux test timelib raet +zeromq vim-syntax"
+
+RDEPEND="sys-apps/pciutils
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
+ openssl? (
+ dev-libs/openssl:*[-bindist]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ zeromq? (
+ >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ timelib? ( dev-python/timelib[${PYTHON_USEDEP}] )
+ nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
+ neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/timelib[${PYTHON_USEDEP}]
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ !x86? ( dev-python/boto3[${PYTHON_USEDEP}] )
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
+ >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
+ ${RDEPEND}
+ )"
+
+DOCS=(README.rst AUTHORS)
+
+REQUIRED_USE="|| ( raet zeromq )"
+RESTRICT="x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2015.8.2-tmpdir.patch"
+ "${FILESDIR}/${PN}-2016.3.1-dont-realpath-tmpdir.patch"
+ "${FILESDIR}/${PN}-2016.3.2-broken-tests.patch"
+ "${FILESDIR}/${PN}-2016.3.3-broken-tests.patch"
+)
+
+python_prepare() {
+ # this test fails because it trys to "pip install distribute"
+ rm tests/unit/{modules,states}/zcbuildout_test.py \
+ tests/unit/modules/{rh_ip,win_network,random_org}_test.py
+
+ # apparently libcloud does not know about this?
+ rm tests/unit/cloud/clouds/dimensiondata_test.py
+
+ # seriously? "ValueError: Missing (or not readable) key file: '/home/dany/PRIVKEY.pem'"
+ rm tests/unit/cloud/clouds/gce_test.py
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ local tempdir
+ # testsuite likes lots of files
+ ulimit -n 3072
+
+ # ${T} is too long a path for the tests to work
+ tempdir="$(mktemp -dup /tmp salt-XXX)"
+ mkdir "${T}/$(basename "${tempdir}")"
+
+ (
+ cleanup() { rm -f "${tempdir}"; }
+ trap cleanup EXIT
+
+ addwrite "${tempdir}"
+ ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}"
+
+ USE_SETUPTOOLS=1 SHELL="/bin/bash" \
+ TMPDIR="${tempdir}" \
+ ${EPYTHON} tests/runtests.py \
+ --unit-tests --no-report --verbose
+
+ ) || die "testing failed"
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2016-12-02 0:50 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2016-12-02 0:50 UTC (permalink / raw
To: gentoo-commits
commit: c6aba8cba0a877b64dcf80c75265e1aa59a8acc7
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 2 00:47:48 2016 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Dec 2 00:47:48 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c6aba8cb
app-admin/salt: Version bump to 2016.11.0
Package-Manager: portage-2.3.2
app-admin/salt/Manifest | 1 +
.../salt/files/salt-2016.11.0-broken-tests.patch | 23 ++++
.../salt-2016.11.0-remove-file-tree-test.patch | 34 +++++
app-admin/salt/files/salt-2016.11.0-tmpdir.patch | 34 +++++
app-admin/salt/salt-2016.11.0.ebuild | 144 +++++++++++++++++++++
5 files changed, 236 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index ab86693..589341d 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,3 +1,4 @@
DIST salt-2015.5.10.tar.gz 5693422 SHA256 863a96e70f8521af35fe11b10d25b3205a0bfbba9a8aee02e2842aa7106496fd SHA512 78a4cbe5c771208e957360689a25ae4e44566987e07e7fda54e6db9028485eacc6ad016c65c981090f9b5d95331e46048a094aecc27703b3956c06ab6ebad95d WHIRLPOOL 805b48df07707d85d8338251f26c72164a5421731fc11f5c933b72af97348a2f11ee35889f72ec032acbea275e98575d35786b56fd84a7917f8fdbc30567ae86
DIST salt-2015.8.12.tar.gz 7033938 SHA256 712f72b30a9555ea46a51bc677e05ffa2eefaeefa6b48d4f7ae45dbcb1073c69 SHA512 8ce940a413c740bd82c6c96103d48b376a47cb8161a5d72ece3f4bf6b39134bd722787a427249726dc137064d032fa913c7f6c6db22d0808ba1a829d4f25e9ec WHIRLPOOL 723660eac1346c3ba29b88c7db1a4485a194aebbdf33ea6dc411c420059767a3feb5c863941d772b504cede4a78a57e3ce696601872d21d29f4def373db697d4
+DIST salt-2016.11.0.tar.gz 9044879 SHA256 b516285926ee95cedc64ecddab05d14422b7c8819c9f6d046a431c41d608e6bc SHA512 0cddebe9fda1f7d08aa7ee5d4e49e182c67e7bc179136da30d20c991bc10d7299034198f6721b89eda2604480aa2cfe6960f37fadde4d72adf166a065a9f6443 WHIRLPOOL 595ab7c7e50cafdfc7d69a1e24964a88092e93416dc23b295e1ab59f1ce3ae8fa10b24c4e9fe45c1d2d8557290aceae66f93d3da81a1f1be62c98e537cb8ad6a
DIST salt-2016.3.4.tar.gz 8354090 SHA256 5d4c822719d7fb2d79b0103cd9b015d251300890f8aa174e16b73fcfd6eb22f9 SHA512 ca17c5607d23d09e95fb4b6afbcf1b4f0be6bab47ff3eee883c1464e13b5271b71f0e7bedfa8afe05f32bf3a0a6f4050a91afb9285b52aa0f3da6105221397e0 WHIRLPOOL 95347b1f8447e8701074727430ef0a232e92aa9e961451c445890552c6d9533569e470dfa4864f673c6c3b3eccb16ec9c3615cfcab6d29e74756861afe43fcac
diff --git a/app-admin/salt/files/salt-2016.11.0-broken-tests.patch b/app-admin/salt/files/salt-2016.11.0-broken-tests.patch
new file mode 100644
index 00000000..5bb7a8e
--- /dev/null
+++ b/app-admin/salt/files/salt-2016.11.0-broken-tests.patch
@@ -0,0 +1,23 @@
+diff --git a/tests/unit/utils/extend_test.py b/tests/unit/utils/extend_test.py
+index f63a4896f7..54bf443d9a 100644
+--- a/tests/unit/utils/extend_test.py
++++ b/tests/unit/utils/extend_test.py
+@@ -38,18 +38,6 @@ class ExtendTestCase(TestCase):
+ shutil.rmtree(self.out, True)
+ os.chdir(self.starting_dir)
+
+- @patch('sys.exit', MagicMock)
+- def test_run(self):
+- out = salt.utils.extend.run('test', 'test', 'this description', integration.CODE_DIR, False)
+- self.out = out
+- year = date.today().strftime('%Y')
+- self.assertTrue(os.path.exists(out))
+- self.assertFalse(os.path.exists(os.path.join(out, 'template.yml')))
+- self.assertTrue(os.path.exists(os.path.join(out, 'directory')))
+- self.assertTrue(os.path.exists(os.path.join(out, 'directory', 'test.py')))
+- with salt.utils.fopen(os.path.join(out, 'directory', 'test.py'), 'r') as test_f:
+- self.assertEqual(test_f.read(), year)
+-
+ if __name__ == '__main__':
+ from unit import run_tests
+ run_tests(ExtendTestCase, needs_daemon=False)
diff --git a/app-admin/salt/files/salt-2016.11.0-remove-file-tree-test.patch b/app-admin/salt/files/salt-2016.11.0-remove-file-tree-test.patch
new file mode 100644
index 00000000..47d3257
--- /dev/null
+++ b/app-admin/salt/files/salt-2016.11.0-remove-file-tree-test.patch
@@ -0,0 +1,34 @@
+diff --git a/tests/unit/modules/inspect_collector_test.py b/tests/unit/modules/inspect_collector_test.py
+index 9105670526..e077bc3f44 100644
+--- a/tests/unit/modules/inspect_collector_test.py
++++ b/tests/unit/modules/inspect_collector_test.py
+@@ -52,29 +52,6 @@ class InspectorCollectorTestCase(TestCase):
+ self.assertEqual(inspector.pidfile, '/foo/pid/bar.pid')
+
+ @patch("os.mkdir", MagicMock())
+- def test_file_tree(self):
+- '''
+- Test file tree.
+-
+- :return:
+- '''
+-
+- inspector = Inspector(cachedir='/test', piddir='/test', pidfilename='bar.pid')
+- tree_root = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'inspectlib', 'tree_test')
+- expected_tree = (['/a/a/dummy.a', '/a/b/dummy.b', '/b/b.1', '/b/b.2', '/b/b.3'],
+- ['/a', '/a/a', '/a/b', '/a/c', '/b', '/c'],
+- ['/a/a/dummy.ln.a', '/a/b/dummy.ln.b', '/a/c/b.1', '/b/b.4',
+- '/b/b.5', '/c/b.1', '/c/b.2', '/c/b.3'])
+- tree_result = []
+- for chunk in inspector._get_all_files(tree_root):
+- buff = []
+- for pth in chunk:
+- buff.append(pth.replace(tree_root, ''))
+- tree_result.append(buff)
+- tree_result = tuple(tree_result)
+- self.assertEqual(expected_tree, tree_result)
+-
+- @patch("os.mkdir", MagicMock())
+ def test_get_unmanaged_files(self):
+ '''
+ Test get_unmanaged_files.
diff --git a/app-admin/salt/files/salt-2016.11.0-tmpdir.patch b/app-admin/salt/files/salt-2016.11.0-tmpdir.patch
new file mode 100644
index 00000000..1cccb15
--- /dev/null
+++ b/app-admin/salt/files/salt-2016.11.0-tmpdir.patch
@@ -0,0 +1,34 @@
+diff --git a/tests/unit/modules/qemu_nbd_test.py b/tests/unit/modules/qemu_nbd_test.py
+index 615e6b5670..fbd24aab86 100644
+--- a/tests/unit/modules/qemu_nbd_test.py
++++ b/tests/unit/modules/qemu_nbd_test.py
+@@ -77,6 +77,7 @@ class QemuNbdTestCase(TestCase):
+ Test if it mount the named image via qemu-nbd
+ and return the mounted roots
+ '''
++ tmpdir = os.environ.get('TMPDIR', '/tmp')
+ mock = MagicMock(return_value=True)
+ with patch.dict(qemu_nbd.__salt__, {'cmd.run': mock}):
+ self.assertEqual(qemu_nbd.init('/srv/image.qcow2'), '')
+@@ -89,7 +90,7 @@ class QemuNbdTestCase(TestCase):
+ 'mount.mount': mock,
+ 'cmd.retcode': MagicMock(side_effect=[1, 0])}):
+ self.assertDictEqual(qemu_nbd.init('/srv/image.qcow2'),
+- {'/tmp/nbd/nbd0/nbd0': '/dev/nbd0'})
++ {os.path.join(tmpdir, 'nbd/nbd0/nbd0'): '/dev/nbd0'})
+
+ # 'clear' function tests: 1
+
+diff --git a/tests/unit/utils/context_test.py b/tests/unit/utils/context_test.py
+index 5249d56747..a27ee9ab61 100644
+--- a/tests/unit/utils/context_test.py
++++ b/tests/unit/utils/context_test.py
+@@ -18,7 +18,7 @@ import salt.payload
+ import salt.utils
+
+ __context__ = {'a': 'b'}
+-__opts__ = {'cachedir': '/tmp'}
++__opts__ = {'cachedir': os.environ.get('TMPDIR', '/tmp')}
+
+
+ @skipIf(NO_MOCK, NO_MOCK_REASON)
diff --git a/app-admin/salt/salt-2016.11.0.ebuild b/app-admin/salt/salt-2016.11.0.ebuild
new file mode 100644
index 00000000..c2db5f5
--- /dev/null
+++ b/app-admin/salt/salt-2016.11.0.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="http://saltstack.org/"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~x86 ~amd64"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
+IUSE+=" openssl portage profile redis selinux test timelib raet +zeromq vim-syntax"
+
+RDEPEND="sys-apps/pciutils
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
+ openssl? (
+ dev-libs/openssl:*[-bindist]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ zeromq? (
+ >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ timelib? ( dev-python/timelib[${PYTHON_USEDEP}] )
+ nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
+ neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/timelib[${PYTHON_USEDEP}]
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ !x86? ( dev-python/boto3[${PYTHON_USEDEP}] )
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
+ >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
+ ${RDEPEND}
+ )"
+
+DOCS=( README.rst AUTHORS )
+
+REQUIRED_USE="|| ( raet zeromq )"
+RESTRICT="x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2016.11.0-tmpdir.patch"
+ "${FILESDIR}/${PN}-2016.3.1-dont-realpath-tmpdir.patch"
+ "${FILESDIR}/${PN}-2016.3.4-test-nonexist-dirs.patch"
+ "${FILESDIR}/${PN}-2016.11.0-remove-file-tree-test.patch"
+ "${FILESDIR}/${PN}-2016.11.0-broken-tests.patch"
+)
+
+python_prepare() {
+ # this test fails because it trys to "pip install distribute"
+ rm tests/unit/{modules,states}/zcbuildout_test.py \
+ tests/unit/modules/{rh_ip,win_network,random_org}_test.py || die
+
+ # apparently libcloud does not know about this?
+ rm tests/unit/cloud/clouds/dimensiondata_test.py || die
+
+ # seriously? "ValueError: Missing (or not readable) key file: '/home/dany/PRIVKEY.pem'"
+ rm tests/unit/cloud/clouds/gce_test.py || die
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ local tempdir
+ # testsuite likes lots of files
+ ulimit -n 3072 || die
+
+ # ${T} is too long a path for the tests to work
+ tempdir="$(mktemp -dup /tmp salt-XXX)"
+ mkdir "${T}/$(basename "${tempdir}")"
+
+ (
+ cleanup() { rm -f "${tempdir}"; }
+ trap cleanup EXIT
+
+ addwrite "${tempdir}"
+ ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}"
+
+ USE_SETUPTOOLS=1 SHELL="/bin/bash" \
+ TMPDIR="${tempdir}" \
+ ${EPYTHON} tests/runtests.py \
+ --unit-tests --no-report --verbose
+
+ ) || die "testing failed"
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2017-01-31 23:22 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2017-01-31 23:22 UTC (permalink / raw
To: gentoo-commits
commit: c2c2e58b596a22f0100dda08e9163ad7a09780c4
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 31 20:04:25 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Jan 31 23:19:52 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c2c2e58b
app-admin/salt: Security version bump to 2015.8.13
Gentoo-Bug: 607824
Package-Manager: Portage-2.3.3, Repoman-2.3.1
app-admin/salt/Manifest | 1 +
.../salt-2015.8.13-failing-gateway-tests.patch | 69 ++++++++++
app-admin/salt/salt-2015.8.13.ebuild | 141 +++++++++++++++++++++
3 files changed, 211 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 589341d..a68766a 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,4 +1,5 @@
DIST salt-2015.5.10.tar.gz 5693422 SHA256 863a96e70f8521af35fe11b10d25b3205a0bfbba9a8aee02e2842aa7106496fd SHA512 78a4cbe5c771208e957360689a25ae4e44566987e07e7fda54e6db9028485eacc6ad016c65c981090f9b5d95331e46048a094aecc27703b3956c06ab6ebad95d WHIRLPOOL 805b48df07707d85d8338251f26c72164a5421731fc11f5c933b72af97348a2f11ee35889f72ec032acbea275e98575d35786b56fd84a7917f8fdbc30567ae86
DIST salt-2015.8.12.tar.gz 7033938 SHA256 712f72b30a9555ea46a51bc677e05ffa2eefaeefa6b48d4f7ae45dbcb1073c69 SHA512 8ce940a413c740bd82c6c96103d48b376a47cb8161a5d72ece3f4bf6b39134bd722787a427249726dc137064d032fa913c7f6c6db22d0808ba1a829d4f25e9ec WHIRLPOOL 723660eac1346c3ba29b88c7db1a4485a194aebbdf33ea6dc411c420059767a3feb5c863941d772b504cede4a78a57e3ce696601872d21d29f4def373db697d4
+DIST salt-2015.8.13.tar.gz 7036243 SHA256 cca82c9a4f267692660b098c1f76e54ab6a24131391893719bde0eb3a1ed2959 SHA512 ec8626f7360542bfeea90fc3d6fd9d9d015da4c2a6adf9957c22501ed9531b0a44d2cbc4853c41856b4cd46c142d2441884ec99700f3c0a5310cc428f9f1ec2a WHIRLPOOL c21f3bdc5fd674ea664c7e8fd58ef6685328a6ee3679850f3e9a085b1e604e1224a3323b906b47075fb8dd39f373583fb549e7b0f3f725d44928bcf716955a10
DIST salt-2016.11.0.tar.gz 9044879 SHA256 b516285926ee95cedc64ecddab05d14422b7c8819c9f6d046a431c41d608e6bc SHA512 0cddebe9fda1f7d08aa7ee5d4e49e182c67e7bc179136da30d20c991bc10d7299034198f6721b89eda2604480aa2cfe6960f37fadde4d72adf166a065a9f6443 WHIRLPOOL 595ab7c7e50cafdfc7d69a1e24964a88092e93416dc23b295e1ab59f1ce3ae8fa10b24c4e9fe45c1d2d8557290aceae66f93d3da81a1f1be62c98e537cb8ad6a
DIST salt-2016.3.4.tar.gz 8354090 SHA256 5d4c822719d7fb2d79b0103cd9b015d251300890f8aa174e16b73fcfd6eb22f9 SHA512 ca17c5607d23d09e95fb4b6afbcf1b4f0be6bab47ff3eee883c1464e13b5271b71f0e7bedfa8afe05f32bf3a0a6f4050a91afb9285b52aa0f3da6105221397e0 WHIRLPOOL 95347b1f8447e8701074727430ef0a232e92aa9e961451c445890552c6d9533569e470dfa4864f673c6c3b3eccb16ec9c3615cfcab6d29e74756861afe43fcac
diff --git a/app-admin/salt/files/salt-2015.8.13-failing-gateway-tests.patch b/app-admin/salt/files/salt-2015.8.13-failing-gateway-tests.patch
new file mode 100644
index 00000000..7d8512b
--- /dev/null
+++ b/app-admin/salt/files/salt-2015.8.13-failing-gateway-tests.patch
@@ -0,0 +1,69 @@
+diff --git a/tests/unit/states/boto_vpc_test.py b/tests/unit/states/boto_vpc_test.py
+index 53b6a24e4d..96b5630627 100644
+--- a/tests/unit/states/boto_vpc_test.py
++++ b/tests/unit/states/boto_vpc_test.py
+@@ -179,16 +179,6 @@ class BotoVpcResourceTestCaseMixin(BotoVpcTestCaseMixin):
+ self.assertTrue(exists)
+
+ @mock_ec2
+- def test_present_when_resource_exists(self):
+- vpc = self._create_vpc(name='test')
+- resource = self._create_resource(vpc_id=vpc.id, name='test')
+- with patch.dict('salt.utils.boto.__salt__', funcs):
+- resource_present_result = salt_states['boto_vpc.{0}_present'.format(self.resource_type)](
+- name='test', vpc_name='test', **self.extra_kwargs)
+- self.assertTrue(resource_present_result['result'])
+- self.assertEqual(resource_present_result['changes'], {})
+-
+- @mock_ec2
+ @skipIf(True, 'Disabled pending https://github.com/spulec/moto/issues/493')
+ def test_present_with_failure(self):
+ vpc = self._create_vpc(name='test')
+@@ -210,18 +200,6 @@ class BotoVpcResourceTestCaseMixin(BotoVpcTestCaseMixin):
+ self.assertEqual(resource_absent_result['changes'], {})
+
+ @mock_ec2
+- def test_absent_when_resource_exists(self):
+- vpc = self._create_vpc(name='test')
+- self._create_resource(vpc_id=vpc.id, name='test')
+-
+- with patch.dict('salt.utils.boto.__salt__', funcs):
+- resource_absent_result = salt_states['boto_vpc.{0}_absent'.format(self.resource_type)]('test')
+- self.assertTrue(resource_absent_result['result'])
+- self.assertEqual(resource_absent_result['changes']['new'][self.resource_type], None)
+- exists = funcs['boto_vpc.resource_exists'](self.resource_type, 'test').get('exists')
+- self.assertFalse(exists)
+-
+- @mock_ec2
+ @skipIf(True, 'Disabled pending https://github.com/spulec/moto/issues/493')
+ def test_absent_with_failure(self):
+ vpc = self._create_vpc(name='test')
+@@ -293,28 +271,3 @@ class BotoVpcRouteTableTestCase(BotoVpcStateTestCaseBase, BotoVpcResourceTestCas
+
+ new_subnets = changes['new']['subnets_associations']
+ self.assertEqual(new_subnets[0]['subnet_id'], subnet2.id)
+-
+- @mock_ec2
+- def test_present_with_routes(self):
+- vpc = self._create_vpc(name='test')
+- igw = self._create_internet_gateway(name='test', vpc_id=vpc.id)
+-
+- route_table_present_result = salt_states['boto_vpc.route_table_present'](
+- name='test', vpc_name='test', routes=[{'destination_cidr_block': '0.0.0.0/0',
+- 'gateway_id': igw.id},
+- {'destination_cidr_block': '10.0.0.0/24',
+- 'gateway_id': 'local'}])
+- routes = [x['gateway_id'] for x in route_table_present_result['changes']['new']['routes']]
+-
+- self.assertEqual(set(routes), set(['local', igw.id]))
+-
+- route_table_present_result = salt_states['boto_vpc.route_table_present'](
+- name='test', vpc_name='test', routes=[{'destination_cidr_block': '10.0.0.0/24',
+- 'gateway_id': 'local'}])
+-
+- changes = route_table_present_result['changes']
+-
+- old_routes = [x['gateway_id'] for x in changes['old']['routes']]
+- self.assertEqual(set(routes), set(old_routes))
+-
+- self.assertEqual(changes['new']['routes'][0]['gateway_id'], 'local')
diff --git a/app-admin/salt/salt-2015.8.13.ebuild b/app-admin/salt/salt-2015.8.13.ebuild
new file mode 100644
index 00000000..eed7d2d
--- /dev/null
+++ b/app-admin/salt/salt-2015.8.13.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python2_7)
+
+inherit eutils systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="http://saltstack.org/"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~x86 ~amd64"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
+IUSE+=" openssl portage profile redis selinux test timelib raet +zeromq vim-syntax"
+
+RDEPEND="sys-apps/pciutils
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
+ openssl? (
+ dev-libs/openssl:*[-bindist]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ zeromq? (
+ >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ timelib? ( dev-python/timelib[${PYTHON_USEDEP}] )
+ nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
+ neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/timelib[${PYTHON_USEDEP}]
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ >=dev-python/SaltTesting-2015.2.16[${PYTHON_USEDEP}]
+ ${RDEPEND}
+ )"
+
+DOCS=(README.rst AUTHORS)
+
+REQUIRED_USE="|| ( raet zeromq )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2015.8.0-remove-buggy-tests.patch"
+ "${FILESDIR}/${PN}-2015.5.5-auth-tests.patch"
+ "${FILESDIR}/${PN}-2015.5.5-cron-tests.patch"
+ "${FILESDIR}/${PN}-2015.5.5-remove-buggy-tests.patch"
+ "${FILESDIR}/${PN}-2015.8.2-tmpdir.patch"
+ "${FILESDIR}/${PN}-2015.8.10-remove-failing-boto-test.patch"
+ "${FILESDIR}/${PN}-2015.8.13-failing-gateway-tests.patch"
+)
+
+python_prepare() {
+ # this test fails because it trys to "pip install distribute"
+ rm tests/unit/{modules,states}/zcbuildout_test.py \
+ tests/unit/modules/{rh_ip,win_network,random_org}_test.py
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ if [[ -e pkg/salt-${svc}.service ]]; then
+ sed -i -r 's/After=(.*)/After=syslog.target \1/' pkg/salt-${svc}.service || die
+ systemd_dounit pkg/salt-${svc}.service
+ elif [[ -e "${FILESDIR}"/salt-${svc}.service ]]; then
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ fi
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ local tempdir
+ # testsuite likes lots of files
+ ulimit -n 3072
+
+ # ${T} is too long a path for the tests to work
+ tempdir="$(mktemp -dup /tmp salt-XXX)"
+ mkdir "${T}/$(basename "${tempdir}")"
+
+ (
+ cleanup() { rm -f "${tempdir}"; }
+ trap cleanup EXIT
+
+ addwrite "${tempdir}"
+ ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}"
+
+ USE_SETUPTOOLS=1 SHELL="/bin/bash" TMPDIR="${tempdir}" \
+ ${EPYTHON} tests/runtests.py \
+ --unit-tests --no-report --verbose
+
+ ) || die "testing failed"
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2017-01-31 23:22 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2017-01-31 23:22 UTC (permalink / raw
To: gentoo-commits
commit: 5a5db48979af4cb94edfd978d9aceffe40a3172c
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 31 20:15:56 2017 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Jan 31 23:19:54 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5a5db489
app-admin/salt: Security version bump to 2016.3.5
Gentoo-Bug: 607824
Package-Manager: Portage-2.3.3, Repoman-2.3.1
app-admin/salt/Manifest | 1 +
app-admin/salt/files/salt-2016.3.5-tmpdir.patch | 47 ++++++++
app-admin/salt/salt-2016.3.5.ebuild | 143 ++++++++++++++++++++++++
3 files changed, 191 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index a68766a..9005b58 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -3,3 +3,4 @@ DIST salt-2015.8.12.tar.gz 7033938 SHA256 712f72b30a9555ea46a51bc677e05ffa2eefae
DIST salt-2015.8.13.tar.gz 7036243 SHA256 cca82c9a4f267692660b098c1f76e54ab6a24131391893719bde0eb3a1ed2959 SHA512 ec8626f7360542bfeea90fc3d6fd9d9d015da4c2a6adf9957c22501ed9531b0a44d2cbc4853c41856b4cd46c142d2441884ec99700f3c0a5310cc428f9f1ec2a WHIRLPOOL c21f3bdc5fd674ea664c7e8fd58ef6685328a6ee3679850f3e9a085b1e604e1224a3323b906b47075fb8dd39f373583fb549e7b0f3f725d44928bcf716955a10
DIST salt-2016.11.0.tar.gz 9044879 SHA256 b516285926ee95cedc64ecddab05d14422b7c8819c9f6d046a431c41d608e6bc SHA512 0cddebe9fda1f7d08aa7ee5d4e49e182c67e7bc179136da30d20c991bc10d7299034198f6721b89eda2604480aa2cfe6960f37fadde4d72adf166a065a9f6443 WHIRLPOOL 595ab7c7e50cafdfc7d69a1e24964a88092e93416dc23b295e1ab59f1ce3ae8fa10b24c4e9fe45c1d2d8557290aceae66f93d3da81a1f1be62c98e537cb8ad6a
DIST salt-2016.3.4.tar.gz 8354090 SHA256 5d4c822719d7fb2d79b0103cd9b015d251300890f8aa174e16b73fcfd6eb22f9 SHA512 ca17c5607d23d09e95fb4b6afbcf1b4f0be6bab47ff3eee883c1464e13b5271b71f0e7bedfa8afe05f32bf3a0a6f4050a91afb9285b52aa0f3da6105221397e0 WHIRLPOOL 95347b1f8447e8701074727430ef0a232e92aa9e961451c445890552c6d9533569e470dfa4864f673c6c3b3eccb16ec9c3615cfcab6d29e74756861afe43fcac
+DIST salt-2016.3.5.tar.gz 8405980 SHA256 fec215dfdec33ca6826453e5437656f9ed5e4a121ef3db6341f91f799cd3e751 SHA512 ca9ae85f8174aa55fefeaef70d65981d581f25f14f219f437ad4dc0db08e5944f356564c92aee46e796547db38312efedc8db5080576d578982f963a742635e6 WHIRLPOOL 72b504dd669adf4ffc6818083f40b07b78914c8f168ab496d628a3f5cd136d7c4266906007e095aff4c18e123dfcf03391f577fb09b841eb71bc30ea6a46de07
diff --git a/app-admin/salt/files/salt-2016.3.5-tmpdir.patch b/app-admin/salt/files/salt-2016.3.5-tmpdir.patch
new file mode 100644
index 00000000..dce4f09
--- /dev/null
+++ b/app-admin/salt/files/salt-2016.3.5-tmpdir.patch
@@ -0,0 +1,47 @@
+diff --git a/tests/unit/modules/qemu_nbd_test.py b/tests/unit/modules/qemu_nbd_test.py
+index 615e6b5670..fbd24aab86 100644
+--- a/tests/unit/modules/qemu_nbd_test.py
++++ b/tests/unit/modules/qemu_nbd_test.py
+@@ -77,6 +77,7 @@ class QemuNbdTestCase(TestCase):
+ Test if it mount the named image via qemu-nbd
+ and return the mounted roots
+ '''
++ tmpdir = os.environ.get('TMPDIR', '/tmp')
+ mock = MagicMock(return_value=True)
+ with patch.dict(qemu_nbd.__salt__, {'cmd.run': mock}):
+ self.assertEqual(qemu_nbd.init('/srv/image.qcow2'), '')
+@@ -89,7 +90,7 @@ class QemuNbdTestCase(TestCase):
+ 'mount.mount': mock,
+ 'cmd.retcode': MagicMock(side_effect=[1, 0])}):
+ self.assertDictEqual(qemu_nbd.init('/srv/image.qcow2'),
+- {'/tmp/nbd/nbd0/nbd0': '/dev/nbd0'})
++ {os.path.join(tmpdir, 'nbd/nbd0/nbd0'): '/dev/nbd0'})
+
+ # 'clear' function tests: 1
+
+diff --git a/tests/unit/states/archive_test.py b/tests/unit/states/archive_test.py
+index e699362d8a..c7c7e8a965 100644
+--- a/tests/unit/states/archive_test.py
++++ b/tests/unit/states/archive_test.py
+@@ -25,7 +25,7 @@ from salt.ext.six.moves import zip # pylint: disable=import-error,redefined-bui
+
+ # Globals
+ archive.__salt__ = {}
+-archive.__opts__ = {"cachedir": "/tmp", "test": False}
++archive.__opts__ = {"cachedir": os.environ.get('TMPDIR', "/tmp"), "test": False}
+ archive.__env__ = 'test'
+
+
+diff --git a/tests/unit/utils/context_test.py b/tests/unit/utils/context_test.py
+index 5249d56747..a27ee9ab61 100644
+--- a/tests/unit/utils/context_test.py
++++ b/tests/unit/utils/context_test.py
+@@ -18,7 +18,7 @@ import salt.payload
+ import salt.utils
+
+ __context__ = {'a': 'b'}
+-__opts__ = {'cachedir': '/tmp'}
++__opts__ = {'cachedir': os.environ.get('TMPDIR', '/tmp')}
+
+
+ @skipIf(NO_MOCK, NO_MOCK_REASON)
diff --git a/app-admin/salt/salt-2016.3.5.ebuild b/app-admin/salt/salt-2016.3.5.ebuild
new file mode 100644
index 00000000..2589794
--- /dev/null
+++ b/app-admin/salt/salt-2016.3.5.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="http://saltstack.org/"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~x86 ~amd64"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
+IUSE+=" openssl portage profile redis selinux test timelib raet +zeromq vim-syntax"
+
+RDEPEND="sys-apps/pciutils
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
+ openssl? (
+ dev-libs/openssl:*[-bindist]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ zeromq? (
+ >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ timelib? ( dev-python/timelib[${PYTHON_USEDEP}] )
+ nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
+ neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/timelib[${PYTHON_USEDEP}]
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ !x86? ( dev-python/boto3[${PYTHON_USEDEP}] )
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
+ >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
+ ${RDEPEND}
+ )"
+
+DOCS=( README.rst AUTHORS )
+
+REQUIRED_USE="|| ( raet zeromq )"
+RESTRICT="x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2016.3.5-tmpdir.patch"
+ "${FILESDIR}/${PN}-2016.3.1-dont-realpath-tmpdir.patch"
+ "${FILESDIR}/${PN}-2016.3.4-test-nonexist-dirs.patch"
+ "${FILESDIR}/${PN}-2016.3.4-dont-test-ordering.patch"
+)
+
+python_prepare() {
+ # this test fails because it trys to "pip install distribute"
+ rm tests/unit/{modules,states}/zcbuildout_test.py \
+ tests/unit/modules/{rh_ip,win_network,random_org}_test.py || die
+
+ # apparently libcloud does not know about this?
+ rm tests/unit/cloud/clouds/dimensiondata_test.py || die
+
+ # seriously? "ValueError: Missing (or not readable) key file: '/home/dany/PRIVKEY.pem'"
+ rm tests/unit/cloud/clouds/gce_test.py || die
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ local tempdir
+ # testsuite likes lots of files
+ ulimit -n 3072 || die
+
+ # ${T} is too long a path for the tests to work
+ tempdir="$(mktemp -dup /tmp salt-XXX)"
+ mkdir "${T}/$(basename "${tempdir}")"
+
+ (
+ cleanup() { rm -f "${tempdir}"; }
+ trap cleanup EXIT
+
+ addwrite "${tempdir}"
+ ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}"
+
+ USE_SETUPTOOLS=1 SHELL="/bin/bash" \
+ TMPDIR="${tempdir}" \
+ ${EPYTHON} tests/runtests.py \
+ --unit-tests --no-report --verbose
+
+ ) || die "testing failed"
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2018-02-08 19:56 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2018-02-08 19:56 UTC (permalink / raw
To: gentoo-commits
commit: aefde3e8351ebb90d5f51d76f8d6d6fb13ca17d5
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 8 19:56:25 2018 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Feb 8 19:56:25 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aefde3e8
app-admin/salt: Version bump to 2017.7.3
Package-Manager: Portage-2.3.24, Repoman-2.3.6
app-admin/salt/Manifest | 1 +
app-admin/salt/files/salt-2017.7.3-tests.patch | 66 ++++++++++++
app-admin/salt/salt-2017.7.3.ebuild | 142 +++++++++++++++++++++++++
3 files changed, 209 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 5d09e1c2ff3..d09cc36bf2c 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,2 +1,3 @@
DIST salt-2016.11.8.tar.gz 10142142 BLAKE2B e6805dae84c0d2e39109c95f603fcb54e1b7d7ff6c27ce555379b69274b3a5d72a1e372081a62c18440deb0955c1ef24a41c5d855a5e622f2ffe51276bd87b25 SHA512 0adc544ca460d13d2adb11b04575bd079a3dad1be3468bea7d32d0b74416b78546e4c86c75551bba09786be8e9810a6e30232414c4f5851cbc9a0fb4b894e0de
DIST salt-2017.7.2.tar.gz 11471191 BLAKE2B 0b7184eb4dcb29f2a9603117d1c6fb9c729093c1ff11e18370929ec3fdbfe7bf8c0914f17260c3f613842c23359205a4a84d3e0bcd67476705e50f805bcd7b69 SHA512 959cec404f0fa7c00f78427cba902b8b9c2c0d95016fc70925d8da6d0b97a0284fc034ac92a5c5c313763db4fdcbd1b0391318596b77fe8e0cd1c7e4b3fa928b
+DIST salt-2017.7.3.tar.gz 36461646 BLAKE2B 560038b8cd49dadec3f37e3864054f32d6d6544b0f48704e94a05b83f9d6277ce456ee36813a23844b93e338ca117ad0ee605dad49e77816810f1e7244b20b27 SHA512 0452ad6cf2a9bcecd0056f0a6f4871e36bf2abe8c207c93f79e1e9ace608b7ba2158e958a71121f230969ff0b32ffd26f048e369003f844eaf3f4f9dd4b4a19a
diff --git a/app-admin/salt/files/salt-2017.7.3-tests.patch b/app-admin/salt/files/salt-2017.7.3-tests.patch
new file mode 100644
index 00000000000..9399bf87334
--- /dev/null
+++ b/app-admin/salt/files/salt-2017.7.3-tests.patch
@@ -0,0 +1,66 @@
+diff --git a/tests/unit/fileserver/test_roots.py b/tests/unit/fileserver/test_roots.py
+index cc9c8dbce9..a50a240c25 100644
+--- a/tests/unit/fileserver/test_roots.py
++++ b/tests/unit/fileserver/test_roots.py
+@@ -164,12 +164,6 @@ class RootsTest(TestCase, AdaptedConfigurationTestCaseMixin, LoaderModuleMockMix
+ ret = roots.dir_list({'saltenv': 'base'})
+ self.assertIn('empty_dir', ret)
+
+- def test_symlink_list(self):
+- if self.test_symlink_list_file_roots:
+- self.opts['file_roots'] = self.test_symlink_list_file_roots
+- ret = roots.symlink_list({'saltenv': 'base'})
+- self.assertDictEqual(ret, {'dest_sym': 'source_sym'})
+-
+
+ class RootsLimitTraversalTest(TestCase, AdaptedConfigurationTestCaseMixin):
+
+diff --git a/tests/unit/modules/test_inspect_collector.py b/tests/unit/modules/test_inspect_collector.py
+index 0d37519a9e..c18be8d592 100644
+--- a/tests/unit/modules/test_inspect_collector.py
++++ b/tests/unit/modules/test_inspect_collector.py
+@@ -59,44 +59,6 @@ class InspectorCollectorTestCase(TestCase):
+ inspector.pidfile,
+ os.sep + os.sep.join(['foo', 'pid', 'bar.pid']))
+
+- def test_file_tree(self):
+- '''
+- Test file tree.
+-
+- :return:
+- '''
+-
+- inspector = Inspector(cachedir=os.sep + 'test',
+- piddir=os.sep + 'test',
+- pidfilename='bar.pid')
+- tree_root = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'inspectlib', 'tree_test')
+- expected_tree = ([os.sep + os.sep.join(['a', 'a', 'dummy.a']),
+- os.sep + os.sep.join(['a', 'b', 'dummy.b']),
+- os.sep + os.sep.join(['b', 'b.1']),
+- os.sep + os.sep.join(['b', 'b.2']),
+- os.sep + os.sep.join(['b', 'b.3'])],
+- [os.sep + 'a',
+- os.sep + os.sep.join(['a', 'a']),
+- os.sep + os.sep.join(['a', 'b']),
+- os.sep + os.sep.join(['a', 'c']),
+- os.sep + 'b',
+- os.sep + 'c'],
+- [os.sep + os.sep.join(['a', 'a', 'dummy.ln.a']),
+- os.sep + os.sep.join(['a', 'b', 'dummy.ln.b']),
+- os.sep + os.sep.join(['a', 'c', 'b.1']),
+- os.sep + os.sep.join(['b', 'b.4']),
+- os.sep + os.sep.join(['b', 'b.5']),
+- os.sep + os.sep.join(['c', 'b.1']),
+- os.sep + os.sep.join(['c', 'b.2']),
+- os.sep + os.sep.join(['c', 'b.3'])])
+- tree_result = []
+- for chunk in inspector._get_all_files(tree_root):
+- buff = []
+- for pth in chunk:
+- buff.append(pth.replace(tree_root, ''))
+- tree_result.append(buff)
+- tree_result = tuple(tree_result)
+- self.assertEqual(expected_tree, tree_result)
+
+ def test_get_unmanaged_files(self):
+ '''
diff --git a/app-admin/salt/salt-2017.7.3.ebuild b/app-admin/salt/salt-2017.7.3.ebuild
new file mode 100644
index 00000000000..f31e0c09a66
--- /dev/null
+++ b/app-admin/salt/salt-2017.7.3.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="http://saltstack.org/"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~x86 ~amd64"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
+IUSE+=" openssl portage profile redis selinux test timelib raet +zeromq vim-syntax"
+
+RDEPEND="sys-apps/pciutils
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
+ openssl? (
+ dev-libs/openssl:*[-bindist]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ zeromq? (
+ >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ timelib? ( dev-python/timelib[${PYTHON_USEDEP}] )
+ nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
+ neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-salt[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/timelib[${PYTHON_USEDEP}]
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ !x86? ( >=dev-python/boto3-1.2.1[${PYTHON_USEDEP}] )
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
+ >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
+ ${RDEPEND}
+ )"
+
+DOCS=( README.rst AUTHORS )
+
+REQUIRED_USE="|| ( raet zeromq )"
+RESTRICT="x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2017.7.0-dont-realpath-tmpdir.patch"
+ "${FILESDIR}/${PN}-2017.7.3-tests.patch"
+)
+
+python_prepare() {
+ rm tests/unit/{test_zypp_plugins.py,utils/test_extend.py} || die
+ rm tests/unit/modules/test_boto_{vpc,secgroup,elb}.py || die
+ rm tests/unit/states/test_boto_vpc.py || die
+ rm tests/unit/modules/test_kubernetes.py || die
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ local tempdir
+ # testsuite likes lots of files
+ ulimit -n 3072 || die
+
+ # ${T} is too long a path for the tests to work
+ tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
+ mkdir "${T}/$(basename "${tempdir}")"
+ mkdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
+
+ (
+ cleanup() {
+ rm -f "${tempdir}"
+ rmdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
+ }
+
+ trap cleanup EXIT
+
+ addwrite "${tempdir}"
+ ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}"
+
+ USE_SETUPTOOLS=1 SHELL="/bin/bash" \
+ TMPDIR="${tempdir}" \
+ ${EPYTHON} tests/runtests.py \
+ --unit-tests --no-report --verbose
+
+ ) || die "testing failed"
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2018-04-04 22:02 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2018-04-04 22:02 UTC (permalink / raw
To: gentoo-commits
commit: 449dede36f285d579ad985979ed2ed20107ffd70
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 4 00:03:55 2018 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Apr 4 22:02:14 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=449dede3
app-admin/salt: Remove old versions and unused files (bug #650192)
Closes: https://bugs.gentoo.org/650192
Reported-by: Michael Mair-Keimberger <m.mairkeimberger <AT> gmail.com>
Suggested-by: Michael Mair-Keimberger <m.mairkeimberger <AT> gmail.com>
Package-Manager: Portage-2.3.28, Repoman-2.3.9
app-admin/salt/Manifest | 2 -
.../salt-2014.7.1-remove-pydsl-includes-test.patch | 104 --------------
.../salt/files/salt-2015.5.10-buggy-tests.patch | 38 ------
.../salt/files/salt-2015.5.5-auth-tests.patch | 34 -----
.../salt/files/salt-2015.5.5-cron-tests.patch | 17 ---
.../files/salt-2015.5.5-remove-buggy-tests.patch | 46 -------
app-admin/salt/files/salt-2015.5.7-tmpdir.patch | 37 -----
.../files/salt-2015.8.0-remove-buggy-tests.patch | 56 --------
.../salt-2015.8.10-remove-failing-boto-test.patch | 35 -----
.../salt-2015.8.13-failing-gateway-tests.patch | 69 ----------
.../salt-2015.8.13-sanitize-minion-name.patch | 36 -----
app-admin/salt/files/salt-2015.8.2-tmpdir.patch | 56 --------
.../files/salt-2016.3.4-dont-test-ordering.patch | 33 -----
app-admin/salt/files/salt-2016.3.5-tmpdir.patch | 47 -------
app-admin/salt/salt-2016.11.8-r1.ebuild | 149 --------------------
app-admin/salt/salt-2017.7.2-r2.ebuild | 143 --------------------
app-admin/salt/salt-2017.7.4-r2.ebuild | 150 ---------------------
17 files changed, 1052 deletions(-)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index c873e6b2f83..945d1058453 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,5 +1,3 @@
-DIST salt-2016.11.8.tar.gz 10142142 BLAKE2B e6805dae84c0d2e39109c95f603fcb54e1b7d7ff6c27ce555379b69274b3a5d72a1e372081a62c18440deb0955c1ef24a41c5d855a5e622f2ffe51276bd87b25 SHA512 0adc544ca460d13d2adb11b04575bd079a3dad1be3468bea7d32d0b74416b78546e4c86c75551bba09786be8e9810a6e30232414c4f5851cbc9a0fb4b894e0de
DIST salt-2016.11.9.tar.gz 10062996 BLAKE2B 5176d04d07a69de21c9c136c201d334614c5675fd78e306a0160fae829b633441cd859f4ba1a0822dfbb9ae716475c53f6eb058187d4acc8a5770dd4ceace577 SHA512 896fd27c111e926e246b51d00b69d41c8f4d25ec0c034c9ff3dc5414f5e93592fd637cdeaecf02b3b98a4e5a7ce478bfda86b15497961078374608d76516593d
-DIST salt-2017.7.2.tar.gz 11471191 BLAKE2B 0b7184eb4dcb29f2a9603117d1c6fb9c729093c1ff11e18370929ec3fdbfe7bf8c0914f17260c3f613842c23359205a4a84d3e0bcd67476705e50f805bcd7b69 SHA512 959cec404f0fa7c00f78427cba902b8b9c2c0d95016fc70925d8da6d0b97a0284fc034ac92a5c5c313763db4fdcbd1b0391318596b77fe8e0cd1c7e4b3fa928b
DIST salt-2017.7.4.tar.gz 11718327 BLAKE2B c197284ee56d039ee7942534af979f0606093ebdf40e0b11a55ca28a2f64c4b584b09b0901d5cb2c350f4ede52636e7927bbed48355d731472970eda5e32632f SHA512 79d7853c2614ed581e441babe6fbb73809816ec53aa47016b5066b771de449d4dcc999927d7e1c92c5ca68c816d27779e34e31ec1408d473a07120d62846de73
DIST salt-2017.7.5.tar.gz 11043026 BLAKE2B 9cae4e6ca3b0bac0dc0b9b9a5ae01e0bfb8e8b899aa029b324ac10c8c84024bbc419ace068cd0d2bff84ec6ddf1d13faf68ce34c68c19892c700c38e81da8c7c SHA512 684ffde7d98c73349b386c94de3d9fc09631a78c5d74e37e6dfd90fbb0c94decc529f56b1eba1559ce9932b16083f88e6495ff6cdf071b32a23028e9db47cc3d
diff --git a/app-admin/salt/files/salt-2014.7.1-remove-pydsl-includes-test.patch b/app-admin/salt/files/salt-2014.7.1-remove-pydsl-includes-test.patch
deleted file mode 100644
index 7c33c12f5c7..00000000000
--- a/app-admin/salt/files/salt-2014.7.1-remove-pydsl-includes-test.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-diff --git a/tests/unit/pydsl_test.py b/tests/unit/pydsl_test.py
-index 57ba81e..b26154e 100644
---- a/tests/unit/pydsl_test.py
-+++ b/tests/unit/pydsl_test.py
-@@ -298,99 +298,6 @@ class PyDSLRendererTestCase(TestCase):
- finally:
- shutil.rmtree(dirpath, ignore_errors=True)
-
-- def test_rendering_includes(self):
-- dirpath = tempfile.mkdtemp(dir=integration.SYS_TMP_DIR)
-- if not os.path.isdir(dirpath):
-- self.skipTest(
-- 'The temporary directory {0!r} was not created'.format(
-- dirpath
-- )
-- )
-- output = os.path.join(dirpath, 'output')
-- try:
-- write_to(os.path.join(dirpath, 'aaa.sls'), textwrap.dedent('''\
-- #!pydsl|stateconf -ps
--
-- include('xxx')
-- yyy = include('yyy')
--
-- # ensure states in xxx are run first, then those in yyy and then those in aaa last.
-- extend(state('yyy::start').stateconf.require(stateconf='xxx::goal'))
-- extend(state('.start').stateconf.require(stateconf='yyy::goal'))
--
-- extend(state('yyy::Y2').cmd.run('echo Y2 extended >> {0}'))
--
-- __pydsl__.set(ordered=True)
--
-- yyy.hello('red', 1)
-- yyy.hello('green', 2)
-- yyy.hello('blue', 3)
-- '''.format(output)))
--
-- write_to(os.path.join(dirpath, 'xxx.sls'), textwrap.dedent('''\
-- #!stateconf -os yaml . jinja
--
-- include:
-- - yyy
--
-- extend:
-- yyy::start:
-- stateconf.set:
-- - require:
-- - stateconf: .goal
--
-- yyy::Y1:
-- cmd.run:
-- - name: 'echo Y1 extended >> {0}'
--
-- .X1:
-- cmd.run:
-- - name: echo X1 >> {1}
-- - cwd: /
-- .X2:
-- cmd.run:
-- - name: echo X2 >> {2}
-- - cwd: /
-- .X3:
-- cmd.run:
-- - name: echo X3 >> {3}
-- - cwd: /
--
-- '''.format(output, output, output, output)))
--
-- write_to(os.path.join(dirpath, 'yyy.sls'), textwrap.dedent('''\
-- #!pydsl|stateconf -ps
--
-- include('xxx')
-- __pydsl__.set(ordered=True)
--
-- state('.Y1').cmd.run('echo Y1 >> {0}', cwd='/')
-- state('.Y2').cmd.run('echo Y2 >> {1}', cwd='/')
-- state('.Y3').cmd.run('echo Y3 >> {2}', cwd='/')
--
-- def hello(color, number):
-- state(color).cmd.run('echo hello '+color+' '+str(number)+' >> {3}', cwd='/')
-- '''.format(output, output, output, output)))
--
-- state_highstate({'base': ['aaa']}, dirpath)
-- expected = textwrap.dedent('''\
-- X1
-- X2
-- X3
-- Y1 extended
-- Y2 extended
-- Y3
-- hello red 1
-- hello green 2
-- hello blue 3
-- ''')
--
-- with salt.utils.fopen(output, 'r') as f:
-- self.assertEqual(sorted(f.read()), sorted(expected))
--
-- finally:
-- shutil.rmtree(dirpath, ignore_errors=True)
--
- def test_compile_time_state_execution(self):
- if not sys.stdin.isatty():
- self.skipTest('Not attached to a TTY')
diff --git a/app-admin/salt/files/salt-2015.5.10-buggy-tests.patch b/app-admin/salt/files/salt-2015.5.10-buggy-tests.patch
deleted file mode 100644
index e9330bd255b..00000000000
--- a/app-admin/salt/files/salt-2015.5.10-buggy-tests.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff --git a/tests/unit/modules/boto_vpc_test.py b/tests/unit/modules/boto_vpc_test.py
-index 82dfe28..ced9ee5 100644
---- a/tests/unit/modules/boto_vpc_test.py
-+++ b/tests/unit/modules/boto_vpc_test.py
-@@ -441,9 +441,9 @@ class BotoVpcTestCase(BotoVpcTestCaseBase):
- describe_vpc = boto_vpc.describe(vpc_id=vpc.id, **conn_parameters)
-
- vpc_properties = dict(cidr_block=unicode(cidr_block),
-- is_default=None,
-+ is_default=False,
- state=u'available',
-- tags={'Name': 'test', 'test': 'testvalue'},
-+ tags={u'Name': u'test', u'test': u'testvalue'},
- dhcp_options_id=u'dopt-7a8b9c2d',
- instance_tenancy=u'default')
-
-diff --git a/tests/unit/states/pip_test.py b/tests/unit/states/pip_test.py
-index 6e7d083..9a83951 100644
---- a/tests/unit/states/pip_test.py
-+++ b/tests/unit/states/pip_test.py
-@@ -37,17 +37,6 @@ class PipStateTest(TestCase, integration.SaltReturnAssertsMixIn):
- def test_install_requirements_parsing(self):
- mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
- pip_list = MagicMock(return_value={'pep8': '1.3.3'})
-- with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
-- 'pip.list': pip_list}):
-- with patch.dict(pip_state.__opts__, {'test': True}):
-- ret = pip_state.installed('pep8=1.3.2')
-- self.assertSaltFalseReturn({'test': ret})
-- self.assertInSaltComment(
-- 'Invalid version specification in package pep8=1.3.2. '
-- '\'=\' is not supported, use \'==\' instead.',
-- {'test': ret}
-- )
--
- mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
- pip_list = MagicMock(return_value={'pep8': '1.3.3'})
- pip_install = MagicMock(return_value={'retcode': 0})
diff --git a/app-admin/salt/files/salt-2015.5.5-auth-tests.patch b/app-admin/salt/files/salt-2015.5.5-auth-tests.patch
deleted file mode 100644
index fa092d1f3ea..00000000000
--- a/app-admin/salt/files/salt-2015.5.5-auth-tests.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff --git a/tests/unit/auth_test.py b/tests/unit/auth_test.py
-index 10b77e9..c40f439 100644
---- a/tests/unit/auth_test.py
-+++ b/tests/unit/auth_test.py
-@@ -38,12 +38,12 @@ class LoadAuthTestCase(TestCase):
-
- # Test a case with valid params
- with patch('salt.utils.format_call') as format_call_mock:
-- expected_ret = call('fake_func_str', {
-+ expected_ret = [call('fake_func_str', {
- 'username': 'test_user',
- 'test_password': '',
- 'show_timeout': False,
- 'eauth': 'pam'
-- }, expected_extra_kws=auth.AUTH_INTERNAL_KEYWORDS)
-+ }, expected_extra_kws=auth.AUTH_INTERNAL_KEYWORDS)]
- ret = self.lauth.load_name(valid_eauth_load)
- format_call_mock.assert_has_calls(expected_ret)
-
-@@ -53,12 +53,12 @@ class LoadAuthTestCase(TestCase):
- 'test_password': '',
- 'eauth': 'pam'}
- with patch('salt.utils.format_call') as format_call_mock:
-- expected_ret = call('fake_groups_function_str', {
-+ expected_ret = [call('fake_groups_function_str', {
- 'username': 'test_user',
- 'test_password': '',
- 'show_timeout': False,
- 'eauth': 'pam'
-- }, expected_extra_kws=auth.AUTH_INTERNAL_KEYWORDS)
-+ }, expected_extra_kws=auth.AUTH_INTERNAL_KEYWORDS)]
- self.lauth.get_groups(valid_eauth_load)
- format_call_mock.assert_has_calls(expected_ret)
-
diff --git a/app-admin/salt/files/salt-2015.5.5-cron-tests.patch b/app-admin/salt/files/salt-2015.5.5-cron-tests.patch
deleted file mode 100644
index d0c4ffc92df..00000000000
--- a/app-admin/salt/files/salt-2015.5.5-cron-tests.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/tests/unit/modules/cron_test.py b/tests/unit/modules/cron_test.py
-index 017eabd..dac0122 100644
---- a/tests/unit/modules/cron_test.py
-+++ b/tests/unit/modules/cron_test.py
-@@ -573,10 +573,10 @@ class PsTestCase(TestCase):
- @patch('salt.modules.cron._write_cron_lines')
- @patch('salt.modules.cron.list_tab', new=MagicMock(return_value=STUB_SIMPLE_CRON_DICT))
- def test_set_special(self, write_cron_lines_mock):
-- expected_write_call = call('DUMMY_USER',
-+ expected_write_call = [call('DUMMY_USER',
- ['5 0 * * * /tmp/no_script.sh\n',
- '# Lines below here are managed by Salt, do not edit\n',
-- '@hourly echo Hi!\n'])
-+ '@hourly echo Hi!\n'])]
- ret = cron.set_special('DUMMY_USER', '@hourly', 'echo Hi!')
- write_cron_lines_mock.assert_has_calls(expected_write_call)
-
diff --git a/app-admin/salt/files/salt-2015.5.5-remove-buggy-tests.patch b/app-admin/salt/files/salt-2015.5.5-remove-buggy-tests.patch
deleted file mode 100644
index b36e35fb9a5..00000000000
--- a/app-admin/salt/files/salt-2015.5.5-remove-buggy-tests.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff --git a/tests/unit/modules/darwin_sysctl_test.py b/tests/unit/modules/darwin_sysctl_test.py
-index 51e8f23..36d005f 100644
---- a/tests/unit/modules/darwin_sysctl_test.py
-+++ b/tests/unit/modules/darwin_sysctl_test.py
-@@ -64,18 +64,6 @@ class DarwinSysctlTestCase(TestCase):
- 'net.inet.icmp.icmplim', 50), ret)
-
- @patch('os.path.isfile', MagicMock(return_value=False))
-- def test_persist_no_conf_failure(self):
-- '''
-- Tests adding of config file failure
-- '''
-- with patch('salt.utils.fopen', mock_open()) as m_open:
-- helper_open = m_open()
-- helper_open.write.assertRaises(CommandExecutionError,
-- darwin_sysctl.persist,
-- 'net.inet.icmp.icmplim',
-- 50, config=None)
--
-- @patch('os.path.isfile', MagicMock(return_value=False))
- def test_persist_no_conf_success(self):
- '''
- Tests successful add of config file when previously not one
-diff --git a/tests/unit/modules/linux_sysctl_test.py b/tests/unit/modules/linux_sysctl_test.py
-index 08fc80f..c6e40b8 100644
---- a/tests/unit/modules/linux_sysctl_test.py
-+++ b/tests/unit/modules/linux_sysctl_test.py
-@@ -82,18 +82,6 @@ class LinuxSysctlTestCase(TestCase):
- 'net.ipv4.ip_forward', 1), ret)
-
- @patch('os.path.isfile', MagicMock(return_value=False))
-- def test_persist_no_conf_failure(self):
-- '''
-- Tests adding of config file failure
-- '''
-- with patch('salt.utils.fopen', mock_open()) as m_open:
-- helper_open = m_open()
-- helper_open.write.assertRaises(CommandExecutionError,
-- linux_sysctl.persist,
-- 'net.ipv4.ip_forward',
-- 1, config=None)
--
-- @patch('os.path.isfile', MagicMock(return_value=False))
- def test_persist_no_conf_success(self):
- '''
- Tests successful add of config file when previously not one
diff --git a/app-admin/salt/files/salt-2015.5.7-tmpdir.patch b/app-admin/salt/files/salt-2015.5.7-tmpdir.patch
deleted file mode 100644
index 8a19c32e0f7..00000000000
--- a/app-admin/salt/files/salt-2015.5.7-tmpdir.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/tests/unit/modules/grains_test.py b/tests/unit/modules/grains_test.py
-index 3473c03..ea37d66 100644
---- a/tests/unit/modules/grains_test.py
-+++ b/tests/unit/modules/grains_test.py
-@@ -1,6 +1,8 @@
- # -*- coding: utf-8 -*-
-
- import copy
-+import os.path
-+import tempfile
-
- # Import Salt Testing libs
- from salttesting import TestCase, skipIf
-@@ -20,8 +22,8 @@ from salt.modules import grains as grainsmod
- from salt.utils import dictupdate
-
- grainsmod.__opts__ = {
-- 'conf_file': '/tmp/__salt_test_grains',
-- 'cachedir': '/tmp/__salt_test_grains_cache_dir'
-+ 'conf_file': os.path.join(tempfile.gettempdir(), '__salt_test_grains'),
-+ 'cachedir': os.path.join(tempfile.gettempdir(), '__salt_test_grains_cache_dir')
- }
-
- grainsmod.__salt__ = {}
-diff --git a/tests/unit/states/archive_test.py b/tests/unit/states/archive_test.py
-index 3cfb2f0..b3f3bee 100644
---- a/tests/unit/states/archive_test.py
-+++ b/tests/unit/states/archive_test.py
-@@ -69,7 +69,7 @@ class ArchiveTest(TestCase):
- 'cmd.run_all': mock_run}):
- filename = os.path.join(
- tmp_dir,
-- 'files/test/_tmp_test_archive_.tar'
-+ 'files/test/' + tempfile.gettempdir().replace('/', '_') + '_test_archive_.tar'
- )
- for test_opts, ret_opts in zip(test_tar_opts, ret_tar_opts):
- ret = archive.extracted(tmp_dir,
diff --git a/app-admin/salt/files/salt-2015.8.0-remove-buggy-tests.patch b/app-admin/salt/files/salt-2015.8.0-remove-buggy-tests.patch
deleted file mode 100644
index 92ab0624e59..00000000000
--- a/app-admin/salt/files/salt-2015.8.0-remove-buggy-tests.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-diff --git a/tests/unit/modules/mount_test.py b/tests/unit/modules/mount_test.py
-index 282539d..c88a7a8 100644
---- a/tests/unit/modules/mount_test.py
-+++ b/tests/unit/modules/mount_test.py
-@@ -103,12 +103,6 @@ class MountTestCase(TestCase):
- self.assertTrue(mount.rm_fstab('name', 'device'))
-
- mock = MagicMock(return_value={'name': 'name'})
-- with patch.object(mount, 'fstab', mock):
-- with patch('salt.utils.fopen', mock_open()) as m_open:
-- helper_open = m_open()
-- helper_open.write.assertRaises(CommandExecutionError,
-- mount.rm_fstab,
-- config=None)
-
- def test_set_fstab(self):
- '''
-@@ -143,12 +137,6 @@ class MountTestCase(TestCase):
- self.assertTrue(mount.rm_automaster('name', 'device'))
-
- mock = MagicMock(return_value={'name': 'name'})
-- with patch.object(mount, 'fstab', mock):
-- with patch('salt.utils.fopen', mock_open()) as m_open:
-- helper_open = m_open()
-- helper_open.write.assertRaises(CommandExecutionError,
-- mount.rm_automaster,
-- 'name', 'device')
-
- def test_set_automaster(self):
- '''
-diff --git a/tests/unit/modules/puppet_test.py b/tests/unit/modules/puppet_test.py
-index 6a43fd4..3be039c 100644
---- a/tests/unit/modules/puppet_test.py
-+++ b/tests/unit/modules/puppet_test.py
-@@ -91,10 +91,6 @@ class PuppetTestCase(TestCase):
- with patch('salt.utils.fopen', mock_open()):
- self.assertTrue(puppet.disable())
-
-- with patch('salt.utils.fopen', mock_open()) as m_open:
-- helper_open = m_open()
-- helper_open.write.assertRaises(CommandExecutionError,
-- puppet.disable)
-
- def test_status(self):
- '''
-@@ -154,10 +150,6 @@ class PuppetTestCase(TestCase):
- mock_open(read_data="resources: 1")):
- self.assertDictEqual(puppet.summary(), {'resources': 1})
-
-- with patch('salt.utils.fopen', mock_open()) as m_open:
-- helper_open = m_open()
-- helper_open.write.assertRaises(CommandExecutionError,
-- puppet.summary)
-
- def test_plugin_sync(self):
- '''
diff --git a/app-admin/salt/files/salt-2015.8.10-remove-failing-boto-test.patch b/app-admin/salt/files/salt-2015.8.10-remove-failing-boto-test.patch
deleted file mode 100644
index 5a4d273d784..00000000000
--- a/app-admin/salt/files/salt-2015.8.10-remove-failing-boto-test.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff --git a/tests/unit/modules/boto_secgroup_test.py b/tests/unit/modules/boto_secgroup_test.py
-index f1c6bb1..07fd8ec 100644
---- a/tests/unit/modules/boto_secgroup_test.py
-+++ b/tests/unit/modules/boto_secgroup_test.py
-@@ -192,30 +192,6 @@ class BotoSecgroupTestCase(TestCase):
- **conn_parameters)
- self.assertEqual(group_vpc.id, retrieved_group_id)
-
-- @mock_ec2
-- def test_get_config_single_rule_group_name(self):
-- '''
-- tests return of 'config' when given group name. get_config returns an OrderedDict.
-- '''
-- group_name = _random_group_name()
-- ip_protocol = u'tcp'
-- from_port = 22
-- to_port = 22
-- cidr_ip = u'0.0.0.0/0'
-- rules_egress = [{'to_port': -1, 'from_port': -1, 'ip_protocol': u'-1', 'cidr_ip': u'0.0.0.0/0'}]
--
-- conn = boto.ec2.connect_to_region(region, **boto_conn_parameters)
-- group = conn.create_security_group(name=group_name, description=group_name)
-- group.authorize(ip_protocol=ip_protocol, from_port=from_port, to_port=to_port, cidr_ip=cidr_ip)
-- # setup the expected get_config result
-- expected_get_config_result = OrderedDict([('name', group.name), ('group_id', group.id), ('owner_id', u'111122223333'),
-- ('description', group.description),
-- ('rules', [{'to_port': to_port, 'from_port': from_port,
-- 'ip_protocol': ip_protocol, 'cidr_ip': cidr_ip}]),
-- ('rules_egress', rules_egress)])
-- secgroup_get_config_result = boto_secgroup.get_config(group_id=group.id, **conn_parameters)
-- self.assertEqual(expected_get_config_result, secgroup_get_config_result)
--
- @skipIf(True, 'test skipped due to error in moto return - fixed in '
- 'https://github.com/spulec/moto/commit/cc0166964371f7b5247a49d45637a8f936ccbe6f')
- @mock_ec2
diff --git a/app-admin/salt/files/salt-2015.8.13-failing-gateway-tests.patch b/app-admin/salt/files/salt-2015.8.13-failing-gateway-tests.patch
deleted file mode 100644
index 7d8512b14ef..00000000000
--- a/app-admin/salt/files/salt-2015.8.13-failing-gateway-tests.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-diff --git a/tests/unit/states/boto_vpc_test.py b/tests/unit/states/boto_vpc_test.py
-index 53b6a24e4d..96b5630627 100644
---- a/tests/unit/states/boto_vpc_test.py
-+++ b/tests/unit/states/boto_vpc_test.py
-@@ -179,16 +179,6 @@ class BotoVpcResourceTestCaseMixin(BotoVpcTestCaseMixin):
- self.assertTrue(exists)
-
- @mock_ec2
-- def test_present_when_resource_exists(self):
-- vpc = self._create_vpc(name='test')
-- resource = self._create_resource(vpc_id=vpc.id, name='test')
-- with patch.dict('salt.utils.boto.__salt__', funcs):
-- resource_present_result = salt_states['boto_vpc.{0}_present'.format(self.resource_type)](
-- name='test', vpc_name='test', **self.extra_kwargs)
-- self.assertTrue(resource_present_result['result'])
-- self.assertEqual(resource_present_result['changes'], {})
--
-- @mock_ec2
- @skipIf(True, 'Disabled pending https://github.com/spulec/moto/issues/493')
- def test_present_with_failure(self):
- vpc = self._create_vpc(name='test')
-@@ -210,18 +200,6 @@ class BotoVpcResourceTestCaseMixin(BotoVpcTestCaseMixin):
- self.assertEqual(resource_absent_result['changes'], {})
-
- @mock_ec2
-- def test_absent_when_resource_exists(self):
-- vpc = self._create_vpc(name='test')
-- self._create_resource(vpc_id=vpc.id, name='test')
--
-- with patch.dict('salt.utils.boto.__salt__', funcs):
-- resource_absent_result = salt_states['boto_vpc.{0}_absent'.format(self.resource_type)]('test')
-- self.assertTrue(resource_absent_result['result'])
-- self.assertEqual(resource_absent_result['changes']['new'][self.resource_type], None)
-- exists = funcs['boto_vpc.resource_exists'](self.resource_type, 'test').get('exists')
-- self.assertFalse(exists)
--
-- @mock_ec2
- @skipIf(True, 'Disabled pending https://github.com/spulec/moto/issues/493')
- def test_absent_with_failure(self):
- vpc = self._create_vpc(name='test')
-@@ -293,28 +271,3 @@ class BotoVpcRouteTableTestCase(BotoVpcStateTestCaseBase, BotoVpcResourceTestCas
-
- new_subnets = changes['new']['subnets_associations']
- self.assertEqual(new_subnets[0]['subnet_id'], subnet2.id)
--
-- @mock_ec2
-- def test_present_with_routes(self):
-- vpc = self._create_vpc(name='test')
-- igw = self._create_internet_gateway(name='test', vpc_id=vpc.id)
--
-- route_table_present_result = salt_states['boto_vpc.route_table_present'](
-- name='test', vpc_name='test', routes=[{'destination_cidr_block': '0.0.0.0/0',
-- 'gateway_id': igw.id},
-- {'destination_cidr_block': '10.0.0.0/24',
-- 'gateway_id': 'local'}])
-- routes = [x['gateway_id'] for x in route_table_present_result['changes']['new']['routes']]
--
-- self.assertEqual(set(routes), set(['local', igw.id]))
--
-- route_table_present_result = salt_states['boto_vpc.route_table_present'](
-- name='test', vpc_name='test', routes=[{'destination_cidr_block': '10.0.0.0/24',
-- 'gateway_id': 'local'}])
--
-- changes = route_table_present_result['changes']
--
-- old_routes = [x['gateway_id'] for x in changes['old']['routes']]
-- self.assertEqual(set(routes), set(old_routes))
--
-- self.assertEqual(changes['new']['routes'][0]['gateway_id'], 'local')
diff --git a/app-admin/salt/files/salt-2015.8.13-sanitize-minion-name.patch b/app-admin/salt/files/salt-2015.8.13-sanitize-minion-name.patch
deleted file mode 100644
index df9e0f66d00..00000000000
--- a/app-admin/salt/files/salt-2015.8.13-sanitize-minion-name.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From aa87d67258a5b6742fc53d06c7bdac0f643bc9f1 Mon Sep 17 00:00:00 2001
-From: Ch3LL <megan.wilhite@gmail.com>
-Date: Tue, 1 Aug 2017 13:44:32 -0400
-Subject: [PATCH] Add clean_id function to salt.utils.verify.py
-
----
- salt/utils/verify.py | 11 ++++++++++-
- 1 file changed, 10 insertions(+), 1 deletion(-)
-
-diff --git a/salt/utils/verify.py b/salt/utils/verify.py
-index 5cac0fa651b..a3dc67db336 100644
---- a/salt/utils/verify.py
-+++ b/salt/utils/verify.py
-@@ -484,12 +484,21 @@ def clean_path(root, path, subdir=False):
- return ''
-
-
-+def clean_id(id_):
-+ '''
-+ Returns if the passed id is clean.
-+ '''
-+ if re.search(r'\.\.{sep}'.format(sep=os.sep), id_):
-+ return False
-+ return True
-+
-+
- def valid_id(opts, id_):
- '''
- Returns if the passed id is valid
- '''
- try:
-- return bool(clean_path(opts['pki_dir'], id_))
-+ return bool(clean_path(opts['pki_dir'], id_)) and clean_id(id_)
- except (AttributeError, KeyError) as e:
- return False
-
diff --git a/app-admin/salt/files/salt-2015.8.2-tmpdir.patch b/app-admin/salt/files/salt-2015.8.2-tmpdir.patch
deleted file mode 100644
index 871551e0e50..00000000000
--- a/app-admin/salt/files/salt-2015.8.2-tmpdir.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-diff --git a/tests/unit/modules/qemu_nbd_test.py b/tests/unit/modules/qemu_nbd_test.py
-index 615e6b5..fbd24aa 100644
---- a/tests/unit/modules/qemu_nbd_test.py
-+++ b/tests/unit/modules/qemu_nbd_test.py
-@@ -77,6 +77,7 @@ class QemuNbdTestCase(TestCase):
- Test if it mount the named image via qemu-nbd
- and return the mounted roots
- '''
-+ tmpdir = os.environ.get('TMPDIR', '/tmp')
- mock = MagicMock(return_value=True)
- with patch.dict(qemu_nbd.__salt__, {'cmd.run': mock}):
- self.assertEqual(qemu_nbd.init('/srv/image.qcow2'), '')
-@@ -89,7 +90,7 @@ class QemuNbdTestCase(TestCase):
- 'mount.mount': mock,
- 'cmd.retcode': MagicMock(side_effect=[1, 0])}):
- self.assertDictEqual(qemu_nbd.init('/srv/image.qcow2'),
-- {'/tmp/nbd/nbd0/nbd0': '/dev/nbd0'})
-+ {os.path.join(tmpdir, 'nbd/nbd0/nbd0'): '/dev/nbd0'})
-
- # 'clear' function tests: 1
-
-diff --git a/tests/unit/states/archive_test.py b/tests/unit/states/archive_test.py
-index 63e4a53..20b196f 100644
---- a/tests/unit/states/archive_test.py
-+++ b/tests/unit/states/archive_test.py
-@@ -26,7 +26,7 @@ from salt.ext.six.moves import zip # pylint: disable=import-error,redefined-bui
-
- # Globals
- archive.__salt__ = {}
--archive.__opts__ = {"cachedir": "/tmp", "test": False}
-+archive.__opts__ = {"cachedir": os.environ.get('TMPDIR', "/tmp"), "test": False}
- archive.__env__ = 'test'
-
-
-@@ -75,7 +75,7 @@ class ArchiveTestCase(TestCase):
- 'cmd.run_all': mock_run}):
- filename = os.path.join(
- tmp_dir,
-- 'files/test/_tmp_test_archive_.tar'
-+ 'files/test/' + tempfile.gettempdir().replace('/', '_') + '_test_archive_.tar'
- )
- for test_opts, ret_opts in zip(test_tar_opts, ret_tar_opts):
- ret = archive.extracted(tmp_dir,
-diff --git a/tests/unit/utils/context_test.py b/tests/unit/utils/context_test.py
-index 71e4330..d6f3f30 100644
---- a/tests/unit/utils/context_test.py
-+++ b/tests/unit/utils/context_test.py
-@@ -18,7 +18,7 @@ import salt.payload
- import salt.utils
-
- __context__ = {'a': 'b'}
--__opts__ = {'cachedir': '/tmp'}
-+__opts__ = {'cachedir': os.environ.get('TMPDIR', '/tmp')}
-
-
- @skipIf(NO_MOCK, NO_MOCK_REASON)
diff --git a/app-admin/salt/files/salt-2016.3.4-dont-test-ordering.patch b/app-admin/salt/files/salt-2016.3.4-dont-test-ordering.patch
deleted file mode 100644
index c27227571ad..00000000000
--- a/app-admin/salt/files/salt-2016.3.4-dont-test-ordering.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/tests/unit/modules/inspect_collector_test.py b/tests/unit/modules/inspect_collector_test.py
-index 9d2fa3ada7..710bbd75a5 100644
---- a/tests/unit/modules/inspect_collector_test.py
-+++ b/tests/unit/modules/inspect_collector_test.py
-@@ -36,28 +36,6 @@ class InspectorCollectorTestCase(TestCase):
- self.assertEqual(inspector.dbfile, '/foo/cache/_minion_collector.db')
- self.assertEqual(inspector.pidfile, '/foo/pid/bar.pid')
-
-- def test_file_tree(self):
-- '''
-- Test file tree.
--
-- :return:
-- '''
--
-- inspector = Inspector(cachedir='/test', piddir='/test', pidfilename='bar.pid')
-- tree_root = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'inspectlib', 'tree_test')
-- expected_tree = (['/a/a/dummy.a', '/a/b/dummy.b', '/b/b.1', '/b/b.2', '/b/b.3'],
-- ['/a', '/a/a', '/a/b', '/a/c', '/b', '/c'],
-- ['/a/a/dummy.ln.a', '/a/b/dummy.ln.b', '/a/c/b.1', '/b/b.4',
-- '/b/b.5', '/c/b.1', '/c/b.2', '/c/b.3'])
-- tree_result = []
-- for chunk in inspector._get_all_files(tree_root):
-- buff = []
-- for pth in chunk:
-- buff.append(pth.replace(tree_root, ''))
-- tree_result.append(buff)
-- tree_result = tuple(tree_result)
-- self.assertEqual(expected_tree, tree_result)
--
- def test_get_unmanaged_files(self):
- '''
- Test get_unmanaged_files.
diff --git a/app-admin/salt/files/salt-2016.3.5-tmpdir.patch b/app-admin/salt/files/salt-2016.3.5-tmpdir.patch
deleted file mode 100644
index dce4f09f2a0..00000000000
--- a/app-admin/salt/files/salt-2016.3.5-tmpdir.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-diff --git a/tests/unit/modules/qemu_nbd_test.py b/tests/unit/modules/qemu_nbd_test.py
-index 615e6b5670..fbd24aab86 100644
---- a/tests/unit/modules/qemu_nbd_test.py
-+++ b/tests/unit/modules/qemu_nbd_test.py
-@@ -77,6 +77,7 @@ class QemuNbdTestCase(TestCase):
- Test if it mount the named image via qemu-nbd
- and return the mounted roots
- '''
-+ tmpdir = os.environ.get('TMPDIR', '/tmp')
- mock = MagicMock(return_value=True)
- with patch.dict(qemu_nbd.__salt__, {'cmd.run': mock}):
- self.assertEqual(qemu_nbd.init('/srv/image.qcow2'), '')
-@@ -89,7 +90,7 @@ class QemuNbdTestCase(TestCase):
- 'mount.mount': mock,
- 'cmd.retcode': MagicMock(side_effect=[1, 0])}):
- self.assertDictEqual(qemu_nbd.init('/srv/image.qcow2'),
-- {'/tmp/nbd/nbd0/nbd0': '/dev/nbd0'})
-+ {os.path.join(tmpdir, 'nbd/nbd0/nbd0'): '/dev/nbd0'})
-
- # 'clear' function tests: 1
-
-diff --git a/tests/unit/states/archive_test.py b/tests/unit/states/archive_test.py
-index e699362d8a..c7c7e8a965 100644
---- a/tests/unit/states/archive_test.py
-+++ b/tests/unit/states/archive_test.py
-@@ -25,7 +25,7 @@ from salt.ext.six.moves import zip # pylint: disable=import-error,redefined-bui
-
- # Globals
- archive.__salt__ = {}
--archive.__opts__ = {"cachedir": "/tmp", "test": False}
-+archive.__opts__ = {"cachedir": os.environ.get('TMPDIR', "/tmp"), "test": False}
- archive.__env__ = 'test'
-
-
-diff --git a/tests/unit/utils/context_test.py b/tests/unit/utils/context_test.py
-index 5249d56747..a27ee9ab61 100644
---- a/tests/unit/utils/context_test.py
-+++ b/tests/unit/utils/context_test.py
-@@ -18,7 +18,7 @@ import salt.payload
- import salt.utils
-
- __context__ = {'a': 'b'}
--__opts__ = {'cachedir': '/tmp'}
-+__opts__ = {'cachedir': os.environ.get('TMPDIR', '/tmp')}
-
-
- @skipIf(NO_MOCK, NO_MOCK_REASON)
diff --git a/app-admin/salt/salt-2016.11.8-r1.ebuild b/app-admin/salt/salt-2016.11.8-r1.ebuild
deleted file mode 100644
index 9376c048826..00000000000
--- a/app-admin/salt/salt-2016.11.8-r1.ebuild
+++ /dev/null
@@ -1,149 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python2_7 )
-
-inherit eutils systemd distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="https://saltstack.com/community/"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
- KEYWORDS=""
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~x86 ~amd64"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
-IUSE+=" openssl portage profile redis selinux test timelib raet +zeromq vim-syntax"
-
-RDEPEND="sys-apps/pciutils
- dev-python/jinja[${PYTHON_USEDEP}]
- >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/markupsafe[${PYTHON_USEDEP}]
- >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
- virtual/python-futures[${PYTHON_USEDEP}]
- libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
- mako? ( dev-python/mako[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
- openssl? (
- dev-libs/openssl:*[-bindist]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
- raet? (
- >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
- >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
- )
- zeromq? (
- >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
- mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
- keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
- mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
- redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
- selinux? ( sec-policy/selinux-salt )
- timelib? ( dev-python/timelib[${PYTHON_USEDEP}] )
- nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
- neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
- gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
- profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/timelib[${PYTHON_USEDEP}]
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- !x86? ( dev-python/boto3[${PYTHON_USEDEP}] )
- >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
- >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
- >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
- ${RDEPEND}
- )"
-
-DOCS=( README.rst AUTHORS )
-
-REQUIRED_USE="|| ( raet zeromq )"
-RESTRICT="x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2016.11.0-tmpdir.patch"
- "${FILESDIR}/${PN}-2016.3.1-dont-realpath-tmpdir.patch"
- "${FILESDIR}/${PN}-2016.3.4-test-nonexist-dirs.patch"
- "${FILESDIR}/${PN}-2016.11.0-remove-file-tree-test.patch"
- "${FILESDIR}/${PN}-2016.11.0-broken-tests.patch"
-)
-
-python_prepare() {
- # this test fails because it trys to "pip install distribute"
- rm tests/unit/{modules,states}/zcbuildout_test.py \
- tests/unit/modules/{rh_ip,win_network,random_org}_test.py || die
-
- # https://github.com/saltstack/salt/issues/39095
- rm tests/unit/utils/parsers_test.py
-
- # apparently libcloud does not know about this?
- rm tests/unit/cloud/clouds/dimensiondata_test.py || die
-
- # seriously? "ValueError: Missing (or not readable) key file: '/home/dany/PRIVKEY.pem'"
- rm tests/unit/cloud/clouds/gce_test.py || die
-
- # allow the use of the renamed msgpack
- sed -i '/^msgpack/d' requirements/base.txt || die
-}
-
-python_install_all() {
- local svc
- USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
- for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
- newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
- systemd_dounit "${FILESDIR}"/salt-${svc}.service
- done
-
- insinto /etc/${PN}
- doins -r conf/*
-}
-
-python_test() {
- local tempdir
- # testsuite likes lots of files
- ulimit -n 3072 || die
-
- # ${T} is too long a path for the tests to work
- tempdir="$(mktemp -dup /tmp salt-XXX)"
- mkdir "${T}/$(basename "${tempdir}")"
-
- (
- cleanup() { rm -f "${tempdir}"; }
- trap cleanup EXIT
-
- addwrite "${tempdir}"
- ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}"
-
- USE_SETUPTOOLS=1 SHELL="/bin/bash" \
- TMPDIR="${tempdir}" \
- ${EPYTHON} tests/runtests.py \
- --unit-tests --no-report --verbose
-
- ) || die "testing failed"
-}
diff --git a/app-admin/salt/salt-2017.7.2-r2.ebuild b/app-admin/salt/salt-2017.7.2-r2.ebuild
deleted file mode 100644
index 19e8be7ea3d..00000000000
--- a/app-admin/salt/salt-2017.7.2-r2.ebuild
+++ /dev/null
@@ -1,143 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python2_7 )
-
-inherit eutils systemd distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="http://saltstack.org/"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
- KEYWORDS=""
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~x86 ~amd64"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
-IUSE+=" openssl portage profile redis selinux test timelib raet +zeromq vim-syntax"
-
-RDEPEND="sys-apps/pciutils
- dev-python/jinja[${PYTHON_USEDEP}]
- >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/markupsafe[${PYTHON_USEDEP}]
- >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
- virtual/python-futures[${PYTHON_USEDEP}]
- libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
- mako? ( dev-python/mako[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
- openssl? (
- dev-libs/openssl:*[-bindist]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
- raet? (
- >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
- >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
- )
- zeromq? (
- >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
- mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
- keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
- mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
- redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
- selinux? ( sec-policy/selinux-salt )
- timelib? ( dev-python/timelib[${PYTHON_USEDEP}] )
- nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
- neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
- gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
- profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-salt[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/timelib[${PYTHON_USEDEP}]
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- !x86? ( >=dev-python/boto3-1.2.1[${PYTHON_USEDEP}] )
- >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
- >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
- >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
- ${RDEPEND}
- )"
-
-DOCS=( README.rst AUTHORS )
-
-REQUIRED_USE="|| ( raet zeromq )"
-RESTRICT="x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/salt-2017.7.0-dont-realpath-tmpdir.patch"
- "${FILESDIR}/salt-2017.7.2-fix_disk_format.patch"
-)
-
-python_prepare() {
- rm tests/unit/{test_zypp_plugins.py,utils/test_extend.py} || die
- rm tests/unit/modules/test_boto_{vpc,secgroup,elb}.py || die
- rm tests/unit/states/test_boto_vpc.py || die
- # allow the use of the renamed msgpack
- sed -i '/^msgpack/d' requirements/base.txt || die
-}
-
-python_install_all() {
- local svc
- USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
- for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
- newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
- systemd_dounit "${FILESDIR}"/salt-${svc}.service
- done
-
- insinto /etc/${PN}
- doins -r conf/*
-}
-
-python_test() {
- local tempdir
- # testsuite likes lots of files
- ulimit -n 3072 || die
-
- # ${T} is too long a path for the tests to work
- tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
- mkdir "${T}/$(basename "${tempdir}")"
- mkdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
-
- (
- cleanup() {
- rm -f "${tempdir}"
- rmdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
- }
-
- trap cleanup EXIT
-
- addwrite "${tempdir}"
- ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}"
-
- USE_SETUPTOOLS=1 SHELL="/bin/bash" \
- TMPDIR="${tempdir}" \
- ${EPYTHON} tests/runtests.py \
- --unit-tests --no-report --verbose
-
- ) || die "testing failed"
-}
diff --git a/app-admin/salt/salt-2017.7.4-r2.ebuild b/app-admin/salt/salt-2017.7.4-r2.ebuild
deleted file mode 100644
index 025aeabac2d..00000000000
--- a/app-admin/salt/salt-2017.7.4-r2.ebuild
+++ /dev/null
@@ -1,150 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python2_7 )
-
-inherit eutils systemd distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="http://saltstack.org/"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
- KEYWORDS=""
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~x86 ~amd64"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
-IUSE+=" openssl portage profile redis selinux test timelib raet +zeromq vim-syntax"
-
-RDEPEND="sys-apps/pciutils
- dev-python/jinja[${PYTHON_USEDEP}]
- >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/markupsafe[${PYTHON_USEDEP}]
- >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
- <www-servers/tornado-5.0[${PYTHON_USEDEP}]
- virtual/python-futures[${PYTHON_USEDEP}]
- libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
- mako? ( dev-python/mako[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
- openssl? (
- dev-libs/openssl:*[-bindist]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
- raet? (
- >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
- >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
- )
- zeromq? (
- >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
- mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- portage? (
- || (
- sys-apps/portage[${PYTHON_USEDEP}]
- sys-apps/portage-mgorny[${PYTHON_USEDEP}]
- )
- )
- keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
- mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
- redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
- selinux? ( sec-policy/selinux-salt )
- timelib? ( dev-python/timelib[${PYTHON_USEDEP}] )
- nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
- neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
- gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
- profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-salt[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/timelib[${PYTHON_USEDEP}]
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- !x86? ( >=dev-python/boto3-1.2.1[${PYTHON_USEDEP}] )
- >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
- >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
- >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
- ${RDEPEND}
- )"
-
-DOCS=( README.rst AUTHORS )
-
-REQUIRED_USE="|| ( raet zeromq )"
-RESTRICT="x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2017.7.0-dont-realpath-tmpdir.patch"
- "${FILESDIR}/${PN}-2017.7.3-tests.patch"
-)
-
-python_prepare() {
- rm tests/unit/{test_zypp_plugins.py,utils/test_extend.py} || die
- rm tests/unit/modules/test_boto_{vpc,secgroup,elb}.py || die
- rm tests/unit/states/test_boto_vpc.py || die
- rm tests/unit/modules/test_kubernetes.py || die
- # allow the use of the renamed msgpack
- sed -i '/^msgpack/d' requirements/base.txt || die
-}
-
-python_install_all() {
- local svc
- USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
- for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
- newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
- systemd_dounit "${FILESDIR}"/salt-${svc}.service
- done
-
- insinto /etc/${PN}
- doins -r conf/*
-}
-
-python_test() {
- local tempdir
- # testsuite likes lots of files
- ulimit -n 3072 || die
-
- # ${T} is too long a path for the tests to work
- tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
- mkdir "${T}/$(basename "${tempdir}")"
- mkdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
-
- (
- cleanup() {
- rm -f "${tempdir}"
- rmdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
- }
-
- trap cleanup EXIT
-
- addwrite "${tempdir}"
- ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}"
-
- USE_SETUPTOOLS=1 SHELL="/bin/bash" \
- TMPDIR="${tempdir}" \
- ${EPYTHON} tests/runtests.py \
- --unit-tests --no-report --verbose
-
- ) || die "testing failed"
-}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2018-07-03 21:18 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2018-07-03 21:18 UTC (permalink / raw
To: gentoo-commits
commit: 166dbbbb08846bbbb3156c120c070a1ba1daa318
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 3 20:25:57 2018 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Jul 3 21:18:13 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=166dbbbb
app-admin/salt: Version bump to 2018.3.2, add python3.6
Move to dev-python/pycryptodome
Closes: https://bugs.gentoo.org/659026
Closes: https://bugs.gentoo.org/640252
Closes: https://bugs.gentoo.org/652844
Bug: https://bugs.gentoo.org/611576
Package-Manager: Portage-2.3.41, Repoman-2.3.9
app-admin/salt/Manifest | 1 +
...salt-2018.3.2-skip-zeromq-test-that-hangs.patch | 79 +++++++++++
app-admin/salt/salt-2018.3.2.ebuild | 155 +++++++++++++++++++++
3 files changed, 235 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 56db125c7c7..643d0900419 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,3 +1,4 @@
DIST salt-2016.11.9.tar.gz 10062996 BLAKE2B 5176d04d07a69de21c9c136c201d334614c5675fd78e306a0160fae829b633441cd859f4ba1a0822dfbb9ae716475c53f6eb058187d4acc8a5770dd4ceace577 SHA512 896fd27c111e926e246b51d00b69d41c8f4d25ec0c034c9ff3dc5414f5e93592fd637cdeaecf02b3b98a4e5a7ce478bfda86b15497961078374608d76516593d
DIST salt-2017.7.5.tar.gz 11043026 BLAKE2B 9cae4e6ca3b0bac0dc0b9b9a5ae01e0bfb8e8b899aa029b324ac10c8c84024bbc419ace068cd0d2bff84ec6ddf1d13faf68ce34c68c19892c700c38e81da8c7c SHA512 684ffde7d98c73349b386c94de3d9fc09631a78c5d74e37e6dfd90fbb0c94decc529f56b1eba1559ce9932b16083f88e6495ff6cdf071b32a23028e9db47cc3d
DIST salt-2018.3.0.tar.gz 13448567 BLAKE2B 9048f9e507ded238bfd54d0aabfefb56522b20ba2479c3bf5aefc47fff0b6ce516709ad6e9109441941a60596d4f06a43c1448a149225f3f87715327a190d313 SHA512 3d64a4d12d4ff7effe644b682b138d8f49fd00523e9cfe3e80bebff9c944a089fb41cbac92e63139633425f49c1eebeb99145290a0bdd1b4f306da86abe9b2e5
+DIST salt-2018.3.2.tar.gz 12996445 BLAKE2B 8411fb0891e23ce8e35157662a0a45c0c5b13b62f3fd21cc4bbe5152f923a98b27cb5bee4fb8cb3e6ec5c9daed1afa27baf4b570b94f9f40eddc0891f72829e9 SHA512 142ebe13638d7e6dd0aecc9f0325002d30e115fe8688f5f74cbeb7ff21020327d65ded0dcd845e55362b97568b696887fa22243d66d5eadef65f97152d4775d3
diff --git a/app-admin/salt/files/salt-2018.3.2-skip-zeromq-test-that-hangs.patch b/app-admin/salt/files/salt-2018.3.2-skip-zeromq-test-that-hangs.patch
new file mode 100644
index 00000000000..7b94fafd447
--- /dev/null
+++ b/app-admin/salt/files/salt-2018.3.2-skip-zeromq-test-that-hangs.patch
@@ -0,0 +1,79 @@
+diff --git a/tests/unit/transport/test_zeromq.py b/tests/unit/transport/test_zeromq.py
+index ccb337462e..97d2962e5e 100644
+--- a/tests/unit/transport/test_zeromq.py
++++ b/tests/unit/transport/test_zeromq.py
+@@ -45,6 +45,10 @@ ON_SUSE = False
+ if 'SuSE' in linux_distribution(full_distribution_name=False):
+ ON_SUSE = True
+
++ON_GENTOO = False
++if 'Gentoo' in linux_distribution(full_distribution_name=False):
++ ON_GENTOO = True
++
+
+ class BaseZMQReqCase(TestCase, AdaptedConfigurationTestCaseMixin):
+ '''
+@@ -122,63 +126,6 @@ class BaseZMQReqCase(TestCase, AdaptedConfigurationTestCaseMixin):
+ return payload, {'fun': 'send_clear'}
+
+
+-class ClearReqTestCases(BaseZMQReqCase, ReqChannelMixin):
+- '''
+- Test all of the clear msg stuff
+- '''
+- def setUp(self):
+- self.channel = salt.transport.client.ReqChannel.factory(self.minion_config, crypt='clear')
+-
+- def tearDown(self):
+- del self.channel
+-
+- @classmethod
+- @tornado.gen.coroutine
+- def _handle_payload(cls, payload):
+- '''
+- TODO: something besides echo
+- '''
+- raise tornado.gen.Return((payload, {'fun': 'send_clear'}))
+-
+-
+-@flaky
+-@skipIf(ON_SUSE, 'Skipping until https://github.com/saltstack/salt/issues/32902 gets fixed')
+-class AESReqTestCases(BaseZMQReqCase, ReqChannelMixin):
+- def setUp(self):
+- self.channel = salt.transport.client.ReqChannel.factory(self.minion_config)
+-
+- def tearDown(self):
+- del self.channel
+-
+- @classmethod
+- @tornado.gen.coroutine
+- def _handle_payload(cls, payload):
+- '''
+- TODO: something besides echo
+- '''
+- raise tornado.gen.Return((payload, {'fun': 'send'}))
+-
+- # TODO: make failed returns have a specific framing so we can raise the same exception
+- # on encrypted channels
+- #
+- #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+- #
+- # WARNING: This test will fail randomly on any system with > 1 CPU core!!!
+- #
+- #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+- def test_badload(self):
+- '''
+- Test a variety of bad requests, make sure that we get some sort of error
+- '''
+- # TODO: This test should be re-enabled when Jenkins moves to C7.
+- # Once the version of salt-testing is increased to something newer than the September
+- # release of salt-testing, the @flaky decorator should be applied to this test.
+- msgs = ['', [], tuple()]
+- for msg in msgs:
+- with self.assertRaises(salt.exceptions.AuthenticationError):
+- ret = self.channel.send(msg, timeout=5)
+-
+-
+ class BaseZMQPubCase(AsyncTestCase, AdaptedConfigurationTestCaseMixin):
+ '''
+ Test the req server/client pair
diff --git a/app-admin/salt/salt-2018.3.2.ebuild b/app-admin/salt/salt-2018.3.2.ebuild
new file mode 100644
index 00000000000..fff0c84f2ac
--- /dev/null
+++ b/app-admin/salt/salt-2018.3.2.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_6 )
+
+inherit eutils systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="http://saltstack.org/"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~x86 ~amd64"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
+IUSE+=" openssl portage profile redis selinux test timelib raet +zeromq vim-syntax"
+
+RDEPEND="sys-apps/pciutils
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/libnacl[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
+ <www-servers/tornado-5.0[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
+ openssl? (
+ dev-libs/openssl:*[-bindist]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ zeromq? (
+ >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
+ dev-python/pycryptodome[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? (
+ || (
+ sys-apps/portage[${PYTHON_USEDEP}]
+ sys-apps/portage-mgorny[${PYTHON_USEDEP}]
+ )
+ )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ mysql? ( dev-python/mysql-python[$(python_gen_usedep 'python2*')] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ timelib? ( dev-python/timelib[$(python_gen_usedep 'python2*')] )
+ nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
+ neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-salt[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-catchlog[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+ dev-python/timelib[$(python_gen_usedep 'python2*')]
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ !x86? ( >=dev-python/boto3-1.2.1[${PYTHON_USEDEP}] )
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
+ >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
+ ${RDEPEND}
+ )"
+
+DOCS=( README.rst AUTHORS )
+
+REQUIRED_USE="|| ( raet zeromq )"
+RESTRICT="x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2017.7.0-dont-realpath-tmpdir.patch"
+ "${FILESDIR}/${PN}-2017.7.3-tests.patch"
+ "${FILESDIR}/${PN}-2018.3.2-skip-zeromq-test-that-hangs.patch"
+)
+
+python_prepare() {
+ # remove tests with external dependencies that may not be available
+ rm tests/unit/{test_zypp_plugins.py,utils/test_extend.py} || die
+ rm tests/unit/modules/test_boto_{vpc,secgroup,elb}.py || die
+ rm tests/unit/states/test_boto_vpc.py || die
+ rm tests/unit/modules/test_{kubernetes,vsphere}.py || die
+
+ # allow the use of the renamed msgpack
+ sed -i '/^msgpack/d' requirements/base.txt || die
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ local tempdir
+ # testsuite likes lots of files
+ ulimit -n 3072 || die
+
+ # ${T} is too long a path for the tests to work
+ tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
+ mkdir "${T}/$(basename "${tempdir}")"
+ mkdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
+
+ (
+ cleanup() {
+ rm -f "${tempdir}"
+ rmdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
+ }
+
+ trap cleanup EXIT
+
+ addwrite "${tempdir}"
+ ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}"
+
+ USE_SETUPTOOLS=1 SHELL="/bin/bash" \
+ TMPDIR="${tempdir}" \
+ ${EPYTHON} tests/runtests.py \
+ --unit-tests --no-report --verbose
+
+ ) || die "testing failed"
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2019-02-28 2:45 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2019-02-28 2:45 UTC (permalink / raw
To: gentoo-commits
commit: 9e459df66b5b581769bb4e2d8b786992cf9ccc44
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Thu Feb 28 02:12:09 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Feb 28 02:44:37 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9e459df6
app-admin/salt: Version bump to 2019.2.0
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/Manifest | 1 +
app-admin/salt/files/salt-2019.2.0-tests.patch | 73 ++++++++++++
app-admin/salt/salt-2019.2.0.ebuild | 156 +++++++++++++++++++++++++
3 files changed, 230 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 1ade6a74b5a..1fb3702fea1 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,3 +1,4 @@
DIST salt-2016.11.10.tar.gz 10058200 BLAKE2B 4b6a42f6bf56421bc19458686ec23a1f945ceeb68b4ce7059fde036ba98d677fc8b61cb0f0c6ab249304b2f07d1b0250f6b91e7c443e12868649bf88f4d44d43 SHA512 e767e2c4c20e3a49a748b2699e4c640610280c0ba1c5955d94daffc7c36991ee632f02a50e338c65b35da146e234c36cc732214174b9bc5cbd62316b9ee40c28
DIST salt-2017.7.8.tar.gz 12060430 BLAKE2B b2dde1b6f43bbb9b9db29b70dfd57591ae0e490e35ec7f4895b68b444ff77f9e997321d73697f791d345756abf451f11891b5f78a97c537c35dfe8bd24c43bbc SHA512 1e5123ee3dc194a33cf5da1e68a0419230b2b4eea26e7f66bf2d64754f0dbef9012abfbd498015f6b675725e580d72abf13c151b106639597337498b1fd42238
DIST salt-2018.3.4.tar.gz 14404085 BLAKE2B 932b30b1ba60aefd3a6874a8ebe4cb6c469d82e31f6acdbe8a5641d09e3316796b5403ef803a355cec6255c1aede8bac3b66af179bd1bbaa5418c7076229cef9 SHA512 f17e06fdbf4741f231d9e769be57de4f6079e9283881b4bafa0d23928d7626a1f9c02b9f49c654b29c3e6ee8ed3d3ddf42c21baecef158ad63a97dc87895b21b
+DIST salt-2019.2.0.tar.gz 14952746 BLAKE2B aa3bba4b7d9548a8d333c242fc0265a743f56ff1a259da7c8618d37b3b022e12f09ac594a09f0ceec80fd9d3a6b6b9ec35b33e879b7a124e6612f2ec2a63a01c SHA512 de5a976213d011c230e423a172952effddb87168367958b8657eaaaf8fd2a8bec8471f547b6ff9e896a17064a13d387dbc12e12c605c8a241062e3238bd19eca
diff --git a/app-admin/salt/files/salt-2019.2.0-tests.patch b/app-admin/salt/files/salt-2019.2.0-tests.patch
new file mode 100644
index 00000000000..830fcbffe36
--- /dev/null
+++ b/app-admin/salt/files/salt-2019.2.0-tests.patch
@@ -0,0 +1,73 @@
+diff --git a/tests/unit/fileserver/test_gitfs.py b/tests/unit/fileserver/test_gitfs.py
+index 4e93df4e62..38c13efb6b 100644
+--- a/tests/unit/fileserver/test_gitfs.py
++++ b/tests/unit/fileserver/test_gitfs.py
+@@ -151,6 +151,7 @@ class GitfsConfigTestCase(TestCase, LoaderModuleMockMixin):
+ if exc.errno != errno.EEXIST:
+ raise
+
++ @skipIf(True, 'currently failing on Gentoo')
+ def test_per_saltenv_config(self):
+ opts_override = textwrap.dedent('''
+ gitfs_root: salt
+diff --git a/tests/unit/grains/test_core.py b/tests/unit/grains/test_core.py
+index 445df0c98a..17ca123172 100644
+--- a/tests/unit/grains/test_core.py
++++ b/tests/unit/grains/test_core.py
+@@ -710,6 +710,7 @@ class CoreGrainsTestCase(TestCase, LoaderModuleMockMixin):
+ )
+
+ @skipIf(not salt.utils.platform.is_linux(), 'System is not Linux')
++ @skipIf(True, 'Test assumes running under Xen')
+ def test_xen_virtual(self):
+ '''
+ Test if OS grains are parsed correctly in Ubuntu Xenial Xerus
+diff --git a/tests/unit/utils/test_asynchronous.py b/tests/unit/utils/test_asynchronous.py
+index 694a7aebfe..704f2d894f 100644
+--- a/tests/unit/utils/test_asynchronous.py
++++ b/tests/unit/utils/test_asynchronous.py
+@@ -3,6 +3,8 @@
+ # Import Python Libs
+ from __future__ import absolute_import, print_function, unicode_literals
+
++from unittest import skipIf
++
+ # Import 3rd-party libs
+ import tornado.testing
+ import tornado.gen
+@@ -35,6 +37,7 @@ class HelperB(object):
+
+
+ class TestSyncWrapper(AsyncTestCase):
++ @skipIf(True, "fails in sandbox")
+ @tornado.testing.gen_test
+ def test_helpers(self):
+ '''
+@@ -56,6 +59,7 @@ class TestSyncWrapper(AsyncTestCase):
+ ret = sync.sleep()
+ self.assertTrue(ret)
+
++ @skipIf(True, "fails in sandbox")
+ def test_double(self):
+ '''
+ Test when the asynchronous wrapper object itself creates a wrap of another thing
+@@ -67,6 +71,7 @@ class TestSyncWrapper(AsyncTestCase):
+ ret = sync.sleep()
+ self.assertFalse(ret)
+
++ @skipIf(True, "fails in sandbox")
+ def test_double_sameloop(self):
+ '''
+ Test asynchronous wrappers initiated from the same IOLoop, to ensure that
+diff --git a/tests/unit/utils/test_jinja.py b/tests/unit/utils/test_jinja.py
+index da666ef4c7..e3523049b7 100644
+--- a/tests/unit/utils/test_jinja.py
++++ b/tests/unit/utils/test_jinja.py
+@@ -1102,6 +1102,7 @@ class TestCustomExtensions(TestCase):
+ dict(opts=self.local_opts, saltenv='test', salt=self.local_salt))
+ self.assertEqual(rendered, '16777216')
+
++ @skipIf(True, 'Skipping tests that require internet access')
+ @flaky
+ def test_http_query(self):
+ '''
diff --git a/app-admin/salt/salt-2019.2.0.ebuild b/app-admin/salt/salt-2019.2.0.ebuild
new file mode 100644
index 00000000000..7e76a85aeea
--- /dev/null
+++ b/app-admin/salt/salt-2019.2.0.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 python3_6 )
+
+inherit eutils systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="http://saltstack.org/"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
+IUSE+=" openssl portage profile redis selinux test timelib raet +zeromq vim-syntax"
+
+RDEPEND="sys-apps/pciutils
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/libnacl[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
+ <www-servers/tornado-5.0[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
+ openssl? (
+ dev-libs/openssl:0=[-bindist]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ zeromq? (
+ >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
+ dev-python/pycryptodome[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? (
+ || (
+ sys-apps/portage[${PYTHON_USEDEP}]
+ sys-apps/portage-mgorny[${PYTHON_USEDEP}]
+ )
+ )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ mysql? ( dev-python/mysql-python[$(python_gen_usedep 'python2*')] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ timelib? ( dev-python/timelib[$(python_gen_usedep 'python2*')] )
+ nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
+ neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/pytest-salt-2018.12.8[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-catchlog[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+ dev-python/timelib[$(python_gen_usedep 'python2*')]
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ !x86? ( >=dev-python/boto3-1.2.1[${PYTHON_USEDEP}] )
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
+ >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
+ ${RDEPEND}
+ )"
+
+DOCS=( README.rst AUTHORS )
+
+REQUIRED_USE="|| ( raet zeromq )"
+RESTRICT="x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2017.7.0-dont-realpath-tmpdir.patch"
+ "${FILESDIR}/${PN}-2019.2.0-tests.patch"
+ "${FILESDIR}/${PN}-2018.3.2-skip-zeromq-test-that-hangs.patch"
+)
+
+python_prepare() {
+ # remove tests with external dependencies that may not be available
+ rm tests/unit/{test_zypp_plugins.py,utils/test_extend.py} || die
+ rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
+ rm tests/unit/states/test_boto_vpc.py || die
+ rm tests/unit/modules/test_{kubernetes,vsphere}.py || die
+
+ # allow the use of the renamed msgpack
+ sed -i '/^msgpack/d' requirements/base.txt || die
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ local tempdir
+ # testsuite likes lots of files
+ ulimit -n 3072 || die
+
+ # ${T} is too long a path for the tests to work
+ tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
+ mkdir "${T}/$(basename "${tempdir}")"
+ mkdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
+
+ (
+ cleanup() {
+ rm -f "${tempdir}"
+ rmdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
+ }
+
+ trap cleanup EXIT
+
+ addwrite "${tempdir}"
+ ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}"
+
+ USE_SETUPTOOLS=1 SHELL="/bin/bash" \
+ TMPDIR="${tempdir}" \
+ ${EPYTHON} tests/runtests.py \
+ --unit-tests --no-report --verbose
+
+ ) || die "testing failed"
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2019-08-27 21:38 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2019-08-27 21:38 UTC (permalink / raw
To: gentoo-commits
commit: 2c7bdc17799ac9bc164ff4ec92f7105f3a9d6cad
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Tue Aug 27 21:37:18 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Aug 27 21:38:28 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2c7bdc17
app-admin/salt: Revbump, update to work with newer deps
Newer pyyaml and jsonschema need patches to pass tests properly.
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.73, Repoman-2.3.17
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
.../salt/files/salt-2019.2.0-newer-deps.patch | 210 +++++++++++++++++++++
...salt-2019.2.0-skip-tests-that-oom-machine.patch | 20 ++
...alt-2019.2.0.ebuild => salt-2019.2.0-r1.ebuild} | 8 +-
3 files changed, 235 insertions(+), 3 deletions(-)
diff --git a/app-admin/salt/files/salt-2019.2.0-newer-deps.patch b/app-admin/salt/files/salt-2019.2.0-newer-deps.patch
new file mode 100644
index 00000000000..bdf95e21089
--- /dev/null
+++ b/app-admin/salt/files/salt-2019.2.0-newer-deps.patch
@@ -0,0 +1,210 @@
+diff --git a/salt/modules/dockercompose.py b/salt/modules/dockercompose.py
+index 61e937536c..0f37e0d43a 100644
+--- a/salt/modules/dockercompose.py
++++ b/salt/modules/dockercompose.py
+@@ -241,7 +241,7 @@ def __load_docker_compose(path):
+ None, None)
+ try:
+ with salt.utils.files.fopen(file_path, 'r') as fl:
+- loaded = yaml.load(fl)
++ loaded = yaml.safe_load(fl)
+ except EnvironmentError:
+ return None, __standardize_result(False,
+ 'Could not read {0}'.format(file_path),
+@@ -371,7 +371,7 @@ def __load_compose_definitions(path, definition):
+ None, None)
+ else:
+ try:
+- loaded_definition = yaml.load(definition)
++ loaded_definition = yaml.safe_load(definition)
+ except yaml.YAMLError as yerr:
+ msg = 'Could not parse {0} {1}'.format(definition, yerr)
+ return None, None, __standardize_result(False, msg,
+diff --git a/salt/serializers/yaml.py b/salt/serializers/yaml.py
+index c95b40e48f..2154e5dcab 100644
+--- a/salt/serializers/yaml.py
++++ b/salt/serializers/yaml.py
+@@ -72,6 +72,7 @@ def serialize(obj, **options):
+ '''
+
+ options.setdefault('Dumper', Dumper)
++ options.setdefault('default_flow_style', None)
+ try:
+ response = yaml.dump(obj, **options)
+ if response.endswith('\n...\n'):
+diff --git a/salt/serializers/yamlex.py b/salt/serializers/yamlex.py
+index 2e4ba6fb2b..e42634f580 100644
+--- a/salt/serializers/yamlex.py
++++ b/salt/serializers/yamlex.py
+@@ -182,6 +182,7 @@ def serialize(obj, **options):
+ '''
+
+ options.setdefault('Dumper', Dumper)
++ options.setdefault('default_flow_style', None)
+ try:
+ response = yaml.dump(obj, **options)
+ if response.endswith('\n...\n'):
+diff --git a/salt/utils/yamldumper.py b/salt/utils/yamldumper.py
+index 9892c87d23..3692ea324a 100644
+--- a/salt/utils/yamldumper.py
++++ b/salt/utils/yamldumper.py
+@@ -115,6 +115,7 @@ def dump(data, stream=None, **kwargs):
+ '''
+ if 'allow_unicode' not in kwargs:
+ kwargs['allow_unicode'] = True
++ kwargs.setdefault('default_flow_style', None)
+ return yaml.dump(data, stream, **kwargs)
+
+
+@@ -126,4 +127,5 @@ def safe_dump(data, stream=None, **kwargs):
+ '''
+ if 'allow_unicode' not in kwargs:
+ kwargs['allow_unicode'] = True
++ kwargs.setdefault('default_flow_style', None)
+ return yaml.dump(data, stream, Dumper=SafeOrderedDumper, **kwargs)
+diff --git a/tests/integration/utils/test_win_runas.py b/tests/integration/utils/test_win_runas.py
+index 3042a77991..d4057a4d03 100644
+--- a/tests/integration/utils/test_win_runas.py
++++ b/tests/integration/utils/test_win_runas.py
+@@ -539,7 +539,7 @@ class RunAsTest(ModuleCase):
+ win32serviceutil.StartService('test service')
+ wait_for_service('test service')
+ with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp:
+- ret = yaml.load(fp)
++ ret = yaml.safe_load(fp)
+ assert ret['retcode'] == 1, ret
+
+ @with_system_user('test-runas', on_existing='delete', delete=True,
+@@ -560,7 +560,7 @@ class RunAsTest(ModuleCase):
+ win32serviceutil.StartService('test service')
+ wait_for_service('test service')
+ with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp:
+- ret = yaml.load(fp)
++ ret = yaml.safe_load(fp)
+ assert ret['retcode'] == 1, ret
+
+ @with_system_user('test-runas-admin', on_existing='delete', delete=True,
+@@ -581,7 +581,7 @@ class RunAsTest(ModuleCase):
+ win32serviceutil.StartService('test service')
+ wait_for_service('test service')
+ with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp:
+- ret = yaml.load(fp)
++ ret = yaml.safe_load(fp)
+ assert ret['retcode'] == 0, ret
+
+ @with_system_user('test-runas-admin', on_existing='delete', delete=True,
+@@ -602,7 +602,7 @@ class RunAsTest(ModuleCase):
+ win32serviceutil.StartService('test service')
+ wait_for_service('test service')
+ with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp:
+- ret = yaml.load(fp)
++ ret = yaml.safe_load(fp)
+ assert ret['retcode'] == 0, ret
+
+ def test_runas_service_system_user(self):
+@@ -621,5 +621,5 @@ class RunAsTest(ModuleCase):
+ win32serviceutil.StartService('test service')
+ wait_for_service('test service')
+ with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp:
+- ret = yaml.load(fp)
++ ret = yaml.safe_load(fp)
+ assert ret['retcode'] == 0, ret
+diff --git a/tests/unit/serializers/test_serializers.py b/tests/unit/serializers/test_serializers.py
+index 3bf42b67d7..ea42d617d7 100644
+--- a/tests/unit/serializers/test_serializers.py
++++ b/tests/unit/serializers/test_serializers.py
+@@ -68,9 +68,24 @@ class TestSerializers(TestCase):
+ serialized = yamlex.serialize(data)
+ assert serialized == '{foo: bar}', serialized
+
++ serialized = yamlex.serialize(data, default_flow_style=False)
++ assert serialized == 'foo: bar', serialized
++
+ deserialized = yamlex.deserialize(serialized)
+ assert deserialized == data, deserialized
+
++ serialized = yaml.serialize(data)
++ assert serialized == '{foo: bar}', serialized
++
++ deserialized = yaml.deserialize(serialized)
++ assert deserialized == data, deserialized
++
++ serialized = yaml.serialize(data, default_flow_style=False)
++ assert serialized == 'foo: bar', serialized
++
++ deserialized = yaml.deserialize(serialized)
++ assert deserialized == data, deserialized
++
+ @skipIf(not yamlex.available, SKIP_MESSAGE % 'sls')
+ def test_serialize_complex_sls(self):
+ data = OrderedDict([
+@@ -84,6 +99,12 @@ class TestSerializers(TestCase):
+ deserialized = yamlex.deserialize(serialized)
+ assert deserialized == data, deserialized
+
++ serialized = yaml.serialize(data)
++ assert serialized == '{bar: 2, baz: true, foo: 1}', serialized
++
++ deserialized = yaml.deserialize(serialized)
++ assert deserialized == data, deserialized
++
+ @skipIf(not yaml.available, SKIP_MESSAGE % 'yaml')
+ @skipIf(not yamlex.available, SKIP_MESSAGE % 'sls')
+ def test_compare_sls_vs_yaml(self):
+diff --git a/tests/unit/utils/test_schema.py b/tests/unit/utils/test_schema.py
+index 677cd0778b..5c2f1fd8fd 100644
+--- a/tests/unit/utils/test_schema.py
++++ b/tests/unit/utils/test_schema.py
+@@ -5,6 +5,7 @@
+
+ # Import python libs
+ from __future__ import absolute_import, print_function, unicode_literals
++import sys
+ import copy
+
+ # Import Salt Testing Libs
+@@ -506,7 +507,7 @@ class ConfigTestCase(TestCase):
+ {'personal_access_token': 'foo'},
+ Requirements.serialize()
+ )
+- self.assertIn('is not valid under any of the given schemas', excinfo.exception.message)
++ self.assertIn("'ssh_key_file' is a required property", excinfo.exception.message)
+
+ def test_boolean_config(self):
+ item = schema.BooleanItem(title='Hungry', description='Are you hungry?')
+@@ -1730,7 +1731,10 @@ class ConfigTestCase(TestCase):
+
+ with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
+ jsonschema.validate({'item': {'sides': '4', 'color': 'blue'}}, TestConf.serialize())
+- self.assertIn('is not valid under any of the given schemas', excinfo.exception.message)
++ if sys.hexversion >= 0x03000000:
++ self.assertIn("'4' is not of type 'boolean'", excinfo.exception.message)
++ else:
++ self.assertIn("u'4' is not of type u'boolean'", excinfo.exception.message)
+
+ class TestConf(schema.Schema):
+ item = schema.DictItem(
+@@ -1833,7 +1837,10 @@ class ConfigTestCase(TestCase):
+
+ with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
+ jsonschema.validate({'item': ['maybe']}, TestConf.serialize())
+- self.assertIn('is not valid under any of the given schemas', excinfo.exception.message)
++ if sys.hexversion >= 0x03000000:
++ self.assertIn("'maybe' is not one of ['yes']", excinfo.exception.message)
++ else:
++ self.assertIn("u'maybe' is not one of [u'yes']", excinfo.exception.message)
+
+ with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
+ jsonschema.validate({'item': 2}, TestConf.serialize())
+@@ -1885,7 +1892,10 @@ class ConfigTestCase(TestCase):
+
+ with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
+ jsonschema.validate({'item': ['maybe']}, TestConf.serialize())
+- self.assertIn('is not valid under any of the given schemas', excinfo.exception.message)
++ if sys.hexversion >= 0x03000000:
++ self.assertIn("'maybe' is not one of ['yes']", excinfo.exception.message)
++ else:
++ self.assertIn("u'maybe' is not one of [u'yes']", excinfo.exception.message)
+
+ with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
+ jsonschema.validate({'item': 2}, TestConf.serialize())
diff --git a/app-admin/salt/files/salt-2019.2.0-skip-tests-that-oom-machine.patch b/app-admin/salt/files/salt-2019.2.0-skip-tests-that-oom-machine.patch
new file mode 100644
index 00000000000..d0172d73955
--- /dev/null
+++ b/app-admin/salt/files/salt-2019.2.0-skip-tests-that-oom-machine.patch
@@ -0,0 +1,20 @@
+diff --git a/tests/unit/modules/test_boto_apigateway.py b/tests/unit/modules/test_boto_apigateway.py
+index be26b3f093..ca971556d5 100644
+--- a/tests/unit/modules/test_boto_apigateway.py
++++ b/tests/unit/modules/test_boto_apigateway.py
+@@ -169,6 +169,7 @@ def _has_required_botocore():
+ return True
+
+
++@skipIf(True, "Causes machines to OOM")
+ class BotoApiGatewayTestCaseBase(TestCase, LoaderModuleMockMixin):
+ conn = None
+
+@@ -207,6 +208,7 @@ class BotoApiGatewayTestCaseBase(TestCase, LoaderModuleMockMixin):
+ self.addCleanup(delattr, self, 'conn')
+
+
++@skipIf(True, "Causes machines to OOM")
+ class BotoApiGatewayTestCaseMixin(object):
+ def _diff_list_dicts(self, listdict1, listdict2, sortkey):
+ '''
diff --git a/app-admin/salt/salt-2019.2.0.ebuild b/app-admin/salt/salt-2019.2.0-r1.ebuild
similarity index 94%
rename from app-admin/salt/salt-2019.2.0.ebuild
rename to app-admin/salt/salt-2019.2.0-r1.ebuild
index 16433de1b07..eb02c39bf6f 100644
--- a/app-admin/salt/salt-2019.2.0.ebuild
+++ b/app-admin/salt/salt-2019.2.0-r1.ebuild
@@ -92,9 +92,11 @@ REQUIRED_USE="|| ( raet zeromq )"
RESTRICT="x86? ( test )"
PATCHES=(
- "${FILESDIR}/${PN}-2017.7.0-dont-realpath-tmpdir.patch"
- "${FILESDIR}/${PN}-2019.2.0-tests.patch"
- "${FILESDIR}/${PN}-2018.3.2-skip-zeromq-test-that-hangs.patch"
+ "${FILESDIR}/salt-2017.7.0-dont-realpath-tmpdir.patch"
+ "${FILESDIR}/salt-2019.2.0-tests.patch"
+ "${FILESDIR}/salt-2018.3.2-skip-zeromq-test-that-hangs.patch"
+ "${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch"
+ "${FILESDIR}/salt-2019.2.0-newer-deps.patch"
)
python_prepare() {
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2020-04-29 20:36 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2020-04-29 20:36 UTC (permalink / raw
To: gentoo-commits
commit: e190974babbaea1d7adec18f556f5828896800c3
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Apr 29 20:36:25 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Apr 29 20:36:25 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e190974b
app-admin/salt-3000.2: Version bump
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/Manifest | 1 +
app-admin/salt/files/salt-3000.1-tests.patch | 58 +++++++++
app-admin/salt/metadata.xml | 2 +
app-admin/salt/salt-3000.2.ebuild | 173 +++++++++++++++++++++++++++
4 files changed, 234 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index f5cc57ada94..1e5653bb58c 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,2 +1,3 @@
DIST salt-2018.3.4.tar.gz 14404085 BLAKE2B 932b30b1ba60aefd3a6874a8ebe4cb6c469d82e31f6acdbe8a5641d09e3316796b5403ef803a355cec6255c1aede8bac3b66af179bd1bbaa5418c7076229cef9 SHA512 f17e06fdbf4741f231d9e769be57de4f6079e9283881b4bafa0d23928d7626a1f9c02b9f49c654b29c3e6ee8ed3d3ddf42c21baecef158ad63a97dc87895b21b
DIST salt-2019.2.4.tar.gz 14572556 BLAKE2B a1057baa5ab6c0a07f34ce658a1d5bc644f968600663d28d084eb712b55faaee93b8410d81c4b5324944e6e1f2067ffb102200088832e1b0076fed78c8542ae6 SHA512 9e621cbd78ead1060a2b0c07e7ef02e8c4590360a95c51ac29fa8c1add34f617e4407dd28b67cae3b0fd68b333782185edcf1159edd2db08e8b4e79b6b07a63f
+DIST salt-3000.2.tar.gz 15231513 BLAKE2B 2090d0f52f953a42f1685ad190750e9c76ad6e862a3272444fef063a7605f69a6c542f04165a41fb9cdaa126a878cc133d4857faa70edc5eac4bf49bdde937ab SHA512 88e8876ed8cd18e942c2194686cda68f40fa49e69e317ca488bf58e095bcf6cdf8771d93eba7960038941cc5863e13a4eea4dad5256c12da7cd8288a2c61f59d
diff --git a/app-admin/salt/files/salt-3000.1-tests.patch b/app-admin/salt/files/salt-3000.1-tests.patch
new file mode 100644
index 00000000000..12a2e7822b9
--- /dev/null
+++ b/app-admin/salt/files/salt-3000.1-tests.patch
@@ -0,0 +1,58 @@
+diff --git a/tests/unit/fileserver/test_roots.py b/tests/unit/fileserver/test_roots.py
+index e0d939a086..33a9b6dc35 100644
+--- a/tests/unit/fileserver/test_roots.py
++++ b/tests/unit/fileserver/test_roots.py
+@@ -11,7 +11,7 @@ import tempfile
+
+ # Import Salt Testing libs
+ from tests.support.mixins import AdaptedConfigurationTestCaseMixin, LoaderModuleMockMixin
+-from tests.support.unit import TestCase
++from tests.support.unit import TestCase, skipIf
+ from tests.support.mock import patch
+ from tests.support.runtests import RUNTIME_VARS
+
+@@ -165,6 +165,7 @@ class RootsTest(TestCase, AdaptedConfigurationTestCaseMixin, LoaderModuleMockMix
+ self.assertIn('empty_dir', ret)
+ self.assertIn(UNICODE_DIRNAME, ret)
+
++ @skipIf(True, "doesn't like sandbox")
+ def test_symlink_list(self):
+ orig_file_roots = self.opts['file_roots']
+ try:
+diff --git a/tests/unit/modules/test_dockermod.py b/tests/unit/modules/test_dockermod.py
+index 191bfc123f..1956127f0b 100644
+--- a/tests/unit/modules/test_dockermod.py
++++ b/tests/unit/modules/test_dockermod.py
+@@ -793,6 +793,7 @@ class DockerTestCase(TestCase, LoaderModuleMockMixin):
+ },
+ ret)
+
++ @skipIf(True, "Doesn't work with sandbox")
+ def test_call_success(self):
+ '''
+ test module calling inside containers
+diff --git a/tests/unit/states/test_pip_state.py b/tests/unit/states/test_pip_state.py
+index 13c158b309..27e10e6161 100644
+--- a/tests/unit/states/test_pip_state.py
++++ b/tests/unit/states/test_pip_state.py
+@@ -384,6 +384,7 @@ class PipStateUtilsTest(TestCase):
+
+
+ @skipIf(salt.utils.path.which_bin(KNOWN_BINARY_NAMES) is None, 'virtualenv not installed')
++@skipIf(True, "Needs network access")
+ class PipStateInstallationErrorTest(TestCase):
+
+ def test_importable_installation_error(self):
+diff --git a/tests/unit/utils/test_jinja.py b/tests/unit/utils/test_jinja.py
+index f48fa9d42c..bb57929cfa 100644
+--- a/tests/unit/utils/test_jinja.py
++++ b/tests/unit/utils/test_jinja.py
+@@ -1268,7 +1268,7 @@ class TestCustomExtensions(TestCase):
+ dict(opts=self.local_opts, saltenv='test', salt=self.local_salt))
+ self.assertEqual(rendered, '16777216')
+
+- @flaky
++ @skipIf("True", "Needs network access")
+ def test_http_query(self):
+ '''
+ Test the `http_query` Jinja filter.
diff --git a/app-admin/salt/metadata.xml b/app-admin/salt/metadata.xml
index e27805465b7..91b46884899 100644
--- a/app-admin/salt/metadata.xml
+++ b/app-admin/salt/metadata.xml
@@ -21,9 +21,11 @@ Between the remote execution system, and state management Salt addresses the
backbone of cloud and data center management.
</longdescription>
<use>
+ <flag name="cheetah">Enable support for <pkg>dev-python/cheetah3</pkg></flag>
<flag name="cherrypy">Enable support for using cherrypy.</flag>
<flag name="libcloud">Enable salt-cloud support via libcloud.</flag>
<flag name="libvirt">Support managing virtual machines with app-emulation/libvirt.</flag>
+ <flag name="genshi">Enable support for <pkg>dev-python/genshi</pkg></flag>
<flag name="gnupg">Enable support for gnupg via python-gnupg.</flag>
<flag name="keyring">Enable support for keyrings via python-keyring.</flag>
<flag name="mako">Add support for using the mako template engine for parsing salt states.</flag>
diff --git a/app-admin/salt/salt-3000.2.ebuild b/app-admin/salt/salt-3000.2.ebuild
new file mode 100644
index 00000000000..376575e7ccf
--- /dev/null
+++ b/app-admin/salt/salt-3000.2.ebuild
@@ -0,0 +1,173 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+inherit systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="https://www.saltstack.com/resources/community/
+ https://github.com/saltstack"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
+ mongodb neutron nova openssl portage profile redis selinux test raet
+ +zeromq vim-syntax"
+
+RDEPEND="
+ sys-apps/pciutils
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/libnacl[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.5[${PYTHON_USEDEP}]
+ <dev-python/msgpack-1.0[${PYTHON_USEDEP}]
+ dev-python/pycryptodome[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? (
+ $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_7)
+ )
+ openssl? (
+ dev-libs/openssl:0=[-bindist]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ cheetah? ( dev-python/cheetah3[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ nova? (
+ $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_7)
+ )
+ neutron? (
+ $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_7)
+ )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )
+ zeromq? ( >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ >=dev-python/pytest-salt-2018.12.8[${PYTHON_USEDEP}]
+ dev-python/pytest-tempdir[${PYTHON_USEDEP}]
+ >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ !x86? ( >=dev-python/boto3-1.2.1[${PYTHON_USEDEP}] )
+ )"
+
+DOCS=( README.rst AUTHORS )
+
+REQUIRED_USE="|| ( raet zeromq )
+ test? ( cheetah genshi )"
+RESTRICT="!test? ( test ) x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/salt-2017.7.0-dont-realpath-tmpdir.patch"
+ "${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch"
+ "${FILESDIR}/salt-3000.1-tests.patch"
+)
+
+python_prepare() {
+ # remove tests with external dependencies that may not be available
+ rm tests/unit/{test_zypp_plugins.py,utils/test_extend.py} || die
+ rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
+ rm tests/unit/states/test_boto_vpc.py || die
+
+ # tests that require network access
+ rm tests/unit/{states,modules}/test_zcbuildout.py || die
+
+ # allow the use of the renamed msgpack
+ sed -i '/^msgpack/d' requirements/base.txt || die
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ local tempdir
+ # testsuite likes lots of files
+ ulimit -n 3072 || die
+
+ # ${T} is too long a path for the tests to work
+ tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
+ mkdir "${T}/$(basename "${tempdir}")"
+
+ (
+ cleanup() { rm -f "${tempdir}" || die; }
+
+ trap cleanup EXIT
+
+ addwrite "${tempdir}"
+ ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}" || die
+
+ USE_SETUPTOOLS=1 SHELL="/bin/bash" \
+ TMPDIR="${tempdir}" \
+ ${EPYTHON} tests/runtests.py \
+ --unit-tests --no-report --verbose \
+ || die "testing failed with ${EPYTHON}"
+ )
+}
+
+pkg_postinst_disabled() {
+ if use python_targets_python3_8; then
+ if use nova; then
+ ewarn "Salt's nova functionality will not work with python3.8 since"
+ ewarn "dev-python/python-novaclient does not support it yet"
+ fi
+ if use neutron; then
+ ewarn "Salt's neutron functionality will not work with python3.8 since"
+ ewarn "dev-python/python-neutronclient does not support it yet"
+ fi
+ if use libvirt; then
+ ewarn "Salt's libvirt functionality will not work with python3.8 since"
+ ewarn "dev-python/libvirt-python does not support it yet"
+ fi
+ fi
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2020-04-30 5:24 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2020-04-30 5:24 UTC (permalink / raw
To: gentoo-commits
commit: 912520578b89e0d26c486784807c25e13f74d55f
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Thu Apr 30 02:11:32 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Apr 30 05:24:06 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=91252057
app-admin/salt-3000.2-r2: revbump, add py38
Closes: https://bugs.gentoo.org/718188
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/files/salt-3000.2-py38-abc.patch | 79 ++++
app-admin/salt/files/salt-3000.2-py38-misc.patch | 460 +++++++++++++++++++++
app-admin/salt/files/salt-3000.2-py38.patch | 60 +++
...salt-3000.2-r1.ebuild => salt-3000.2-r2.ebuild} | 12 +-
4 files changed, 609 insertions(+), 2 deletions(-)
diff --git a/app-admin/salt/files/salt-3000.2-py38-abc.patch b/app-admin/salt/files/salt-3000.2-py38-abc.patch
new file mode 100644
index 00000000000..e9f64b66417
--- /dev/null
+++ b/app-admin/salt/files/salt-3000.2-py38-abc.patch
@@ -0,0 +1,79 @@
+From 11c23a526ae926ca082ee7ad92246e085c51b8e6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=A9bastien=20Blaisot?= <sebastien@blaisot.org>
+Date: Fri, 17 Jan 2020 17:06:42 +0100
+Subject: [PATCH] Import abstract base classes from collection.abc in python
+ 3.3+
+
+---
+ salt/modules/file.py | 6 +++++-
+ salt/modules/win_file.py | 5 ++++-
+ salt/states/file.py | 6 +++++-
+ salt/utils/dictdiffer.py | 5 ++++-
+ 4 files changed, 18 insertions(+), 4 deletions(-)
+
+diff --git a/salt/modules/file.py b/salt/modules/file.py
+index 771b204d63fe..d1ec5e4c295d 100644
+--- a/salt/modules/file.py
++++ b/salt/modules/file.py
+@@ -29,7 +29,11 @@
+ import glob
+ import hashlib
+ import mmap
+-from collections import Iterable, Mapping, namedtuple
++try:
++ from collections.abc import Iterable, Mapping
++except ImportError:
++ from collections import Iterable, Mapping
++from collections import namedtuple
+ from functools import reduce # pylint: disable=redefined-builtin
+
+ # pylint: disable=import-error,no-name-in-module,redefined-builtin
+diff --git a/salt/modules/win_file.py b/salt/modules/win_file.py
+index 4fd3eebcdd81..5bc983786a98 100644
+--- a/salt/modules/win_file.py
++++ b/salt/modules/win_file.py
+@@ -17,7 +17,10 @@
+ import logging
+ # pylint: disable=W0611
+ import operator # do not remove
+-from collections import Iterable, Mapping # do not remove
++try:
++ from collections.abc import Iterable, Mapping # do not remove
++except ImportError:
++ from collections import Iterable, Mapping # do not remove
+ from functools import reduce # do not remove
+ import datetime # do not remove.
+ import tempfile # do not remove. Used in salt.modules.file.__clean_tmp
+diff --git a/salt/states/file.py b/salt/states/file.py
+index 23c3d3c53955..36231c69cff6 100644
+--- a/salt/states/file.py
++++ b/salt/states/file.py
+@@ -291,7 +291,11 @@ def run():
+ import sys
+ import time
+ import traceback
+-from collections import Iterable, Mapping, defaultdict
++try:
++ from collections.abc import Iterable, Mapping
++except ImportError:
++ from collections import Iterable, Mapping
++from collections import defaultdict
+ from datetime import datetime, date # python3 problem in the making?
+
+ # Import salt libs
+diff --git a/salt/utils/dictdiffer.py b/salt/utils/dictdiffer.py
+index 30e87e885436..da6bd5ed944c 100644
+--- a/salt/utils/dictdiffer.py
++++ b/salt/utils/dictdiffer.py
+@@ -13,7 +13,10 @@
+ '''
+ from __future__ import absolute_import, print_function, unicode_literals
+ import copy
+-from collections import Mapping
++try:
++ from collections.abc import Mapping
++except ImportError:
++ from collections import Mapping
+ from salt.ext import six
+
+
diff --git a/app-admin/salt/files/salt-3000.2-py38-misc.patch b/app-admin/salt/files/salt-3000.2-py38-misc.patch
new file mode 100644
index 00000000000..93cc045a531
--- /dev/null
+++ b/app-admin/salt/files/salt-3000.2-py38-misc.patch
@@ -0,0 +1,460 @@
+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-py38.patch b/app-admin/salt/files/salt-3000.2-py38.patch
new file mode 100644
index 00000000000..1c543a085b1
--- /dev/null
+++ b/app-admin/salt/files/salt-3000.2-py38.patch
@@ -0,0 +1,60 @@
+From 5259ba8ef6e5949815641edc563deab67ba68582 Mon Sep 17 00:00:00 2001
+From: Mathias Fussenegger <f.mathias@zignar.net>
+Date: Fri, 22 Nov 2019 17:05:27 +0100
+Subject: [PATCH] Remove _supported_dists import for python-3.8 support
+
+`_supported_dists` has been removed from platform in Python 3.8:
+
+ https://github.com/python/cpython/commit/8b94b41ab7b12f745dea744e8940631318816935#diff-47c8e5750258a08a6dd9de3e9c3774acL267-L271
+
+This instead inlines all the values that have been there.
+
+Without this change running `salt-ssh` with Python 3.8 run into an
+import error.
+---
+ salt/grains/core.py | 31 +++++++++++++++++++++++++++----
+ 1 file changed, 27 insertions(+), 4 deletions(-)
+
+diff --git a/salt/grains/core.py b/salt/grains/core.py
+index 04c1ae91b5f5..77694abe84f9 100644
+--- a/salt/grains/core.py
++++ b/salt/grains/core.py
+@@ -35,11 +35,34 @@
+ __proxyenabled__ = ['*']
+ __FQDN__ = None
+
+-# Extend the default list of supported distros. This will be used for the
++# Default list of supported distros. This will be used for the
+ # /etc/DISTRO-release checking that is part of linux_distribution()
+-from platform import _supported_dists
+-_supported_dists += ('arch', 'mageia', 'meego', 'vmware', 'bluewhite64',
+- 'slamd64', 'ovs', 'system', 'mint', 'oracle', 'void')
++_supported_dists = (
++ 'SuSE',
++ 'UnitedLinux',
++ 'arch',
++ 'bluewhite64',
++ 'centos',
++ 'debian',
++ 'fedora',
++ 'gentoo',
++ 'mageia',
++ 'mandrake',
++ 'mandriva',
++ 'meego',
++ 'mint',
++ 'oracle',
++ 'ovs',
++ 'redhat',
++ 'rocks',
++ 'slackware',
++ 'slamd64',
++ 'system',
++ 'turbolinux',
++ 'vmware',
++ 'void',
++ 'yellowdog',
++)
+
+ # linux_distribution deprecated in py3.7
+ try:
diff --git a/app-admin/salt/salt-3000.2-r1.ebuild b/app-admin/salt/salt-3000.2-r2.ebuild
similarity index 95%
rename from app-admin/salt/salt-3000.2-r1.ebuild
rename to app-admin/salt/salt-3000.2-r2.ebuild
index 100dafe7754..2f37c30a24d 100644
--- a/app-admin/salt/salt-3000.2-r1.ebuild
+++ b/app-admin/salt/salt-3000.2-r2.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_7 )
+PYTHON_COMPAT=( python3_{7,8} )
DISTUTILS_USE_SETUPTOOLS=bdepend
inherit systemd distutils-r1
@@ -103,6 +103,14 @@ PATCHES=(
"${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch"
"${FILESDIR}/salt-3000.1-tests.patch"
"${FILESDIR}/salt-3000.2-tests.patch"
+
+ # https://github.com/saltstack/salt/pull/55410
+ "${FILESDIR}/salt-3000.2-py38.patch"
+
+ "${FILESDIR}/salt-3000.2-py38-misc.patch"
+
+ # https://github.com/saltstack/salt/pull/55900
+ "${FILESDIR}/salt-3000.2-py38-abc.patch"
)
python_prepare() {
@@ -157,7 +165,7 @@ python_test() {
)
}
-pkg_postinst_disabled() {
+pkg_postinst() {
if use python_targets_python3_8; then
if use nova; then
ewarn "Salt's nova functionality will not work with python3.8 since"
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2020-04-30 18:59 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2020-04-30 18:59 UTC (permalink / raw
To: gentoo-commits
commit: f46a5f234c7ee1202d5b5dfd87ea5ad643f8eee8
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Thu Apr 30 18:56:47 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Apr 30 18:57:38 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f46a5f23
app-admin/salt-3000.2-r3: revbump,pycrypto deps, fix warning (bug #720148)
Get rid of all pycrypto deps from requirements files, fix
collections.abc warning in bundled tornado.
Closes: https://bugs.gentoo.org/720148
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/files/salt-3000.2-tornado-py38.patch | 12 ++++++++++++
.../salt/{salt-3000.2-r2.ebuild => salt-3000.2-r3.ebuild} | 4 ++++
2 files changed, 16 insertions(+)
diff --git a/app-admin/salt/files/salt-3000.2-tornado-py38.patch b/app-admin/salt/files/salt-3000.2-tornado-py38.patch
new file mode 100644
index 00000000000..b324872c921
--- /dev/null
+++ b/app-admin/salt/files/salt-3000.2-tornado-py38.patch
@@ -0,0 +1,12 @@
+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,
diff --git a/app-admin/salt/salt-3000.2-r2.ebuild b/app-admin/salt/salt-3000.2-r3.ebuild
similarity index 96%
rename from app-admin/salt/salt-3000.2-r2.ebuild
rename to app-admin/salt/salt-3000.2-r3.ebuild
index 2f37c30a24d..5e7ab8e084a 100644
--- a/app-admin/salt/salt-3000.2-r2.ebuild
+++ b/app-admin/salt/salt-3000.2-r3.ebuild
@@ -111,6 +111,7 @@ PATCHES=(
# https://github.com/saltstack/salt/pull/55900
"${FILESDIR}/salt-3000.2-py38-abc.patch"
+ "${FILESDIR}/salt-3000.2-tornado-py38.patch"
)
python_prepare() {
@@ -122,6 +123,9 @@ python_prepare() {
# tests that require network access
rm tests/unit/{states,modules}/test_zcbuildout.py || die
+ # make sure pkg_resources doesn't bomb because pycrypto isn't installed
+ find . -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d' -i || die
+
# allow the use of the renamed msgpack
sed -i '/^msgpack/d' requirements/base.txt || die
}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2020-05-01 1:07 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2020-05-01 1:07 UTC (permalink / raw
To: gentoo-commits
commit: 680afc54c6185bec1af67dbacaab9df9e247756a
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Fri May 1 00:50:56 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri May 1 01:07:21 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=680afc54
app-admin/salt-3000.2-r4: revbump, fix warnings with py38
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/Manifest | 1 +
.../salt/files/salt-3000.2-py38-logwarn.patch | 116 ++++++
app-admin/salt/files/salt-3000.2-py38-misc.patch | 460 ---------------------
.../salt/files/salt-3000.2-tornado-py38.patch | 12 -
...salt-3000.2-r3.ebuild => salt-3000.2-r4.ebuild} | 15 +-
5 files changed, 128 insertions(+), 476 deletions(-)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 64303c5476b..fed8fc97b0c 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,2 +1,3 @@
DIST salt-2019.2.4.tar.gz 14572556 BLAKE2B a1057baa5ab6c0a07f34ce658a1d5bc644f968600663d28d084eb712b55faaee93b8410d81c4b5324944e6e1f2067ffb102200088832e1b0076fed78c8542ae6 SHA512 9e621cbd78ead1060a2b0c07e7ef02e8c4590360a95c51ac29fa8c1add34f617e4407dd28b67cae3b0fd68b333782185edcf1159edd2db08e8b4e79b6b07a63f
+DIST salt-3000.2-py38-misc.patch.gz 6250 BLAKE2B 68fff80a042e6bf208ea2d9692da7a7b1e29572f1ec3c850c14743bbf2821d231f933ec4e6d6eaad12acee0b7666888a37a72872b2b082c92d8db9de988fbbec SHA512 6d4a66323a423e630f7cc73b566ed96c452c8fc3d72c25a2dd86033c4774c1c8e8b8701e1d4ee92994d4148c398d704f419023e26d8b40c8fdd63f9d79d9d52f
DIST salt-3000.2.tar.gz 15231513 BLAKE2B 2090d0f52f953a42f1685ad190750e9c76ad6e862a3272444fef063a7605f69a6c542f04165a41fb9cdaa126a878cc133d4857faa70edc5eac4bf49bdde937ab SHA512 88e8876ed8cd18e942c2194686cda68f40fa49e69e317ca488bf58e095bcf6cdf8771d93eba7960038941cc5863e13a4eea4dad5256c12da7cd8288a2c61f59d
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 00000000000..e77d2376ce1
--- /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 93cc045a531..00000000000
--- 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 b324872c921..00000000000
--- 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,
diff --git a/app-admin/salt/salt-3000.2-r3.ebuild b/app-admin/salt/salt-3000.2-r4.ebuild
similarity index 91%
rename from app-admin/salt/salt-3000.2-r3.ebuild
rename to app-admin/salt/salt-3000.2-r4.ebuild
index 5e7ab8e084a..2cb2a715e74 100644
--- a/app-admin/salt/salt-3000.2-r3.ebuild
+++ b/app-admin/salt/salt-3000.2-r4.ebuild
@@ -17,7 +17,8 @@ if [[ ${PV} == 9999* ]]; then
SRC_URI=""
KEYWORDS=""
else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ https://dev.gentoo.org/~chutzpah/dist/salt/salt-3000.2-py38-misc.patch.gz"
KEYWORDS="~amd64 ~x86"
fi
@@ -107,11 +108,12 @@ PATCHES=(
# https://github.com/saltstack/salt/pull/55410
"${FILESDIR}/salt-3000.2-py38.patch"
- "${FILESDIR}/salt-3000.2-py38-misc.patch"
-
# https://github.com/saltstack/salt/pull/55900
"${FILESDIR}/salt-3000.2-py38-abc.patch"
- "${FILESDIR}/salt-3000.2-tornado-py38.patch"
+
+ # misc py38 fixups
+ "${WORKDIR}/salt-3000.2-py38-misc.patch"
+ "${FILESDIR}/salt-3000.2-py38-logwarn.patch"
)
python_prepare() {
@@ -126,6 +128,11 @@ python_prepare() {
# make sure pkg_resources doesn't bomb because pycrypto isn't installed
find . -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d' -i || die
+ einfo "Fixing collections.abc warnings for ${EPYTHON}"
+ local abc
+ abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die
+ find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die
+
# allow the use of the renamed msgpack
sed -i '/^msgpack/d' requirements/base.txt || die
}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2020-07-13 22:33 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2020-07-13 22:33 UTC (permalink / raw
To: gentoo-commits
commit: 5dda3e3919e084562927d0179ac448e83f4b9c01
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Mon Jul 13 22:22:44 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Jul 13 22:33:29 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5dda3e39
app-admin/salt: add 2019.2.5-r1 with USE=raet removed
Was dropped because of some python3.6 only dependencies. Disabling
USE=raet makes these dependencies no longer required, the raet protocol
has been depricated upstream anyway.
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/Manifest | 1 +
.../files/salt-2019.2.0-remove-raet-tests.patch | 43 ++++++
app-admin/salt/files/salt-2019.2.0-tests.patch | 73 ++++++++++
.../salt/files/salt-2019.2.2-newer-deps.patch | 136 +++++++++++++++++++
...lt-2019.2.2-workaround-broken-mock-on-py2.patch | 28 ++++
app-admin/salt/salt-2019.2.5-r1.ebuild | 150 +++++++++++++++++++++
6 files changed, 431 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 6ceeed26bcc..97d1031e86e 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,3 +1,4 @@
+DIST salt-2019.2.5.tar.gz 14574347 BLAKE2B d456dd493e79640260f3ad3c964fdaaa26dd7bdc8d5676bd70f9dd143647c62b63aba2052e7f223041b7dd6859cd923398ad22f9d2d1302b8f18b4c69fe7aafb SHA512 95445dff498bea2bc8e3f32749131302481166c8591f11a5f76a7786c3286cb608049a743bc4878c8fbd4e4d22d4949f243f57f1e53725e7076d39aea5ceea20
DIST salt-3000.2-py38-misc.patch.gz 6250 BLAKE2B 68fff80a042e6bf208ea2d9692da7a7b1e29572f1ec3c850c14743bbf2821d231f933ec4e6d6eaad12acee0b7666888a37a72872b2b082c92d8db9de988fbbec SHA512 6d4a66323a423e630f7cc73b566ed96c452c8fc3d72c25a2dd86033c4774c1c8e8b8701e1d4ee92994d4148c398d704f419023e26d8b40c8fdd63f9d79d9d52f
DIST salt-3000.2.tar.gz 15231513 BLAKE2B 2090d0f52f953a42f1685ad190750e9c76ad6e862a3272444fef063a7605f69a6c542f04165a41fb9cdaa126a878cc133d4857faa70edc5eac4bf49bdde937ab SHA512 88e8876ed8cd18e942c2194686cda68f40fa49e69e317ca488bf58e095bcf6cdf8771d93eba7960038941cc5863e13a4eea4dad5256c12da7cd8288a2c61f59d
DIST salt-3000.3.tar.gz 15237557 BLAKE2B ab51e07f56f9e02c47da58fad95c9482ea70e0685996a78e34382eadb3a9a3dace63ef65d643a9de284ea00c34785eae631d033f32e00e59eb3639514459af33 SHA512 a4697da9a2f7d484b72145e8b83f6d9032369f87e2e7119a9d51f59b989488285406543f79142fc686c41c144f5878eefba37927137581c892c88f03fc3a8208
diff --git a/app-admin/salt/files/salt-2019.2.0-remove-raet-tests.patch b/app-admin/salt/files/salt-2019.2.0-remove-raet-tests.patch
new file mode 100644
index 00000000000..fab9f38df77
--- /dev/null
+++ b/app-admin/salt/files/salt-2019.2.0-remove-raet-tests.patch
@@ -0,0 +1,43 @@
+diff --git a/tests/unit/modules/test_event.py b/tests/unit/modules/test_event.py
+index e5d2c946ae..e9140670cb 100644
+--- a/tests/unit/modules/test_event.py
++++ b/tests/unit/modules/test_event.py
+@@ -47,12 +47,6 @@ class EventTestCase(TestCase, LoaderModuleMockMixin):
+ preload = {'id': 'id', 'tag': 'tag', 'data': 'data',
+ 'tok': 'salt', 'cmd': '_minion_event'}
+
+- with patch.dict(event.__opts__, {'transport': 'raet',
+- 'local': False}):
+- with patch.object(salt_transport_channel_factory, 'send',
+- return_value=None):
+- self.assertTrue(event.fire_master('data', 'tag'))
+-
+ with patch.dict(event.__opts__, {'transport': 'A',
+ 'master_uri': 'localhost',
+ 'local': False}):
+diff --git a/tests/unit/utils/test_verify.py b/tests/unit/utils/test_verify.py
+index 63b9ae3181..2c8294ef77 100644
+--- a/tests/unit/utils/test_verify.py
++++ b/tests/unit/utils/test_verify.py
+@@ -326,7 +326,7 @@ class TestVerifyLog(TestCase):
+ verify_log_files([path], getpass.getuser())
+ self.assertTrue(os.path.exists(path))
+
+-
++@skipIf(True, "broken under sandbox")
+ class TestCleanPath(TestCase):
+ '''
+ salt.utils.clean_path works as expected
+@@ -396,10 +396,10 @@ class TestCleanPathLink(TestCase):
+ test_path = os.path.join(self.from_path, 'test')
+ expect_path = os.path.join(self.to_path, 'test')
+ ret = clean_path(self.from_path, test_path)
+- assert ret == expect_path, "{} is not {}".format(ret, expect_path)
++ assert ret == os.path.realpath(expect_path), "{} is not {}".format(ret, expect_path)
+
+ def test_clean_path_symlinked_tgt(self):
+ test_path = os.path.join(self.to_path, 'test')
+ expect_path = os.path.join(self.to_path, 'test')
+ ret = clean_path(self.from_path, test_path)
+- assert ret == expect_path, "{} is not {}".format(ret, expect_path)
++ assert ret == os.path.realpath(expect_path), "{} is not {}".format(ret, expect_path)
diff --git a/app-admin/salt/files/salt-2019.2.0-tests.patch b/app-admin/salt/files/salt-2019.2.0-tests.patch
new file mode 100644
index 00000000000..830fcbffe36
--- /dev/null
+++ b/app-admin/salt/files/salt-2019.2.0-tests.patch
@@ -0,0 +1,73 @@
+diff --git a/tests/unit/fileserver/test_gitfs.py b/tests/unit/fileserver/test_gitfs.py
+index 4e93df4e62..38c13efb6b 100644
+--- a/tests/unit/fileserver/test_gitfs.py
++++ b/tests/unit/fileserver/test_gitfs.py
+@@ -151,6 +151,7 @@ class GitfsConfigTestCase(TestCase, LoaderModuleMockMixin):
+ if exc.errno != errno.EEXIST:
+ raise
+
++ @skipIf(True, 'currently failing on Gentoo')
+ def test_per_saltenv_config(self):
+ opts_override = textwrap.dedent('''
+ gitfs_root: salt
+diff --git a/tests/unit/grains/test_core.py b/tests/unit/grains/test_core.py
+index 445df0c98a..17ca123172 100644
+--- a/tests/unit/grains/test_core.py
++++ b/tests/unit/grains/test_core.py
+@@ -710,6 +710,7 @@ class CoreGrainsTestCase(TestCase, LoaderModuleMockMixin):
+ )
+
+ @skipIf(not salt.utils.platform.is_linux(), 'System is not Linux')
++ @skipIf(True, 'Test assumes running under Xen')
+ def test_xen_virtual(self):
+ '''
+ Test if OS grains are parsed correctly in Ubuntu Xenial Xerus
+diff --git a/tests/unit/utils/test_asynchronous.py b/tests/unit/utils/test_asynchronous.py
+index 694a7aebfe..704f2d894f 100644
+--- a/tests/unit/utils/test_asynchronous.py
++++ b/tests/unit/utils/test_asynchronous.py
+@@ -3,6 +3,8 @@
+ # Import Python Libs
+ from __future__ import absolute_import, print_function, unicode_literals
+
++from unittest import skipIf
++
+ # Import 3rd-party libs
+ import tornado.testing
+ import tornado.gen
+@@ -35,6 +37,7 @@ class HelperB(object):
+
+
+ class TestSyncWrapper(AsyncTestCase):
++ @skipIf(True, "fails in sandbox")
+ @tornado.testing.gen_test
+ def test_helpers(self):
+ '''
+@@ -56,6 +59,7 @@ class TestSyncWrapper(AsyncTestCase):
+ ret = sync.sleep()
+ self.assertTrue(ret)
+
++ @skipIf(True, "fails in sandbox")
+ def test_double(self):
+ '''
+ Test when the asynchronous wrapper object itself creates a wrap of another thing
+@@ -67,6 +71,7 @@ class TestSyncWrapper(AsyncTestCase):
+ ret = sync.sleep()
+ self.assertFalse(ret)
+
++ @skipIf(True, "fails in sandbox")
+ def test_double_sameloop(self):
+ '''
+ Test asynchronous wrappers initiated from the same IOLoop, to ensure that
+diff --git a/tests/unit/utils/test_jinja.py b/tests/unit/utils/test_jinja.py
+index da666ef4c7..e3523049b7 100644
+--- a/tests/unit/utils/test_jinja.py
++++ b/tests/unit/utils/test_jinja.py
+@@ -1102,6 +1102,7 @@ class TestCustomExtensions(TestCase):
+ dict(opts=self.local_opts, saltenv='test', salt=self.local_salt))
+ self.assertEqual(rendered, '16777216')
+
++ @skipIf(True, 'Skipping tests that require internet access')
+ @flaky
+ def test_http_query(self):
+ '''
diff --git a/app-admin/salt/files/salt-2019.2.2-newer-deps.patch b/app-admin/salt/files/salt-2019.2.2-newer-deps.patch
new file mode 100644
index 00000000000..ee3bc060417
--- /dev/null
+++ b/app-admin/salt/files/salt-2019.2.2-newer-deps.patch
@@ -0,0 +1,136 @@
+diff --git a/salt/modules/dockercompose.py b/salt/modules/dockercompose.py
+index 61e937536c..0f37e0d43a 100644
+--- a/salt/modules/dockercompose.py
++++ b/salt/modules/dockercompose.py
+@@ -241,7 +241,7 @@ def __load_docker_compose(path):
+ None, None)
+ try:
+ with salt.utils.files.fopen(file_path, 'r') as fl:
+- loaded = yaml.load(fl)
++ loaded = yaml.safe_load(fl)
+ except EnvironmentError:
+ return None, __standardize_result(False,
+ 'Could not read {0}'.format(file_path),
+@@ -371,7 +371,7 @@ def __load_compose_definitions(path, definition):
+ None, None)
+ else:
+ try:
+- loaded_definition = yaml.load(definition)
++ loaded_definition = yaml.safe_load(definition)
+ except yaml.YAMLError as yerr:
+ msg = 'Could not parse {0} {1}'.format(definition, yerr)
+ return None, None, __standardize_result(False, msg,
+diff --git a/tests/integration/utils/test_win_runas.py b/tests/integration/utils/test_win_runas.py
+index 3042a77991..d4057a4d03 100644
+--- a/tests/integration/utils/test_win_runas.py
++++ b/tests/integration/utils/test_win_runas.py
+@@ -539,7 +539,7 @@ class RunAsTest(ModuleCase):
+ win32serviceutil.StartService('test service')
+ wait_for_service('test service')
+ with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp:
+- ret = yaml.load(fp)
++ ret = yaml.safe_load(fp)
+ assert ret['retcode'] == 1, ret
+
+ @with_system_user('test-runas', on_existing='delete', delete=True,
+@@ -560,7 +560,7 @@ class RunAsTest(ModuleCase):
+ win32serviceutil.StartService('test service')
+ wait_for_service('test service')
+ with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp:
+- ret = yaml.load(fp)
++ ret = yaml.safe_load(fp)
+ assert ret['retcode'] == 1, ret
+
+ @with_system_user('test-runas-admin', on_existing='delete', delete=True,
+@@ -581,7 +581,7 @@ class RunAsTest(ModuleCase):
+ win32serviceutil.StartService('test service')
+ wait_for_service('test service')
+ with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp:
+- ret = yaml.load(fp)
++ ret = yaml.safe_load(fp)
+ assert ret['retcode'] == 0, ret
+
+ @with_system_user('test-runas-admin', on_existing='delete', delete=True,
+@@ -602,7 +602,7 @@ class RunAsTest(ModuleCase):
+ win32serviceutil.StartService('test service')
+ wait_for_service('test service')
+ with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp:
+- ret = yaml.load(fp)
++ ret = yaml.safe_load(fp)
+ assert ret['retcode'] == 0, ret
+
+ def test_runas_service_system_user(self):
+@@ -621,5 +621,5 @@ class RunAsTest(ModuleCase):
+ win32serviceutil.StartService('test service')
+ wait_for_service('test service')
+ with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp:
+- ret = yaml.load(fp)
++ ret = yaml.safe_load(fp)
+ assert ret['retcode'] == 0, ret
+diff --git a/tests/unit/utils/test_schema.py b/tests/unit/utils/test_schema.py
+index a07fcbab6b..79072bb89e 100644
+--- a/tests/unit/utils/test_schema.py
++++ b/tests/unit/utils/test_schema.py
+@@ -5,6 +5,7 @@
+
+ # Import python libs
+ from __future__ import absolute_import, print_function, unicode_literals
++import sys
+ import copy
+
+ # Import Salt Testing Libs
+@@ -506,10 +507,7 @@ class ConfigTestCase(TestCase):
+ {'personal_access_token': 'foo'},
+ Requirements.serialize()
+ )
+- if JSONSCHEMA_VERSION >= _LooseVersion('3.0.0'):
+- self.assertIn('\'ssh_key_file\' is a required property', excinfo.exception.message)
+- else:
+- self.assertIn('is not valid under any of the given schemas', excinfo.exception.message)
++ self.assertIn('\'ssh_key_file\' is a required property', excinfo.exception.message)
+
+ def test_boolean_config(self):
+ item = schema.BooleanItem(title='Hungry', description='Are you hungry?')
+@@ -1733,10 +1731,11 @@ class ConfigTestCase(TestCase):
+
+ with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
+ jsonschema.validate({'item': {'sides': '4', 'color': 'blue'}}, TestConf.serialize())
+- if JSONSCHEMA_VERSION >= _LooseVersion('3.0.0'):
+- self.assertIn('\'4\' is not of type \'boolean\'', excinfo.exception.message)
++
++ if sys.hexversion >= 0x03000000:
++ self.assertIn("'4' is not of type 'boolean'", excinfo.exception.message)
+ else:
+- self.assertIn('is not valid under any of the given schemas', excinfo.exception.message)
++ self.assertIn("u'4' is not of type u'boolean'", excinfo.exception.message)
+
+ class TestConf(schema.Schema):
+ item = schema.DictItem(
+@@ -1839,10 +1838,10 @@ class ConfigTestCase(TestCase):
+
+ with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
+ jsonschema.validate({'item': ['maybe']}, TestConf.serialize())
+- if JSONSCHEMA_VERSION >= _LooseVersion('3.0.0'):
+- self.assertIn('\'maybe\' is not one of [\'yes\']', excinfo.exception.message)
++ if sys.hexversion >= 0x03000000:
++ self.assertIn("'maybe' is not one of ['yes']", excinfo.exception.message)
+ else:
+- self.assertIn('is not valid under any of the given schemas', excinfo.exception.message)
++ self.assertIn("u'maybe' is not one of [u'yes']", excinfo.exception.message)
+
+ with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
+ jsonschema.validate({'item': 2}, TestConf.serialize())
+@@ -1894,10 +1893,10 @@ class ConfigTestCase(TestCase):
+
+ with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
+ jsonschema.validate({'item': ['maybe']}, TestConf.serialize())
+- if JSONSCHEMA_VERSION >= _LooseVersion('3.0.0'):
+- self.assertIn('\'maybe\' is not one of [\'yes\']', excinfo.exception.message)
++ if sys.hexversion >= 0x03000000:
++ self.assertIn("'maybe' is not one of ['yes']", excinfo.exception.message)
+ else:
+- self.assertIn('is not valid under any of the given schemas', excinfo.exception.message)
++ self.assertIn("u'maybe' is not one of [u'yes']", excinfo.exception.message)
+
+ with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
+ jsonschema.validate({'item': 2}, TestConf.serialize())
diff --git a/app-admin/salt/files/salt-2019.2.2-workaround-broken-mock-on-py2.patch b/app-admin/salt/files/salt-2019.2.2-workaround-broken-mock-on-py2.patch
new file mode 100644
index 00000000000..8d28fe7f16a
--- /dev/null
+++ b/app-admin/salt/files/salt-2019.2.2-workaround-broken-mock-on-py2.patch
@@ -0,0 +1,28 @@
+diff --git a/tests/unit/utils/test_network.py b/tests/unit/utils/test_network.py
+index af5cbbab2b..15236c127a 100644
+--- a/tests/unit/utils/test_network.py
++++ b/tests/unit/utils/test_network.py
+@@ -1,6 +1,7 @@
+ # -*- coding: utf-8 -*-
+ # Import Python libs
+ from __future__ import absolute_import, unicode_literals, print_function
++import sys
+ import logging
+ import socket
+ import textwrap
+@@ -249,6 +250,7 @@ class NetworkTestCase(TestCase):
+ log.error('bad host_port value: "%s" failed to trigger ValueError exception', host_port)
+ raise _e_
+
++ @skipIf(sys.hexversion < 0x03000000, "https://github.com/testing-cabal/mock/issues/323")
+ def test_dns_check(self):
+ hosts = [
+ {'host': '10.10.0.3',
+@@ -302,6 +304,7 @@ class NetworkTestCase(TestCase):
+ "Invalid or unresolveable address"):
+ network.dns_check('foo', '1')
+
++ @skipIf(sys.hexversion < 0x03000000, "https://github.com/testing-cabal/mock/issues/323")
+ def test_test_addrs(self):
+ # subset of real data from getaddrinfo against saltstack.com
+ addrinfo = [(30, 2, 17, '', ('2600:9000:21eb:a800:8:1031:abc0:93a1', 0, 0, 0)),
diff --git a/app-admin/salt/salt-2019.2.5-r1.ebuild b/app-admin/salt/salt-2019.2.5-r1.ebuild
new file mode 100644
index 00000000000..e39bedf1898
--- /dev/null
+++ b/app-admin/salt/salt-2019.2.5-r1.ebuild
@@ -0,0 +1,150 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_6 )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+inherit systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="https://www.saltstack.com/resources/community/
+ https://github.com/saltstack"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb neutron nova
+ openssl portage profile redis selinux test vim-syntax"
+
+RDEPEND="
+ sys-apps/pciutils
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/libnacl[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
+ <dev-python/msgpack-1.0[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ dev-python/pycryptodome[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
+ <www-servers/tornado-5.0[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
+ openssl? (
+ dev-libs/openssl:0=[-bindist]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
+ neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ >=dev-python/pytest-salt-2018.12.8[${PYTHON_USEDEP}]
+ <dev-python/pytest-salt-2020.0.0[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ !x86? ( >=dev-python/boto3-1.2.1[${PYTHON_USEDEP}] )
+ ${RDEPEND}
+ )"
+
+DOCS=( README.rst AUTHORS )
+
+RESTRICT="!test? ( test ) x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/salt-2017.7.0-dont-realpath-tmpdir.patch"
+ "${FILESDIR}/salt-2019.2.0-tests.patch"
+ "${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch"
+ "${FILESDIR}/salt-2019.2.2-newer-deps.patch"
+ "${FILESDIR}/salt-2019.2.2-workaround-broken-mock-on-py2.patch"
+ "${FILESDIR}/salt-2019.2.0-remove-raet-tests.patch"
+)
+
+python_prepare() {
+ # remove tests with external dependencies that may not be available
+ rm tests/unit/{test_zypp_plugins.py,utils/test_extend.py} || die
+ rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
+ rm tests/unit/states/test_boto_vpc.py || die
+
+ # breaks with permission errors
+ rm tests/unit/utils/test_cache.py || die
+
+ # remove raet due to deps being dropped
+ rm tests/unit/modules/test_raet_publish.py \
+ salt/transport/raet.py \
+ salt/daemons/test/test_raetkey.py || die
+
+ # allow the use of the renamed msgpack
+ sed -i '/^msgpack/d' requirements/base.txt || die
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ local tempdir
+ # testsuite likes lots of files
+ ulimit -n 3072 || die
+
+ # ${T} is too long a path for the tests to work
+ tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
+ mkdir "${T}/$(basename "${tempdir}")"
+ mkdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
+
+ (
+ cleanup() { rm -f "${tempdir}" || die; }
+
+ trap cleanup EXIT
+
+ addwrite "${tempdir}"
+ ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}" || die
+
+ USE_SETUPTOOLS=1 SHELL="/bin/bash" \
+ TMPDIR="${tempdir}" \
+ ${EPYTHON} tests/runtests.py \
+ --unit-tests --no-report --verbose \
+ || die "testing failed with ${EPYTHON}"
+ )
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2020-10-31 1:36 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2020-10-31 1:36 UTC (permalink / raw
To: gentoo-commits
commit: 5b526a1d6b0fff6bf8834b27adc4b4e08e3e2ebb
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Sat Oct 31 01:36:31 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Sat Oct 31 01:36:45 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b526a1d
app-admin/salt-3002: Version bump (bug #750815)
Closes: https://bugs.gentoo.org/750815
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.8, Repoman-3.0.2
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/Manifest | 1 +
.../files/salt-3002-dont-realpath-on-tmpdir.patch | 38 +++++
app-admin/salt/files/salt-3002-tests.patch | 27 +++
app-admin/salt/salt-3002.ebuild | 183 +++++++++++++++++++++
4 files changed, 249 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 4f594f7a094..e98dc8130cb 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -3,3 +3,4 @@ DIST salt-3000.2-py38-misc.patch.gz 6250 BLAKE2B 68fff80a042e6bf208ea2d9692da7a7
DIST salt-3000.2.tar.gz 15231513 BLAKE2B 2090d0f52f953a42f1685ad190750e9c76ad6e862a3272444fef063a7605f69a6c542f04165a41fb9cdaa126a878cc133d4857faa70edc5eac4bf49bdde937ab SHA512 88e8876ed8cd18e942c2194686cda68f40fa49e69e317ca488bf58e095bcf6cdf8771d93eba7960038941cc5863e13a4eea4dad5256c12da7cd8288a2c61f59d
DIST salt-3000.3.tar.gz 15237557 BLAKE2B ab51e07f56f9e02c47da58fad95c9482ea70e0685996a78e34382eadb3a9a3dace63ef65d643a9de284ea00c34785eae631d033f32e00e59eb3639514459af33 SHA512 a4697da9a2f7d484b72145e8b83f6d9032369f87e2e7119a9d51f59b989488285406543f79142fc686c41c144f5878eefba37927137581c892c88f03fc3a8208
DIST salt-3001.1.tar.gz 14556156 BLAKE2B 3088955a07b6ff95588f5b6235e0bae9cea366e957e026bacd228af9f1ed500f88f7fb543833f2398d64fe7e4546f0f29d7c65362464097bf89424174e76c954 SHA512 d59b6c3580d3379192f36e462385c74b53b0b385e63b3db7734003d0a71df8f88593a59eeccd86b1dc15800e46d050094e7a88f2636673770ddc952d0110ca29
+DIST salt-3002.tar.gz 15741439 BLAKE2B 7463cfe558515697177fedb25fdf9f2e2819b62e3a96c8196b4243a4f2a59a202ac5a3869138b2df00fb47238329ba102396b464379f09d2a79c8c0a672638fb SHA512 7a3ed78b301e9c1ef65c8e6aeeaebc2376b3942e94e38b0591860fa1d9213c6c0f85db4d932b4c7c9d20717027a686690973d0dfd2aff17f44abae0ec0e97d31
diff --git a/app-admin/salt/files/salt-3002-dont-realpath-on-tmpdir.patch b/app-admin/salt/files/salt-3002-dont-realpath-on-tmpdir.patch
new file mode 100644
index 00000000000..5ef68dcd180
--- /dev/null
+++ b/app-admin/salt/files/salt-3002-dont-realpath-on-tmpdir.patch
@@ -0,0 +1,38 @@
+diff --git a/tests/integration/files/file/base/_modules/runtests_helpers.py b/tests/integration/files/file/base/_modules/runtests_helpers.py
+index 3ee0e2da5f..5b462f0a9e 100644
+--- a/tests/integration/files/file/base/_modules/runtests_helpers.py
++++ b/tests/integration/files/file/base/_modules/runtests_helpers.py
+@@ -18,7 +18,7 @@ try:
+ from tests.support.runtests import RUNTIME_VARS
+ except ImportError:
+ # Salt SSH Tests
+- SYS_TMP_DIR = os.path.realpath(
++ SYS_TMP_DIR = os.path.abspath(
+ # Avoid ${TMPDIR} and gettempdir() on MacOS as they yield a base path too long
+ # for unix sockets: ``error: AF_UNIX path too long``
+ # Gentoo Portage prefers ebuild tests are rooted in ${TMPDIR}
+diff --git a/tests/support/paths.py b/tests/support/paths.py
+index 5f28904858..26245fadf9 100644
+--- a/tests/support/paths.py
++++ b/tests/support/paths.py
+@@ -48,14 +48,12 @@ if TESTS_DIR not in sys.path:
+ sys.path.insert(1, TESTS_DIR)
+
+ SYS_TMP_DIR = os.path.abspath(
+- os.path.realpath(
+- # Avoid ${TMPDIR} and gettempdir() on MacOS as they yield a base path too long
+- # for unix sockets: ``error: AF_UNIX path too long``
+- # Gentoo Portage prefers ebuild tests are rooted in ${TMPDIR}
+- os.environ.get("TMPDIR", tempfile.gettempdir())
+- if not sys.platform.startswith("darwin")
+- else "/tmp"
+- )
++ # Avoid ${TMPDIR} and gettempdir() on MacOS as they yield a base path too long
++ # for unix sockets: ``error: AF_UNIX path too long``
++ # Gentoo Portage prefers ebuild tests are rooted in ${TMPDIR}
++ os.environ.get("TMPDIR", tempfile.gettempdir())
++ if not sys.platform.startswith("darwin")
++ else "/tmp"
+ )
+ TMP = os.path.join(SYS_TMP_DIR, "salt-tests-tmpdir")
+ TMP_ROOT_DIR = os.path.join(TMP, "rootdir")
diff --git a/app-admin/salt/files/salt-3002-tests.patch b/app-admin/salt/files/salt-3002-tests.patch
new file mode 100644
index 00000000000..88e1ce59056
--- /dev/null
+++ b/app-admin/salt/files/salt-3002-tests.patch
@@ -0,0 +1,27 @@
+diff --git a/tests/unit/utils/test_verify.py b/tests/unit/utils/test_verify.py
+index 5662cf621b..16aa6d08da 100644
+--- a/tests/unit/utils/test_verify.py
++++ b/tests/unit/utils/test_verify.py
+@@ -329,6 +329,7 @@ class TestVerifyLog(TestCase):
+ self.assertTrue(os.path.exists(path))
+
+
++@skipIf(True, "skipping since temp dir is a symlink")
+ class TestCleanPath(TestCase):
+ """
+ salt.utils.clean_path works as expected
+@@ -394,12 +395,14 @@ class TestCleanPathLink(TestCase):
+ def tearDown(self):
+ shutil.rmtree(self.tmpdir)
+
++ @skipIf(True, "skipping since temp dir is a symlink")
+ def test_clean_path_symlinked_src(self):
+ test_path = os.path.join(self.from_path, "test")
+ expect_path = os.path.join(self.to_path, "test")
+ ret = clean_path(self.from_path, test_path)
+ assert ret == expect_path, "{} is not {}".format(ret, expect_path)
+
++ @skipIf(True, "skipping since temp dir is a symlink")
+ def test_clean_path_symlinked_tgt(self):
+ test_path = os.path.join(self.to_path, "test")
+ expect_path = os.path.join(self.to_path, "test")
diff --git a/app-admin/salt/salt-3002.ebuild b/app-admin/salt/salt-3002.ebuild
new file mode 100644
index 00000000000..59838e3e579
--- /dev/null
+++ b/app-admin/salt/salt-3002.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7..8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+inherit systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="https://www.saltstack.com/resources/community/
+ https://github.com/saltstack"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
+ mongodb neutron nova openssl portage profile redis selinux test raet
+ +zeromq vim-syntax"
+
+RDEPEND="
+ sys-apps/pciutils
+ >=dev-python/distro-1.5[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/libnacl[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
+ dev-python/pycryptodomex[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/toml[${PYTHON_USEDEP}]
+ dev-python/watchdog[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? (
+ $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_7)
+ )
+ openssl? (
+ dev-libs/openssl:0=[-bindist]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ cheetah? ( dev-python/cheetah3[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ nova? (
+ $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_7)
+ )
+ neutron? (
+ $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_7)
+ )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )
+ zeromq? ( >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ >=dev-python/pytest-salt-factories-0.93.0[${PYTHON_USEDEP}]
+ dev-python/pytest-tempdir[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.0.20[${PYTHON_USEDEP}]
+ !x86? ( >=dev-python/boto3-1.3.15[${PYTHON_USEDEP}] )
+ )"
+
+DOCS=( README.rst AUTHORS )
+
+REQUIRED_USE="|| ( raet zeromq )
+ test? ( cheetah genshi )"
+RESTRICT="!test? ( test ) x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch"
+ "${FILESDIR}/salt-3002-dont-realpath-on-tmpdir.patch"
+ "${FILESDIR}/salt-3002-tests.patch"
+)
+
+python_prepare_all() {
+ # remove tests with external dependencies that may not be available
+ rm tests/unit/{test_zypp_plugins.py,utils/test_extend.py} || die
+ rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
+ rm tests/unit/states/test_boto_vpc.py || die
+ rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
+
+ # tests that require network access
+ rm tests/unit/{states,modules}/test_zcbuildout.py || die
+
+ # make sure pkg_resources doesn't bomb because pycrypto isn't installed
+ find . -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d' -i || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_prepare() {
+ einfo "Fixing collections.abc warnings for ${EPYTHON}"
+ local abc
+ abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die
+ find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ local tempdir
+ # testsuite likes lots of files
+ ulimit -n 3072 || die
+
+ # ${T} is too long a path for the tests to work
+ tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
+ mkdir "${T}/$(basename "${tempdir}")"
+
+ (
+ cleanup() { rm -f "${tempdir}" || die; }
+
+ trap cleanup EXIT
+
+ addwrite "${tempdir}"
+ ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}" || die
+
+ USE_SETUPTOOLS=1 SHELL="/bin/bash" \
+ TMPDIR="${tempdir}" \
+ ${EPYTHON} tests/runtests.py \
+ --unit-tests --no-report --verbose \
+ || die "testing failed with ${EPYTHON}"
+ )
+}
+
+pkg_postinst() {
+ if use python_targets_python3_8; then
+ if use nova; then
+ ewarn "Salt's nova functionality will not work with python3.8 since"
+ ewarn "dev-python/python-novaclient does not support it yet"
+ fi
+ if use neutron; then
+ ewarn "Salt's neutron functionality will not work with python3.8 since"
+ ewarn "dev-python/python-neutronclient does not support it yet"
+ fi
+ if use libvirt; then
+ ewarn "Salt's libvirt functionality will not work with python3.8 since"
+ ewarn "dev-python/libvirt-python does not support it yet"
+ fi
+ fi
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2020-12-17 5:45 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2020-12-17 5:45 UTC (permalink / raw
To: gentoo-commits
commit: d86d834bde97b2563a713c68ed82aaf4e53add7e
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Thu Dec 17 02:35:30 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Dec 17 05:45:00 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d86d834b
app-admin/salt-2019.2.8: Version bump
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/Manifest | 1 +
.../files/salt-2019.2.8-ansible-roster-fix.patch | 13 ++
app-admin/salt/salt-2019.2.8.ebuild | 151 +++++++++++++++++++++
3 files changed, 165 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 2ac160e4088..1a3cd3840df 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,4 +1,5 @@
DIST salt-2019.2.7.tar.gz 14576515 BLAKE2B 4b2476c874a806de8664abd7852d5f856fc1946cc021d3ec8d206f69ec3cd809fe156d4d916d00304c36aad1dfab3a60309eb87d21ce7bb9afc7e8ea77ac23aa SHA512 e9a0d1ada0172239a31c6a8a628e71367aba072c06fe5420f4b864b9c67da89edd03f95abd46fd9ae414c2262b4e7e5c7f53c606f9f3f58e4c84129f2ed43c9e
+DIST salt-2019.2.8.tar.gz 14595964 BLAKE2B 7551bbfffe6e4f3107806ef95c9ad1b3fdff6274e8fa679bee143be203929df6d51dcc1e704d1e9458e8051197277257c68c7fd18cf54cad1c49314574c8471b SHA512 e4b45ee264a4e663c6039ca6c89ea0aeff1273b2b40b4d799a30cdb6b23cf568be81e4807ecb2832b2a596993f1512ef45d68e444f3b32e6f5a38d8ce548ddac
DIST salt-3000.2-py38-misc.patch.gz 6250 BLAKE2B 68fff80a042e6bf208ea2d9692da7a7b1e29572f1ec3c850c14743bbf2821d231f933ec4e6d6eaad12acee0b7666888a37a72872b2b082c92d8db9de988fbbec SHA512 6d4a66323a423e630f7cc73b566ed96c452c8fc3d72c25a2dd86033c4774c1c8e8b8701e1d4ee92994d4148c398d704f419023e26d8b40c8fdd63f9d79d9d52f
DIST salt-3000.5.tar.gz 15229450 BLAKE2B 135e9b9dcc461ac898231ce46e6a1359e6d60a43822320950bc0b83057f768dadf55320dd73df72d5bc917f324eef4661e6f75d8eb8e84aef958bd2df8924cfc SHA512 2579f65c24d22d77132057bd8cf37040d7d149624745dd68b4c44318be786580dcc34bf563f90d7de9ef5b726b2453bef4d8639bc8fbd9c5e691500520335317
DIST salt-3001.3.tar.gz 14553356 BLAKE2B 50d073d39826fb15cb424df3e55c2308dd18391c13a5c4a3fb01c1e1ecd8636dd45fdf34b1937563d069e51141fc40f48f77eaec6b1e1d6f9802418e611b20b1 SHA512 a3c0f019fbe1f1edac11af291667f06597dbf4badeb0026107dcab4937efcb306ca6d3ba20195ff9fea5ee7a995db1c3a79236de3e990fc809c305e7f05e1c9d
diff --git a/app-admin/salt/files/salt-2019.2.8-ansible-roster-fix.patch b/app-admin/salt/files/salt-2019.2.8-ansible-roster-fix.patch
new file mode 100644
index 00000000000..597c97e8777
--- /dev/null
+++ b/app-admin/salt/files/salt-2019.2.8-ansible-roster-fix.patch
@@ -0,0 +1,13 @@
+diff --git a/salt/roster/ansible.py b/salt/roster/ansible.py
+index f4a2a23e0b..e6b9e80247 100644
+--- a/salt/roster/ansible.py
++++ b/salt/roster/ansible.py
+@@ -129,7 +129,7 @@ def targets(tgt, tgt_type='glob', **kwargs):
+
+ def _get_hosts_from_group(group):
+ inventory = __context__['inventory']
+- hosts = [host for host in inventory[group].get('hosts', [])]
++ hosts = [host for host in inventory.setdefault(group, {}).get('hosts', [])]
+ for child in inventory[group].get('children', []):
+ hosts.extend(_get_hosts_from_group(child))
+ return hosts
diff --git a/app-admin/salt/salt-2019.2.8.ebuild b/app-admin/salt/salt-2019.2.8.ebuild
new file mode 100644
index 00000000000..2a0b207dfee
--- /dev/null
+++ b/app-admin/salt/salt-2019.2.8.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_6 )
+DISTUTILS_USE_SETUPTOOLS=no
+inherit systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="https://www.saltstack.com/resources/community/
+ https://github.com/saltstack"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb neutron nova
+ openssl portage profile redis selinux test vim-syntax"
+
+RDEPEND="
+ sys-apps/pciutils
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/libnacl[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
+ <dev-python/msgpack-1.0[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ dev-python/pycryptodome[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
+ <www-servers/tornado-5.0[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
+ openssl? (
+ dev-libs/openssl:0=[-bindist]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
+ neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ >=dev-python/pytest-salt-2018.12.8[${PYTHON_USEDEP}]
+ <dev-python/pytest-salt-2020.0.0[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ !x86? ( >=dev-python/boto3-1.2.1[${PYTHON_USEDEP}] )
+ ${RDEPEND}
+ )"
+
+DOCS=( README.rst AUTHORS )
+
+RESTRICT="!test? ( test ) x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/salt-2017.7.0-dont-realpath-tmpdir.patch"
+ "${FILESDIR}/salt-2019.2.0-tests.patch"
+ "${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch"
+ "${FILESDIR}/salt-2019.2.2-newer-deps.patch"
+ "${FILESDIR}/salt-2019.2.2-workaround-broken-mock-on-py2.patch"
+ "${FILESDIR}/salt-2019.2.0-remove-raet-tests.patch"
+ "${FILESDIR}/salt-2019.2.8-ansible-roster-fix.patch"
+)
+
+python_prepare() {
+ # remove tests with external dependencies that may not be available
+ rm tests/unit/{test_zypp_plugins.py,utils/test_extend.py} || die
+ rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
+ rm tests/unit/states/test_boto_vpc.py || die
+
+ # breaks with permission errors
+ rm tests/unit/utils/test_cache.py || die
+
+ # remove raet due to deps being dropped
+ rm tests/unit/modules/test_raet_publish.py \
+ salt/transport/raet.py \
+ salt/daemons/test/test_raetkey.py || die
+
+ # allow the use of the renamed msgpack
+ sed -i '/^msgpack/d' requirements/base.txt || die
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ local tempdir
+ # testsuite likes lots of files
+ ulimit -n 3072 || die
+
+ # ${T} is too long a path for the tests to work
+ tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
+ mkdir "${T}/$(basename "${tempdir}")"
+ mkdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
+
+ (
+ cleanup() { rm -f "${tempdir}" || die; }
+
+ trap cleanup EXIT
+
+ addwrite "${tempdir}"
+ ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}" || die
+
+ USE_SETUPTOOLS=1 SHELL="/bin/bash" \
+ TMPDIR="${tempdir}" \
+ ${EPYTHON} tests/runtests.py \
+ --unit-tests --no-report --verbose \
+ || die "testing failed with ${EPYTHON}"
+ )
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2021-01-01 0:47 Michał Górny
0 siblings, 0 replies; 35+ messages in thread
From: Michał Górny @ 2021-01-01 0:47 UTC (permalink / raw
To: gentoo-commits
commit: 5ecb9047a915535adb7102488fbaf6225a91952f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 1 00:40:25 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jan 1 00:40:25 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ecb9047
app-admin/salt: Remove old (py3.6)
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
app-admin/salt/Manifest | 2 -
.../files/salt-2019.2.0-remove-raet-tests.patch | 43 ------
app-admin/salt/files/salt-2019.2.0-tests.patch | 73 ----------
.../salt/files/salt-2019.2.2-newer-deps.patch | 136 -------------------
...lt-2019.2.2-workaround-broken-mock-on-py2.patch | 28 ----
app-admin/salt/salt-2019.2.7.ebuild | 150 --------------------
app-admin/salt/salt-2019.2.8.ebuild | 151 ---------------------
7 files changed, 583 deletions(-)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 8b84c3d584e..fff5f12537f 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,5 +1,3 @@
-DIST salt-2019.2.7.tar.gz 14576515 BLAKE2B 4b2476c874a806de8664abd7852d5f856fc1946cc021d3ec8d206f69ec3cd809fe156d4d916d00304c36aad1dfab3a60309eb87d21ce7bb9afc7e8ea77ac23aa SHA512 e9a0d1ada0172239a31c6a8a628e71367aba072c06fe5420f4b864b9c67da89edd03f95abd46fd9ae414c2262b4e7e5c7f53c606f9f3f58e4c84129f2ed43c9e
-DIST salt-2019.2.8.tar.gz 14595964 BLAKE2B 7551bbfffe6e4f3107806ef95c9ad1b3fdff6274e8fa679bee143be203929df6d51dcc1e704d1e9458e8051197277257c68c7fd18cf54cad1c49314574c8471b SHA512 e4b45ee264a4e663c6039ca6c89ea0aeff1273b2b40b4d799a30cdb6b23cf568be81e4807ecb2832b2a596993f1512ef45d68e444f3b32e6f5a38d8ce548ddac
DIST salt-3000.2-py38-misc.patch.gz 6250 BLAKE2B 68fff80a042e6bf208ea2d9692da7a7b1e29572f1ec3c850c14743bbf2821d231f933ec4e6d6eaad12acee0b7666888a37a72872b2b082c92d8db9de988fbbec SHA512 6d4a66323a423e630f7cc73b566ed96c452c8fc3d72c25a2dd86033c4774c1c8e8b8701e1d4ee92994d4148c398d704f419023e26d8b40c8fdd63f9d79d9d52f
DIST salt-3000.5.tar.gz 15229450 BLAKE2B 135e9b9dcc461ac898231ce46e6a1359e6d60a43822320950bc0b83057f768dadf55320dd73df72d5bc917f324eef4661e6f75d8eb8e84aef958bd2df8924cfc SHA512 2579f65c24d22d77132057bd8cf37040d7d149624745dd68b4c44318be786580dcc34bf563f90d7de9ef5b726b2453bef4d8639bc8fbd9c5e691500520335317
DIST salt-3000.6.tar.gz 15236781 BLAKE2B 5a532a6915b331fb532dc6e1651cf8fca3e1a5e9f29f6d75260fdb1162dbfeec755c65f7c6fc28b1cc7dc3ace978547830af31aafc1eee8419bbc7e695725787 SHA512 739e3671766c45a0ef1eb45933c7f00f14586e91f4c4a79cbed913a48961a48baee853206ba569491756e8a872d22f3635eb6bc1a366020e551c567b2334c508
diff --git a/app-admin/salt/files/salt-2019.2.0-remove-raet-tests.patch b/app-admin/salt/files/salt-2019.2.0-remove-raet-tests.patch
deleted file mode 100644
index fab9f38df77..00000000000
--- a/app-admin/salt/files/salt-2019.2.0-remove-raet-tests.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-diff --git a/tests/unit/modules/test_event.py b/tests/unit/modules/test_event.py
-index e5d2c946ae..e9140670cb 100644
---- a/tests/unit/modules/test_event.py
-+++ b/tests/unit/modules/test_event.py
-@@ -47,12 +47,6 @@ class EventTestCase(TestCase, LoaderModuleMockMixin):
- preload = {'id': 'id', 'tag': 'tag', 'data': 'data',
- 'tok': 'salt', 'cmd': '_minion_event'}
-
-- with patch.dict(event.__opts__, {'transport': 'raet',
-- 'local': False}):
-- with patch.object(salt_transport_channel_factory, 'send',
-- return_value=None):
-- self.assertTrue(event.fire_master('data', 'tag'))
--
- with patch.dict(event.__opts__, {'transport': 'A',
- 'master_uri': 'localhost',
- 'local': False}):
-diff --git a/tests/unit/utils/test_verify.py b/tests/unit/utils/test_verify.py
-index 63b9ae3181..2c8294ef77 100644
---- a/tests/unit/utils/test_verify.py
-+++ b/tests/unit/utils/test_verify.py
-@@ -326,7 +326,7 @@ class TestVerifyLog(TestCase):
- verify_log_files([path], getpass.getuser())
- self.assertTrue(os.path.exists(path))
-
--
-+@skipIf(True, "broken under sandbox")
- class TestCleanPath(TestCase):
- '''
- salt.utils.clean_path works as expected
-@@ -396,10 +396,10 @@ class TestCleanPathLink(TestCase):
- test_path = os.path.join(self.from_path, 'test')
- expect_path = os.path.join(self.to_path, 'test')
- ret = clean_path(self.from_path, test_path)
-- assert ret == expect_path, "{} is not {}".format(ret, expect_path)
-+ assert ret == os.path.realpath(expect_path), "{} is not {}".format(ret, expect_path)
-
- def test_clean_path_symlinked_tgt(self):
- test_path = os.path.join(self.to_path, 'test')
- expect_path = os.path.join(self.to_path, 'test')
- ret = clean_path(self.from_path, test_path)
-- assert ret == expect_path, "{} is not {}".format(ret, expect_path)
-+ assert ret == os.path.realpath(expect_path), "{} is not {}".format(ret, expect_path)
diff --git a/app-admin/salt/files/salt-2019.2.0-tests.patch b/app-admin/salt/files/salt-2019.2.0-tests.patch
deleted file mode 100644
index 830fcbffe36..00000000000
--- a/app-admin/salt/files/salt-2019.2.0-tests.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-diff --git a/tests/unit/fileserver/test_gitfs.py b/tests/unit/fileserver/test_gitfs.py
-index 4e93df4e62..38c13efb6b 100644
---- a/tests/unit/fileserver/test_gitfs.py
-+++ b/tests/unit/fileserver/test_gitfs.py
-@@ -151,6 +151,7 @@ class GitfsConfigTestCase(TestCase, LoaderModuleMockMixin):
- if exc.errno != errno.EEXIST:
- raise
-
-+ @skipIf(True, 'currently failing on Gentoo')
- def test_per_saltenv_config(self):
- opts_override = textwrap.dedent('''
- gitfs_root: salt
-diff --git a/tests/unit/grains/test_core.py b/tests/unit/grains/test_core.py
-index 445df0c98a..17ca123172 100644
---- a/tests/unit/grains/test_core.py
-+++ b/tests/unit/grains/test_core.py
-@@ -710,6 +710,7 @@ class CoreGrainsTestCase(TestCase, LoaderModuleMockMixin):
- )
-
- @skipIf(not salt.utils.platform.is_linux(), 'System is not Linux')
-+ @skipIf(True, 'Test assumes running under Xen')
- def test_xen_virtual(self):
- '''
- Test if OS grains are parsed correctly in Ubuntu Xenial Xerus
-diff --git a/tests/unit/utils/test_asynchronous.py b/tests/unit/utils/test_asynchronous.py
-index 694a7aebfe..704f2d894f 100644
---- a/tests/unit/utils/test_asynchronous.py
-+++ b/tests/unit/utils/test_asynchronous.py
-@@ -3,6 +3,8 @@
- # Import Python Libs
- from __future__ import absolute_import, print_function, unicode_literals
-
-+from unittest import skipIf
-+
- # Import 3rd-party libs
- import tornado.testing
- import tornado.gen
-@@ -35,6 +37,7 @@ class HelperB(object):
-
-
- class TestSyncWrapper(AsyncTestCase):
-+ @skipIf(True, "fails in sandbox")
- @tornado.testing.gen_test
- def test_helpers(self):
- '''
-@@ -56,6 +59,7 @@ class TestSyncWrapper(AsyncTestCase):
- ret = sync.sleep()
- self.assertTrue(ret)
-
-+ @skipIf(True, "fails in sandbox")
- def test_double(self):
- '''
- Test when the asynchronous wrapper object itself creates a wrap of another thing
-@@ -67,6 +71,7 @@ class TestSyncWrapper(AsyncTestCase):
- ret = sync.sleep()
- self.assertFalse(ret)
-
-+ @skipIf(True, "fails in sandbox")
- def test_double_sameloop(self):
- '''
- Test asynchronous wrappers initiated from the same IOLoop, to ensure that
-diff --git a/tests/unit/utils/test_jinja.py b/tests/unit/utils/test_jinja.py
-index da666ef4c7..e3523049b7 100644
---- a/tests/unit/utils/test_jinja.py
-+++ b/tests/unit/utils/test_jinja.py
-@@ -1102,6 +1102,7 @@ class TestCustomExtensions(TestCase):
- dict(opts=self.local_opts, saltenv='test', salt=self.local_salt))
- self.assertEqual(rendered, '16777216')
-
-+ @skipIf(True, 'Skipping tests that require internet access')
- @flaky
- def test_http_query(self):
- '''
diff --git a/app-admin/salt/files/salt-2019.2.2-newer-deps.patch b/app-admin/salt/files/salt-2019.2.2-newer-deps.patch
deleted file mode 100644
index ee3bc060417..00000000000
--- a/app-admin/salt/files/salt-2019.2.2-newer-deps.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-diff --git a/salt/modules/dockercompose.py b/salt/modules/dockercompose.py
-index 61e937536c..0f37e0d43a 100644
---- a/salt/modules/dockercompose.py
-+++ b/salt/modules/dockercompose.py
-@@ -241,7 +241,7 @@ def __load_docker_compose(path):
- None, None)
- try:
- with salt.utils.files.fopen(file_path, 'r') as fl:
-- loaded = yaml.load(fl)
-+ loaded = yaml.safe_load(fl)
- except EnvironmentError:
- return None, __standardize_result(False,
- 'Could not read {0}'.format(file_path),
-@@ -371,7 +371,7 @@ def __load_compose_definitions(path, definition):
- None, None)
- else:
- try:
-- loaded_definition = yaml.load(definition)
-+ loaded_definition = yaml.safe_load(definition)
- except yaml.YAMLError as yerr:
- msg = 'Could not parse {0} {1}'.format(definition, yerr)
- return None, None, __standardize_result(False, msg,
-diff --git a/tests/integration/utils/test_win_runas.py b/tests/integration/utils/test_win_runas.py
-index 3042a77991..d4057a4d03 100644
---- a/tests/integration/utils/test_win_runas.py
-+++ b/tests/integration/utils/test_win_runas.py
-@@ -539,7 +539,7 @@ class RunAsTest(ModuleCase):
- win32serviceutil.StartService('test service')
- wait_for_service('test service')
- with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp:
-- ret = yaml.load(fp)
-+ ret = yaml.safe_load(fp)
- assert ret['retcode'] == 1, ret
-
- @with_system_user('test-runas', on_existing='delete', delete=True,
-@@ -560,7 +560,7 @@ class RunAsTest(ModuleCase):
- win32serviceutil.StartService('test service')
- wait_for_service('test service')
- with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp:
-- ret = yaml.load(fp)
-+ ret = yaml.safe_load(fp)
- assert ret['retcode'] == 1, ret
-
- @with_system_user('test-runas-admin', on_existing='delete', delete=True,
-@@ -581,7 +581,7 @@ class RunAsTest(ModuleCase):
- win32serviceutil.StartService('test service')
- wait_for_service('test service')
- with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp:
-- ret = yaml.load(fp)
-+ ret = yaml.safe_load(fp)
- assert ret['retcode'] == 0, ret
-
- @with_system_user('test-runas-admin', on_existing='delete', delete=True,
-@@ -602,7 +602,7 @@ class RunAsTest(ModuleCase):
- win32serviceutil.StartService('test service')
- wait_for_service('test service')
- with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp:
-- ret = yaml.load(fp)
-+ ret = yaml.safe_load(fp)
- assert ret['retcode'] == 0, ret
-
- def test_runas_service_system_user(self):
-@@ -621,5 +621,5 @@ class RunAsTest(ModuleCase):
- win32serviceutil.StartService('test service')
- wait_for_service('test service')
- with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp:
-- ret = yaml.load(fp)
-+ ret = yaml.safe_load(fp)
- assert ret['retcode'] == 0, ret
-diff --git a/tests/unit/utils/test_schema.py b/tests/unit/utils/test_schema.py
-index a07fcbab6b..79072bb89e 100644
---- a/tests/unit/utils/test_schema.py
-+++ b/tests/unit/utils/test_schema.py
-@@ -5,6 +5,7 @@
-
- # Import python libs
- from __future__ import absolute_import, print_function, unicode_literals
-+import sys
- import copy
-
- # Import Salt Testing Libs
-@@ -506,10 +507,7 @@ class ConfigTestCase(TestCase):
- {'personal_access_token': 'foo'},
- Requirements.serialize()
- )
-- if JSONSCHEMA_VERSION >= _LooseVersion('3.0.0'):
-- self.assertIn('\'ssh_key_file\' is a required property', excinfo.exception.message)
-- else:
-- self.assertIn('is not valid under any of the given schemas', excinfo.exception.message)
-+ self.assertIn('\'ssh_key_file\' is a required property', excinfo.exception.message)
-
- def test_boolean_config(self):
- item = schema.BooleanItem(title='Hungry', description='Are you hungry?')
-@@ -1733,10 +1731,11 @@ class ConfigTestCase(TestCase):
-
- with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
- jsonschema.validate({'item': {'sides': '4', 'color': 'blue'}}, TestConf.serialize())
-- if JSONSCHEMA_VERSION >= _LooseVersion('3.0.0'):
-- self.assertIn('\'4\' is not of type \'boolean\'', excinfo.exception.message)
-+
-+ if sys.hexversion >= 0x03000000:
-+ self.assertIn("'4' is not of type 'boolean'", excinfo.exception.message)
- else:
-- self.assertIn('is not valid under any of the given schemas', excinfo.exception.message)
-+ self.assertIn("u'4' is not of type u'boolean'", excinfo.exception.message)
-
- class TestConf(schema.Schema):
- item = schema.DictItem(
-@@ -1839,10 +1838,10 @@ class ConfigTestCase(TestCase):
-
- with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
- jsonschema.validate({'item': ['maybe']}, TestConf.serialize())
-- if JSONSCHEMA_VERSION >= _LooseVersion('3.0.0'):
-- self.assertIn('\'maybe\' is not one of [\'yes\']', excinfo.exception.message)
-+ if sys.hexversion >= 0x03000000:
-+ self.assertIn("'maybe' is not one of ['yes']", excinfo.exception.message)
- else:
-- self.assertIn('is not valid under any of the given schemas', excinfo.exception.message)
-+ self.assertIn("u'maybe' is not one of [u'yes']", excinfo.exception.message)
-
- with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
- jsonschema.validate({'item': 2}, TestConf.serialize())
-@@ -1894,10 +1893,10 @@ class ConfigTestCase(TestCase):
-
- with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
- jsonschema.validate({'item': ['maybe']}, TestConf.serialize())
-- if JSONSCHEMA_VERSION >= _LooseVersion('3.0.0'):
-- self.assertIn('\'maybe\' is not one of [\'yes\']', excinfo.exception.message)
-+ if sys.hexversion >= 0x03000000:
-+ self.assertIn("'maybe' is not one of ['yes']", excinfo.exception.message)
- else:
-- self.assertIn('is not valid under any of the given schemas', excinfo.exception.message)
-+ self.assertIn("u'maybe' is not one of [u'yes']", excinfo.exception.message)
-
- with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
- jsonschema.validate({'item': 2}, TestConf.serialize())
diff --git a/app-admin/salt/files/salt-2019.2.2-workaround-broken-mock-on-py2.patch b/app-admin/salt/files/salt-2019.2.2-workaround-broken-mock-on-py2.patch
deleted file mode 100644
index 8d28fe7f16a..00000000000
--- a/app-admin/salt/files/salt-2019.2.2-workaround-broken-mock-on-py2.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/tests/unit/utils/test_network.py b/tests/unit/utils/test_network.py
-index af5cbbab2b..15236c127a 100644
---- a/tests/unit/utils/test_network.py
-+++ b/tests/unit/utils/test_network.py
-@@ -1,6 +1,7 @@
- # -*- coding: utf-8 -*-
- # Import Python libs
- from __future__ import absolute_import, unicode_literals, print_function
-+import sys
- import logging
- import socket
- import textwrap
-@@ -249,6 +250,7 @@ class NetworkTestCase(TestCase):
- log.error('bad host_port value: "%s" failed to trigger ValueError exception', host_port)
- raise _e_
-
-+ @skipIf(sys.hexversion < 0x03000000, "https://github.com/testing-cabal/mock/issues/323")
- def test_dns_check(self):
- hosts = [
- {'host': '10.10.0.3',
-@@ -302,6 +304,7 @@ class NetworkTestCase(TestCase):
- "Invalid or unresolveable address"):
- network.dns_check('foo', '1')
-
-+ @skipIf(sys.hexversion < 0x03000000, "https://github.com/testing-cabal/mock/issues/323")
- def test_test_addrs(self):
- # subset of real data from getaddrinfo against saltstack.com
- addrinfo = [(30, 2, 17, '', ('2600:9000:21eb:a800:8:1031:abc0:93a1', 0, 0, 0)),
diff --git a/app-admin/salt/salt-2019.2.7.ebuild b/app-admin/salt/salt-2019.2.7.ebuild
deleted file mode 100644
index e39bedf1898..00000000000
--- a/app-admin/salt/salt-2019.2.7.ebuild
+++ /dev/null
@@ -1,150 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_6 )
-DISTUTILS_USE_SETUPTOOLS=bdepend
-inherit systemd distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="https://www.saltstack.com/resources/community/
- https://github.com/saltstack"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb neutron nova
- openssl portage profile redis selinux test vim-syntax"
-
-RDEPEND="
- sys-apps/pciutils
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/libnacl[${PYTHON_USEDEP}]
- >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
- <dev-python/msgpack-1.0[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/markupsafe[${PYTHON_USEDEP}]
- dev-python/pycryptodome[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
- <www-servers/tornado-5.0[${PYTHON_USEDEP}]
- libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
- mako? ( dev-python/mako[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
- openssl? (
- dev-libs/openssl:0=[-bindist]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
- mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
- keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
- redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
- selinux? ( sec-policy/selinux-salt )
- nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
- neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
- gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
- profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )"
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- >=dev-python/pytest-salt-2018.12.8[${PYTHON_USEDEP}]
- <dev-python/pytest-salt-2020.0.0[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- !x86? ( >=dev-python/boto3-1.2.1[${PYTHON_USEDEP}] )
- ${RDEPEND}
- )"
-
-DOCS=( README.rst AUTHORS )
-
-RESTRICT="!test? ( test ) x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/salt-2017.7.0-dont-realpath-tmpdir.patch"
- "${FILESDIR}/salt-2019.2.0-tests.patch"
- "${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch"
- "${FILESDIR}/salt-2019.2.2-newer-deps.patch"
- "${FILESDIR}/salt-2019.2.2-workaround-broken-mock-on-py2.patch"
- "${FILESDIR}/salt-2019.2.0-remove-raet-tests.patch"
-)
-
-python_prepare() {
- # remove tests with external dependencies that may not be available
- rm tests/unit/{test_zypp_plugins.py,utils/test_extend.py} || die
- rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
- rm tests/unit/states/test_boto_vpc.py || die
-
- # breaks with permission errors
- rm tests/unit/utils/test_cache.py || die
-
- # remove raet due to deps being dropped
- rm tests/unit/modules/test_raet_publish.py \
- salt/transport/raet.py \
- salt/daemons/test/test_raetkey.py || die
-
- # allow the use of the renamed msgpack
- sed -i '/^msgpack/d' requirements/base.txt || die
-}
-
-python_install_all() {
- local svc
- USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
- for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
- newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
- systemd_dounit "${FILESDIR}"/salt-${svc}.service
- done
-
- insinto /etc/${PN}
- doins -r conf/*
-}
-
-python_test() {
- local tempdir
- # testsuite likes lots of files
- ulimit -n 3072 || die
-
- # ${T} is too long a path for the tests to work
- tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
- mkdir "${T}/$(basename "${tempdir}")"
- mkdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
-
- (
- cleanup() { rm -f "${tempdir}" || die; }
-
- trap cleanup EXIT
-
- addwrite "${tempdir}"
- ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}" || die
-
- USE_SETUPTOOLS=1 SHELL="/bin/bash" \
- TMPDIR="${tempdir}" \
- ${EPYTHON} tests/runtests.py \
- --unit-tests --no-report --verbose \
- || die "testing failed with ${EPYTHON}"
- )
-}
diff --git a/app-admin/salt/salt-2019.2.8.ebuild b/app-admin/salt/salt-2019.2.8.ebuild
deleted file mode 100644
index 2a0b207dfee..00000000000
--- a/app-admin/salt/salt-2019.2.8.ebuild
+++ /dev/null
@@ -1,151 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_6 )
-DISTUTILS_USE_SETUPTOOLS=no
-inherit systemd distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="https://www.saltstack.com/resources/community/
- https://github.com/saltstack"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb neutron nova
- openssl portage profile redis selinux test vim-syntax"
-
-RDEPEND="
- sys-apps/pciutils
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/libnacl[${PYTHON_USEDEP}]
- >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
- <dev-python/msgpack-1.0[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/markupsafe[${PYTHON_USEDEP}]
- dev-python/pycryptodome[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
- <www-servers/tornado-5.0[${PYTHON_USEDEP}]
- libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
- mako? ( dev-python/mako[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
- openssl? (
- dev-libs/openssl:0=[-bindist]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
- mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
- keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
- redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
- selinux? ( sec-policy/selinux-salt )
- nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
- neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
- gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
- profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )"
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- >=dev-python/pytest-salt-2018.12.8[${PYTHON_USEDEP}]
- <dev-python/pytest-salt-2020.0.0[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- !x86? ( >=dev-python/boto3-1.2.1[${PYTHON_USEDEP}] )
- ${RDEPEND}
- )"
-
-DOCS=( README.rst AUTHORS )
-
-RESTRICT="!test? ( test ) x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/salt-2017.7.0-dont-realpath-tmpdir.patch"
- "${FILESDIR}/salt-2019.2.0-tests.patch"
- "${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch"
- "${FILESDIR}/salt-2019.2.2-newer-deps.patch"
- "${FILESDIR}/salt-2019.2.2-workaround-broken-mock-on-py2.patch"
- "${FILESDIR}/salt-2019.2.0-remove-raet-tests.patch"
- "${FILESDIR}/salt-2019.2.8-ansible-roster-fix.patch"
-)
-
-python_prepare() {
- # remove tests with external dependencies that may not be available
- rm tests/unit/{test_zypp_plugins.py,utils/test_extend.py} || die
- rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
- rm tests/unit/states/test_boto_vpc.py || die
-
- # breaks with permission errors
- rm tests/unit/utils/test_cache.py || die
-
- # remove raet due to deps being dropped
- rm tests/unit/modules/test_raet_publish.py \
- salt/transport/raet.py \
- salt/daemons/test/test_raetkey.py || die
-
- # allow the use of the renamed msgpack
- sed -i '/^msgpack/d' requirements/base.txt || die
-}
-
-python_install_all() {
- local svc
- USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
- for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
- newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
- systemd_dounit "${FILESDIR}"/salt-${svc}.service
- done
-
- insinto /etc/${PN}
- doins -r conf/*
-}
-
-python_test() {
- local tempdir
- # testsuite likes lots of files
- ulimit -n 3072 || die
-
- # ${T} is too long a path for the tests to work
- tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
- mkdir "${T}/$(basename "${tempdir}")"
- mkdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
-
- (
- cleanup() { rm -f "${tempdir}" || die; }
-
- trap cleanup EXIT
-
- addwrite "${tempdir}"
- ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}" || die
-
- USE_SETUPTOOLS=1 SHELL="/bin/bash" \
- TMPDIR="${tempdir}" \
- ${EPYTHON} tests/runtests.py \
- --unit-tests --no-report --verbose \
- || die "testing failed with ${EPYTHON}"
- )
-}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2021-02-27 2:32 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2021-02-27 2:32 UTC (permalink / raw
To: gentoo-commits
commit: e3231439b24ee57a2641fedda919b60c7c3df91a
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Sat Feb 27 00:29:01 2021 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Sat Feb 27 02:32:32 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e3231439
app-admin/salt-3001.6: Version bump (sec bug #767919)
Bug: https://bugs.gentoo.org/767919
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.15, Repoman-3.0.2
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/Manifest | 1 +
app-admin/salt/files/salt-3001.6-tests.patch | 18 +++++++
app-admin/salt/salt-3000.6.ebuild | 7 +--
.../{salt-3000.6.ebuild => salt-3001.6.ebuild} | 61 ++++++++++------------
4 files changed, 50 insertions(+), 37 deletions(-)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index c9c7548556f..a08943d31b6 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -2,5 +2,6 @@ DIST salt-3000.2-py38-misc.patch.gz 6250 BLAKE2B 68fff80a042e6bf208ea2d9692da7a7
DIST salt-3000.5.tar.gz 15229450 BLAKE2B 135e9b9dcc461ac898231ce46e6a1359e6d60a43822320950bc0b83057f768dadf55320dd73df72d5bc917f324eef4661e6f75d8eb8e84aef958bd2df8924cfc SHA512 2579f65c24d22d77132057bd8cf37040d7d149624745dd68b4c44318be786580dcc34bf563f90d7de9ef5b726b2453bef4d8639bc8fbd9c5e691500520335317
DIST salt-3000.6.tar.gz 15236781 BLAKE2B 5a532a6915b331fb532dc6e1651cf8fca3e1a5e9f29f6d75260fdb1162dbfeec755c65f7c6fc28b1cc7dc3ace978547830af31aafc1eee8419bbc7e695725787 SHA512 739e3671766c45a0ef1eb45933c7f00f14586e91f4c4a79cbed913a48961a48baee853206ba569491756e8a872d22f3635eb6bc1a366020e551c567b2334c508
DIST salt-3001.4.tar.gz 15716372 BLAKE2B cc33b29b0da9cfaae22726b2b471245880aafa106187b531872a9ae5ee773a94e0d550a68b11b74826bc0b35197a311f690535f2280931ccb5050275ad967c2d SHA512 b7f343c65917280a96d8a3eaa6b508121b11b9f9b0bfffa5b4c79af0023bdecf4581f76014847d97f48d9677edb6f632adec3850153c3048c3114128a250b84b
+DIST salt-3001.6.tar.gz 15736056 BLAKE2B 00e7674452e9d61c3cd487d27a3a1f3435c6b12dcc89008aa63c96814957b6ce8654f4d4d51dbce7b14027f0cee66fd2ea9602f6be18bf2f4beac11ae164f89f SHA512 e45c9cfddb64ab1c9d66b6b6b3e5ff8d9010c01307161e5013140b4362ee630cf912ab153d1afa72f56d18fc5353293b2f4b449caf8ee384d1e93204d490bf4c
DIST salt-3002.2.tar.gz 15765855 BLAKE2B b26895ababc8551e01baa806c5a0e41dab9a379e47d2289b5c3c529ef762c69631d7ed8b32339ec66c3929c5883782131eb56d1bfbcc743829c4f0199a900ca1 SHA512 0f617a07475347b1bb0d1c6059de541e102103182820dfd6f64f4c281d660e68358eb1ab7171a637e16cef9fea2517c8356df9c449f9bbc92538aa86c316f652
DIST salt-3002.5.tar.gz 15784880 BLAKE2B baa90bb0caea572dfbe12d92fb488ee0c4adef9a07221f394009cd43a62ffef18c57f2e7cdcfcd923807c7a3d02ce6833480f74d70250c29d311420f30514300 SHA512 dda2caa338f646ec51d2de6b0df10fbb27eceddbe8c797ae192b9ef1312d566ae71a243a3a95918fa375b125089aa29a73b1b908c5cc1b0451dccb582a4978a1
diff --git a/app-admin/salt/files/salt-3001.6-tests.patch b/app-admin/salt/files/salt-3001.6-tests.patch
new file mode 100644
index 00000000000..d32977e4694
--- /dev/null
+++ b/app-admin/salt/files/salt-3001.6-tests.patch
@@ -0,0 +1,18 @@
+--- salt-3001.6-python3_7/tests/unit/modules/test_cmdmod.py 2021-02-26 16:13:26.386553301 -0800
++++ salt-3001.6/tests/unit/modules/test_cmdmod.py 2021-02-26 16:14:25.858150910 -0800
+@@ -437,6 +437,7 @@
+ else:
+ raise RuntimeError
+
++ @skipIf(True, "does not work with sandbox")
+ @skipIf(salt.utils.platform.is_windows(), "Do not run on Windows")
+ @skipIf(salt.utils.platform.is_darwin(), "Do not run on MacOS")
+ def test_run_cwd_in_combination_with_runas(self):
+@@ -560,6 +561,7 @@
+
+ self.assertEqual(ret["stdout"], salt.utils.stringutils.to_unicode(stdout))
+
++ @skipIf(True, "does not work with sandbox")
+ def test_run_all_output_loglevel_debug(self):
+ """
+ Test that specifying debug for loglevel
diff --git a/app-admin/salt/salt-3000.6.ebuild b/app-admin/salt/salt-3000.6.ebuild
index 14cbe4757be..a3b94dc622d 100644
--- a/app-admin/salt/salt-3000.6.ebuild
+++ b/app-admin/salt/salt-3000.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -117,8 +117,9 @@ PATCHES=(
)
python_prepare() {
- # remove tests with external dependencies that may not be available
- rm tests/unit/{test_zypp_plugins.py,utils/test_extend.py} || die
+ # remove tests with external dependencies that may not be available, and
+ # tests that don't work in sandbox
+ rm tests/unit/{test_zypp_plugins,utils/test_extend,module_names}.py || die
rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
rm tests/unit/states/test_boto_vpc.py || die
diff --git a/app-admin/salt/salt-3000.6.ebuild b/app-admin/salt/salt-3001.6.ebuild
similarity index 79%
copy from app-admin/salt/salt-3000.6.ebuild
copy to app-admin/salt/salt-3001.6.ebuild
index 14cbe4757be..23e5e85de8b 100644
--- a/app-admin/salt/salt-3000.6.ebuild
+++ b/app-admin/salt/salt-3001.6.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{7,8} )
+PYTHON_COMPAT=( python3_{7..8} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit systemd distutils-r1
@@ -16,8 +16,7 @@ if [[ ${PV} == 9999* ]]; then
EGIT_BRANCH="develop"
SRC_URI=""
else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- https://dev.gentoo.org/~chutzpah/dist/salt/salt-3000.2-py38-misc.patch.gz"
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
@@ -32,13 +31,14 @@ RDEPEND="
dev-python/distro[${PYTHON_USEDEP}]
dev-python/jinja[${PYTHON_USEDEP}]
dev-python/libnacl[${PYTHON_USEDEP}]
- >=dev-python/msgpack-0.5[${PYTHON_USEDEP}]
- <dev-python/msgpack-1.0[${PYTHON_USEDEP}]
- dev-python/pycryptodome[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pycryptodome-3.9.7[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/markupsafe[${PYTHON_USEDEP}]
>=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/toml[${PYTHON_USEDEP}]
+ dev-python/watchdog[${PYTHON_USEDEP}]
libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
mako? ( dev-python/mako[${PYTHON_USEDEP}] )
ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
@@ -84,12 +84,12 @@ BDEPEND="
dev-python/psutil[${PYTHON_USEDEP}]
dev-python/pytest[${PYTHON_USEDEP}]
dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- >=dev-python/pytest-salt-2018.12.8[${PYTHON_USEDEP}]
+ >=dev-python/pytest-salt-2020.1.27[${PYTHON_USEDEP}]
+ dev-python/pytest-salt-factories[${PYTHON_USEDEP}]
dev-python/pytest-tempdir[${PYTHON_USEDEP}]
>=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- !x86? ( >=dev-python/boto3-1.2.1[${PYTHON_USEDEP}] )
+ >=dev-python/virtualenv-20.0.20[${PYTHON_USEDEP}]
+ !x86? ( >=dev-python/boto3-1.3.15[${PYTHON_USEDEP}] )
)"
DOCS=( README.rst AUTHORS )
@@ -99,42 +99,35 @@ REQUIRED_USE="|| ( raet zeromq )
RESTRICT="!test? ( test ) x86? ( test )"
PATCHES=(
- "${FILESDIR}/salt-2017.7.0-dont-realpath-tmpdir.patch"
"${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch"
- "${FILESDIR}/salt-3000.1-tests.patch"
- "${FILESDIR}/salt-3000.2-tests.patch"
-
- # https://github.com/saltstack/salt/pull/55410
- "${FILESDIR}/salt-3000.2-py38.patch"
-
- # https://github.com/saltstack/salt/pull/55900
- "${FILESDIR}/salt-3000.2-py38-abc.patch"
-
- # misc py38 fixups
- "${WORKDIR}/salt-3000.2-py38-misc.patch"
- "${FILESDIR}/salt-3000.2-py38-logwarn.patch"
- "${FILESDIR}/salt-2019.2.8-ansible-roster-fix.patch"
+ "${FILESDIR}/salt-3001.1-tests.patch"
+ "${FILESDIR}/salt-3001.6-tests.patch"
)
-python_prepare() {
- # remove tests with external dependencies that may not be available
- rm tests/unit/{test_zypp_plugins.py,utils/test_extend.py} || die
+python_prepare_all() {
+ # remove tests with external dependencies that may not be available, and
+ # tests that don't work in sandbox
+ rm tests/unit/{test_{zypp_plugins,module_names},utils/test_{extend,cache}}.py || die
rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
rm tests/unit/states/test_boto_vpc.py || die
+ rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
# tests that require network access
rm tests/unit/{states,modules}/test_zcbuildout.py || die
# make sure pkg_resources doesn't bomb because pycrypto isn't installed
- find . -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d' -i || die
+ find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
+ # pycryptodome rather than pycryptodomex
+ find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
+ distutils-r1_python_prepare_all
+}
+
+python_prepare() {
einfo "Fixing collections.abc warnings for ${EPYTHON}"
local abc
abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die
find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die
-
- # allow the use of the renamed msgpack
- sed -i '/^msgpack/d' requirements/base.txt || die
}
python_install_all() {
@@ -142,7 +135,7 @@ python_install_all() {
USE_SETUPTOOLS=1 distutils-r1_python_install_all
for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+ newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
systemd_dounit "${FILESDIR}"/salt-${svc}.service
done
@@ -168,7 +161,7 @@ python_test() {
addwrite "${tempdir}"
ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}" || die
- USE_SETUPTOOLS=1 SHELL="/bin/bash" \
+ USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
TMPDIR="${tempdir}" \
${EPYTHON} tests/runtests.py \
--unit-tests --no-report --verbose \
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2021-04-03 4:20 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2021-04-03 4:20 UTC (permalink / raw
To: gentoo-commits
commit: 4c5df443a39ee9626525f3f23798eb883b70c3db
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Sat Apr 3 04:19:09 2021 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Sat Apr 3 04:20:04 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c5df443
app-admin/salt-3003: Version bump
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.17, Repoman-3.0.2
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/Manifest | 1 +
.../salt/files/salt-3003-gentoolkit-revdep.patch | 13 ++
.../salt-3003-skip-tests-that-oom-machine.patch | 20 +++
app-admin/salt/files/salt-3003-tests.patch | 139 +++++++++++++++
app-admin/salt/salt-3003.ebuild | 194 +++++++++++++++++++++
5 files changed, 367 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index b7e31231a67..f47131ca6e5 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -2,3 +2,4 @@ DIST salt-3000.2-py38-misc.patch.gz 6250 BLAKE2B 68fff80a042e6bf208ea2d9692da7a7
DIST salt-3000.8.tar.gz 15249139 BLAKE2B df306669ba11dd650621222ff9c69f5a6e16b6f431e9d93e6712ee95da43091bfe28416fe0d71988ed9ee70cb347755b779a356c50fa59c63c67a874ed1906f4 SHA512 a18d5bea3b3835f83d5b1e5315990d83f6c58c36df5589d5de0f8cc3a46db4c960b58032e29d56841a160b9b170cdbb81bca38dbbd72ccb5866ccc8a7da6e800
DIST salt-3001.6.tar.gz 15736056 BLAKE2B 00e7674452e9d61c3cd487d27a3a1f3435c6b12dcc89008aa63c96814957b6ce8654f4d4d51dbce7b14027f0cee66fd2ea9602f6be18bf2f4beac11ae164f89f SHA512 e45c9cfddb64ab1c9d66b6b6b3e5ff8d9010c01307161e5013140b4362ee630cf912ab153d1afa72f56d18fc5353293b2f4b449caf8ee384d1e93204d490bf4c
DIST salt-3002.5.tar.gz 15784880 BLAKE2B baa90bb0caea572dfbe12d92fb488ee0c4adef9a07221f394009cd43a62ffef18c57f2e7cdcfcd923807c7a3d02ce6833480f74d70250c29d311420f30514300 SHA512 dda2caa338f646ec51d2de6b0df10fbb27eceddbe8c797ae192b9ef1312d566ae71a243a3a95918fa375b125089aa29a73b1b908c5cc1b0451dccb582a4978a1
+DIST salt-3003.tar.gz 15830910 BLAKE2B ea4f02eece951c3fb4fcc480d00f7b531ac549b2e23ff9a210b73f749f9ba83e0402e02a59028f41f94958d17512e417b7c1b7015e8ee3aeac55be9b1374fe6f SHA512 7f631466372f303c03f2852a5cfba1ee5c6ba1636a6fe1e1622e90d0b1376ef9f670aa1b4754f3d9c8c7fe1b99fe1b4c49e140dc86d90d157a1ec1e73ba43c38
diff --git a/app-admin/salt/files/salt-3003-gentoolkit-revdep.patch b/app-admin/salt/files/salt-3003-gentoolkit-revdep.patch
new file mode 100644
index 00000000000..f73b5a8790f
--- /dev/null
+++ b/app-admin/salt/files/salt-3003-gentoolkit-revdep.patch
@@ -0,0 +1,13 @@
+diff --git a/salt/modules/gentoolkitmod.py b/salt/modules/gentoolkitmod.py
+index cc78c37114..f0949d19a8 100644
+--- a/salt/modules/gentoolkitmod.py
++++ b/salt/modules/gentoolkitmod.py
+@@ -49,7 +49,7 @@ def revdep_rebuild(lib=None):
+
+ salt '*' gentoolkit.revdep_rebuild
+ """
+- cmd = "revdep-rebuild -i --quiet --no-progress"
++ cmd = "revdep-rebuild -i --quiet"
+ if lib is not None:
+ cmd += " --library={0}".format(lib)
+ return __salt__["cmd.retcode"](cmd, python_shell=False) == 0
diff --git a/app-admin/salt/files/salt-3003-skip-tests-that-oom-machine.patch b/app-admin/salt/files/salt-3003-skip-tests-that-oom-machine.patch
new file mode 100644
index 00000000000..804b6a8704f
--- /dev/null
+++ b/app-admin/salt/files/salt-3003-skip-tests-that-oom-machine.patch
@@ -0,0 +1,20 @@
+diff --git a/tests/unit/modules/test_boto_apigateway.py b/tests/unit/modules/test_boto_apigateway.py
+index 6ee6aeb002..db9aeaee95 100644
+--- a/tests/unit/modules/test_boto_apigateway.py
++++ b/tests/unit/modules/test_boto_apigateway.py
+@@ -154,6 +154,7 @@ def _has_required_botocore():
+ return True
+
+
++@skipIf(True, "Causes machines to OOM")
+ class BotoApiGatewayTestCaseBase(TestCase, LoaderModuleMockMixin):
+ conn = None
+
+@@ -190,6 +191,7 @@ class BotoApiGatewayTestCaseBase(TestCase, LoaderModuleMockMixin):
+ self.addCleanup(delattr, self, "utils")
+
+
++@skipIf(True, "Causes machines to OOM")
+ class BotoApiGatewayTestCaseMixin:
+ def _diff_list_dicts(self, listdict1, listdict2, sortkey):
+ """
diff --git a/app-admin/salt/files/salt-3003-tests.patch b/app-admin/salt/files/salt-3003-tests.patch
new file mode 100644
index 00000000000..c3562c5a444
--- /dev/null
+++ b/app-admin/salt/files/salt-3003-tests.patch
@@ -0,0 +1,139 @@
+diff --git a/tests/integration/grains/test_core.py b/tests/integration/grains/test_core.py
+index 5f1cf11e24..8affb398ff 100644
+--- a/tests/integration/grains/test_core.py
++++ b/tests/integration/grains/test_core.py
+@@ -21,6 +21,7 @@ def _freebsd_or_openbsd():
+ return salt.utils.platform.is_freebsd() or salt.utils.platform.is_openbsd()
+
+
++@pytest.mark.skip("Tests only should run on FreeBSD and OpenBSD")
+ @pytest.mark.windows_whitelisted
+ class TestGrainsCore(ModuleCase):
+ """
+diff --git a/tests/integration/states/test_x509.py b/tests/integration/states/test_x509.py
+index 2321689ef5..574de51e56 100644
+--- a/tests/integration/states/test_x509.py
++++ b/tests/integration/states/test_x509.py
+@@ -468,7 +468,7 @@ c9bcgp7D7xD+TxWWNj4CSXEccJgGr91StV+gFg4ARQ==
+ first_run[key]["changes"]["Certificate"]["New"]["Not After"],
+ "%Y-%m-%d %H:%M:%S",
+ )
+- self.assertEqual(29, (expiry - datetime.datetime.now()).days)
++ self.assertEqual(30, (expiry - datetime.datetime.now()).days)
+ self.assertTrue(os.path.exists(crtfile), "Certificate was not created.")
+
+ with salt.utils.files.fopen(crtfile, "r") as first_cert:
+@@ -485,14 +485,14 @@ c9bcgp7D7xD+TxWWNj4CSXEccJgGr91StV+gFg4ARQ==
+ },
+ )
+ self.assertEqual(
+- "Certificate needs renewal: 29 days remaining but it needs to be at least 90",
++ "Certificate needs renewal: 30 days remaining but it needs to be at least 90",
+ second_run[key]["changes"]["Status"]["Old"],
+ )
+ expiry = datetime.datetime.strptime(
+ second_run[key]["changes"]["Certificate"]["New"]["Not After"],
+ "%Y-%m-%d %H:%M:%S",
+ )
+- self.assertEqual(179, (expiry - datetime.datetime.now()).days)
++ self.assertEqual(180, (expiry - datetime.datetime.now()).days)
+ with salt.utils.files.fopen(crtfile, "r") as second_cert:
+ self.assertNotEqual(
+ cert_contents,
+diff --git a/tests/pytests/unit/modules/test_cmdmod.py b/tests/pytests/unit/modules/test_cmdmod.py
+index 5424514160..0564b59593 100644
+--- a/tests/pytests/unit/modules/test_cmdmod.py
++++ b/tests/pytests/unit/modules/test_cmdmod.py
+@@ -438,6 +438,7 @@ def test_run_cwd_doesnt_exist_issue_7154():
+
+ @pytest.mark.skip_on_darwin
+ @pytest.mark.skip_on_windows
++@pytest.mark.skip("does not work in sandbox environment")
+ def test_run_cwd_in_combination_with_runas():
+ """
+ cmd.run executes command in the cwd directory
+diff --git a/tests/unit/ext/test_ipaddress.py b/tests/unit/ext/test_ipaddress.py
+index 4fd87d1c3f..02585a9e4e 100644
+--- a/tests/unit/ext/test_ipaddress.py
++++ b/tests/unit/ext/test_ipaddress.py
+@@ -2682,6 +2682,7 @@ class IpaddrUnitTest(TestCase):
+ "2001:658:22a:cafe:200::1/::ffff:ffff:ffff:ffff",
+ )
+
++ @pytest.mark.skip("_cache no longer present in python3.8+")
+ def testNetworkElementCaching(self):
+ # V4 - make sure we're empty
+ self.assertNotIn("broadcast_address", self.ipv4_network._cache)
+diff --git a/tests/unit/utils/test_parsers.py b/tests/unit/utils/test_parsers.py
+index 907c67f477..2429d27641 100644
+--- a/tests/unit/utils/test_parsers.py
++++ b/tests/unit/utils/test_parsers.py
+@@ -5,6 +5,7 @@
+ import os
+ import shutil
+ import tempfile
++import pytest
+
+ import salt.config
+ import salt.log.setup as log
+@@ -983,6 +984,7 @@ class SaltRunOptionParserTestCase(ParserBase, TestCase):
+ if os.path.exists(self.log_file):
+ os.unlink(self.log_file)
+
++ @pytest.mark.skip("Tries to write to /var")
+ def test_jid_option(self):
+ jid = salt.utils.jid.gen_jid({})
+ args = ["--jid", jid]
+@@ -991,6 +993,7 @@ class SaltRunOptionParserTestCase(ParserBase, TestCase):
+ parser.parse_args(args)
+ assert parser.options.jid == jid
+
++ @pytest.mark.skip("Tries to write to /var")
+ def test_jid_option_invalid(self):
+ jid = salt.utils.jid.gen_jid({}) + "A"
+ args = ["--jid", jid]
+@@ -1041,6 +1044,7 @@ class SaltSSHOptionParserTestCase(ParserBase, TestCase):
+ if os.path.exists(self.ssh_log_file):
+ os.unlink(self.ssh_log_file)
+
++ @pytest.mark.skip("Tries to write to /var")
+ def test_jid_option(self):
+ jid = salt.utils.jid.gen_jid({})
+ args = ["--jid", jid] + self.args
+@@ -1049,6 +1053,7 @@ class SaltSSHOptionParserTestCase(ParserBase, TestCase):
+ parser.parse_args(args)
+ assert parser.options.jid == jid
+
++ @pytest.mark.skip("Tries to write to /var")
+ def test_jid_option_invalid(self):
+ jid = salt.utils.jid.gen_jid({}) + "A"
+ args = ["--jid", jid] + self.args
+diff --git a/tests/unit/utils/test_vt.py b/tests/unit/utils/test_vt.py
+index 87fc6a342c..12d4c6a073 100644
+--- a/tests/unit/utils/test_vt.py
++++ b/tests/unit/utils/test_vt.py
+@@ -20,6 +20,8 @@ import subprocess
+ import sys
+ import time
+
++import pytest
++
+ # Import Salt libs
+ import salt.utils
+ import salt.utils.files
+@@ -274,6 +276,7 @@ class VTTestCase(TestCase):
+ salt.utils.platform.is_windows(), "Skip VT tests on windows, due to issue 54290"
+ )
+ @fixStdOutErrFileNoIfNeeded
++ @pytest.mark.skip("Does not work in sandbox environment")
+ def test_split_multibyte_characters_unicode(self):
+ """
+ Tests that the vt correctly handles multibyte characters that are
+@@ -341,6 +344,7 @@ class VTTestCase(TestCase):
+ salt.utils.platform.is_windows(), "Skip VT tests on windows, due to issue 54290"
+ )
+ @fixStdOutErrFileNoIfNeeded
++ @pytest.mark.skip("Does not work in sandbox environment")
+ def test_split_multibyte_characters_shiftjis(self):
+ """
+ Tests that the vt correctly handles multibyte characters that are
diff --git a/app-admin/salt/salt-3003.ebuild b/app-admin/salt/salt-3003.ebuild
new file mode 100644
index 00000000000..75d91308956
--- /dev/null
+++ b/app-admin/salt/salt-3003.ebuild
@@ -0,0 +1,194 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7..9} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+inherit systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="https://www.saltstack.com/resources/community/
+ https://github.com/saltstack"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
+ mongodb neutron nova openssl portage profile redis selinux test raet
+ +zeromq vim-syntax"
+
+RDEPEND="
+ sys-apps/pciutils
+ >=dev-python/distro-1.5[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/libnacl[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/toml-0.10.2[${PYTHON_USEDEP}]
+ dev-python/watchdog[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-2.5.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? (
+ $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_7)
+ )
+ openssl? (
+ dev-libs/openssl:0=[-bindist]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ cheetah? ( dev-python/cheetah3[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ nova? (
+ $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_7)
+ )
+ neutron? (
+ $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_7)
+ )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )
+ zeromq? ( >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/pytest-salt-factories-0.121.1[${PYTHON_USEDEP}]
+ dev-python/pytest-tempdir[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ dev-python/pytest-subtests[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/libcloud[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.0.20[${PYTHON_USEDEP}]
+ !x86? ( >=dev-python/boto3-1.3.15[${PYTHON_USEDEP}] )
+ )"
+
+DOCS=( README.rst AUTHORS )
+
+REQUIRED_USE="|| ( raet zeromq )
+ test? ( cheetah genshi )"
+RESTRICT="!test? ( test ) x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch"
+ "${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
+ "${FILESDIR}/salt-3002-tests.patch"
+ "${FILESDIR}/salt-3003-tests.patch"
+)
+
+python_prepare_all() {
+ # remove tests with external dependencies that may not be available, and
+ # tests that don't work in sandbox
+ rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die
+ rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
+ rm tests/unit/states/test_boto_vpc.py || die
+ rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
+ rm tests/pytests/functional/transport/server/test_req_channel.py || die
+
+ # tests that require network access
+ rm tests/unit/{states,modules}/test_zcbuildout.py || die
+ rm -r tests/integration/cloud || die
+ rm -r tests/kitchen/tests/wordpress/tests || die
+ rm tests/kitchen/test_kitchen.py || die
+
+ # tests require root access
+ rm tests/integration/pillar/test_git_pillar.py || die
+ rm tests/integration/states/test_supervisord.py || die
+ rm tests/pytests/unit/client/test_ssh.py || die
+
+ # make sure pkg_resources doesn't bomb because pycrypto isn't installed
+ # make sure pkg_resources doesn't bomb because pycrypto isn't installed
+ find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
+ # pycryptodome rather than pycryptodomex
+ find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_prepare() {
+ einfo "Fixing collections.abc warnings for ${EPYTHON}"
+ local abc
+ abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die
+ find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ # testsuite likes lots of files
+ ulimit -n 4096 || die
+
+ # ${T} is too long a path for the tests to work
+ local TMPDIR
+ TMPDIR="$(mktemp --directory --tmpdir=/tmp ${P}-tests-XXXXX)"
+ (
+ export TMPDIR
+ cleanup() { rm -rf "${TMPDIR}" || die; }
+
+ trap cleanup EXIT
+
+ addwrite "${TMPDIR}"
+
+ USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
+ "${EPYTHON}" -m pytest -vv \
+ || die "testing failed with ${EPYTHON}"
+ )
+}
+
+pkg_postinst() {
+ if use python_targets_python3_8; then
+ if use nova; then
+ ewarn "Salt's nova functionality will not work with python3.8 since"
+ ewarn "dev-python/python-novaclient does not support it yet"
+ fi
+ if use neutron; then
+ ewarn "Salt's neutron functionality will not work with python3.8 since"
+ ewarn "dev-python/python-neutronclient does not support it yet"
+ fi
+ if use libvirt; then
+ ewarn "Salt's libvirt functionality will not work with python3.8 since"
+ ewarn "dev-python/libvirt-python does not support it yet"
+ fi
+ fi
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2021-04-03 4:20 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2021-04-03 4:20 UTC (permalink / raw
To: gentoo-commits
commit: 779b43c3a96faf883d9d20afbd46ebae13c3f314
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Sat Apr 3 04:19:57 2021 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Sat Apr 3 04:20:04 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=779b43c3
app-admin/salt-3000.8: Remove empty file
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.17, Repoman-3.0.2
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/files/salt-3000.8-tests.patch | 0
app-admin/salt/salt-3000.8.ebuild | 1 -
2 files changed, 1 deletion(-)
diff --git a/app-admin/salt/files/salt-3000.8-tests.patch b/app-admin/salt/files/salt-3000.8-tests.patch
deleted file mode 100644
index e69de29bb2d..00000000000
diff --git a/app-admin/salt/salt-3000.8.ebuild b/app-admin/salt/salt-3000.8.ebuild
index 5e9a9e68326..8e8b915442d 100644
--- a/app-admin/salt/salt-3000.8.ebuild
+++ b/app-admin/salt/salt-3000.8.ebuild
@@ -117,7 +117,6 @@ PATCHES=(
"${WORKDIR}/salt-3000.2-py38-misc.patch"
"${FILESDIR}/salt-3000.2-py38-logwarn.patch"
"${FILESDIR}/salt-2019.2.8-ansible-roster-fix.patch"
- "${FILESDIR}/salt-3000.8-tests.patch"
)
python_prepare_all() {
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2021-06-24 18:17 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2021-06-24 18:17 UTC (permalink / raw
To: gentoo-commits
commit: 3e1140cbc668279692cde3ae501924972181c622
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 24 18:16:30 2021 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Jun 24 18:17:11 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e1140cb
app-admin/salt-3003.1: Version bump
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/Manifest | 1 +
app-admin/salt/files/salt-3003.1-tests.patch | 25 ++++
app-admin/salt/salt-3003.1.ebuild | 198 +++++++++++++++++++++++++++
3 files changed, 224 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index cc3b4f7d734..18c86563686 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -3,4 +3,5 @@ DIST salt-3000.8.tar.gz 15249139 BLAKE2B df306669ba11dd650621222ff9c69f5a6e16b6f
DIST salt-3000.9.tar.gz 15250432 BLAKE2B b76c166363b0b0fd3e3aa4b5306ba8280a2c99fbc7fd9866d957406bba8e6fcc03b769b53dbb80b115f9fa9f1fdc93e1eb257f4bf04283e414a309c16e4f078f SHA512 94214f20a8a080ebdcbb7e3351f60a466c3a92cc85d177c2ea677192a63e58b0f9cacfb1af04e14022a7ac570ebd0b931722d1d001a7655dcd7502813c29a092
DIST salt-3001.6.tar.gz 15736056 BLAKE2B 00e7674452e9d61c3cd487d27a3a1f3435c6b12dcc89008aa63c96814957b6ce8654f4d4d51dbce7b14027f0cee66fd2ea9602f6be18bf2f4beac11ae164f89f SHA512 e45c9cfddb64ab1c9d66b6b6b3e5ff8d9010c01307161e5013140b4362ee630cf912ab153d1afa72f56d18fc5353293b2f4b449caf8ee384d1e93204d490bf4c
DIST salt-3002.5.tar.gz 15784880 BLAKE2B baa90bb0caea572dfbe12d92fb488ee0c4adef9a07221f394009cd43a62ffef18c57f2e7cdcfcd923807c7a3d02ce6833480f74d70250c29d311420f30514300 SHA512 dda2caa338f646ec51d2de6b0df10fbb27eceddbe8c797ae192b9ef1312d566ae71a243a3a95918fa375b125089aa29a73b1b908c5cc1b0451dccb582a4978a1
+DIST salt-3003.1.tar.gz 16010476 BLAKE2B 3cd141061d8fa6ad00fe60615e8d36fda9fb26264adb2722d34e0b93c626fe09d78c3b9280ad8fe98924469a1ede1ad93cc06bde24a121c3db8c957be0ab7d75 SHA512 bf5ec7f1d16c776be5c2e90bff30e11817f369c3b08c0fe8bd991e7be31179b10cbd244048fb08c05aff30d7b6037c0575c311da4a0f300ce02bcf677aa6616f
DIST salt-3003.tar.gz 15830910 BLAKE2B ea4f02eece951c3fb4fcc480d00f7b531ac549b2e23ff9a210b73f749f9ba83e0402e02a59028f41f94958d17512e417b7c1b7015e8ee3aeac55be9b1374fe6f SHA512 7f631466372f303c03f2852a5cfba1ee5c6ba1636a6fe1e1622e90d0b1376ef9f670aa1b4754f3d9c8c7fe1b99fe1b4c49e140dc86d90d157a1ec1e73ba43c38
diff --git a/app-admin/salt/files/salt-3003.1-tests.patch b/app-admin/salt/files/salt-3003.1-tests.patch
new file mode 100644
index 00000000000..9749730ddb0
--- /dev/null
+++ b/app-admin/salt/files/salt-3003.1-tests.patch
@@ -0,0 +1,25 @@
+diff --git a/tests/integration/files/file/base/_modules/runtests_helpers.py b/tests/integration/files/file/base/_modules/runtests_helpers.py
+index 3ee0e2da5f..abf9b71431 100644
+--- a/tests/integration/files/file/base/_modules/runtests_helpers.py
++++ b/tests/integration/files/file/base/_modules/runtests_helpers.py
+@@ -27,7 +27,7 @@ except ImportError:
+ else "/tmp"
+ )
+ # This tempdir path is defined on tests.integration.__init__
+- TMP = os.path.join(SYS_TMP_DIR, "salt-tests-tmpdir")
++ TMP = os.path.join(SYS_TMP_DIR, "salt-t")
+
+ class RUNTIME_VARS:
+ TMP = TMP
+diff --git a/tests/unit/ext/test_ipaddress.py b/tests/unit/ext/test_ipaddress.py
+index 4fd87d1c3f..43306ba8f4 100644
+--- a/tests/unit/ext/test_ipaddress.py
++++ b/tests/unit/ext/test_ipaddress.py
+@@ -137,6 +137,7 @@ class CommonTestMixin:
+
+
+ class CommonTestMixin_v4(CommonTestMixin):
++ @pytest.mark.skipif(sys.hexversion >= 0x03090000, reason="leading zeros disallowed in 3.9+")
+ def test_leading_zeros(self):
+ self.assertInstancesEqual("000.000.000.000", "0.0.0.0")
+ self.assertInstancesEqual("192.168.000.001", "192.168.0.1")
diff --git a/app-admin/salt/salt-3003.1.ebuild b/app-admin/salt/salt-3003.1.ebuild
new file mode 100644
index 00000000000..fe9927cb461
--- /dev/null
+++ b/app-admin/salt/salt-3003.1.ebuild
@@ -0,0 +1,198 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7..9} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+inherit systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="https://www.saltstack.com/resources/community/
+ https://github.com/saltstack"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
+ mongodb neutron nova openssl portage profile redis selinux test raet
+ +zeromq vim-syntax"
+
+RDEPEND="
+ sys-apps/pciutils
+ >=dev-python/distro-1.5[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/libnacl[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/toml-0.10.2[${PYTHON_USEDEP}]
+ dev-python/watchdog[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-2.5.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? (
+ $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_8)
+ )
+ openssl? (
+ dev-libs/openssl:0=[-bindist(-)]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ cheetah? ( dev-python/cheetah3[${PYTHON_USEDEP}] )
+ genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ nova? (
+ $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_8)
+ )
+ neutron? (
+ $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_8)
+ )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )
+ zeromq? ( >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/pytest-salt-factories-0.121.1[${PYTHON_USEDEP}]
+ dev-python/pytest-tempdir[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ dev-python/pytest-subtests[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/libcloud[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.0.20[${PYTHON_USEDEP}]
+ !x86? ( >=dev-python/boto3-1.3.15[${PYTHON_USEDEP}] )
+ )"
+
+DOCS=( README.rst AUTHORS )
+
+REQUIRED_USE="|| ( raet zeromq )
+ test? ( cheetah genshi )"
+RESTRICT="!test? ( test ) x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch"
+ "${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
+ "${FILESDIR}/salt-3002-tests.patch"
+ "${FILESDIR}/salt-3003-tests.patch"
+ "${FILESDIR}/salt-3003.1-tests.patch"
+)
+
+python_prepare_all() {
+ # remove tests with external dependencies that may not be available, and
+ # tests that don't work in sandbox
+ rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die
+ rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
+ rm tests/unit/states/test_boto_vpc.py || die
+ rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
+ rm tests/pytests/functional/transport/server/test_req_channel.py || die
+
+ # tests that require network access
+ rm tests/unit/{states,modules}/test_zcbuildout.py || die
+ rm -r tests/integration/cloud || die
+ rm -r tests/kitchen/tests/wordpress/tests || die
+ rm tests/kitchen/test_kitchen.py || die
+ rm tests/unit/modules/test_network.py || die
+
+ # tests require root access
+ rm tests/integration/pillar/test_git_pillar.py || die
+ rm tests/integration/states/test_supervisord.py || die
+ rm tests/pytests/unit/client/test_ssh.py || die
+
+ # make sure pkg_resources doesn't bomb because pycrypto isn't installed
+ find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
+ # pycryptodome rather than pycryptodomex
+ find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_prepare() {
+ einfo "Fixing collections.abc warnings for ${EPYTHON}"
+ local abc
+ abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die
+ find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ # testsuite likes lots of files
+ ulimit -n 4096 || die
+
+ # ${T} is too long a path for the tests to work
+ local TMPDIR
+ TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)"
+ (
+ export TMPDIR
+ cleanup() { rm -rf "${TMPDIR}" || die; }
+
+ trap cleanup EXIT
+
+ addwrite "${TMPDIR}"
+
+ USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
+ "${EPYTHON}" -m pytest -vv \
+ || die "testing failed with ${EPYTHON}"
+ )
+}
+
+pkg_postinst() {
+ if use python_targets_python3_8; then
+ if use nova; then
+ ewarn "Salt's nova functionality will not work with python3.8 since"
+ ewarn "dev-python/python-novaclient does not support it yet"
+ fi
+ if use neutron; then
+ ewarn "Salt's neutron functionality will not work with python3.8 since"
+ ewarn "dev-python/python-neutronclient does not support it yet"
+ fi
+ if use libvirt; then
+ ewarn "Salt's libvirt functionality will not work with python3.8 since"
+ ewarn "dev-python/libvirt-python does not support it yet"
+ fi
+ fi
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2021-09-08 1:01 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2021-09-08 1:01 UTC (permalink / raw
To: gentoo-commits
commit: 925140dd5dc54ce874ce6f3a40adb76a3e42d4d7
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 3 23:59:47 2021 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Sep 8 01:01:44 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=925140dd
app-admin/salt-3002.7: Version bump
Package-Manager: Portage-3.0.22, Repoman-3.0.3
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/Manifest | 1 +
app-admin/salt/files/salt-3002.7-tests.patch | 12 ++
app-admin/salt/salt-3002.7.ebuild | 196 +++++++++++++++++++++++++++
3 files changed, 209 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index febd6188d34..eb1c69dcf27 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -4,5 +4,6 @@ DIST salt-3000.9.tar.gz 15250432 BLAKE2B b76c166363b0b0fd3e3aa4b5306ba8280a2c99f
DIST salt-3001.6.tar.gz 15736056 BLAKE2B 00e7674452e9d61c3cd487d27a3a1f3435c6b12dcc89008aa63c96814957b6ce8654f4d4d51dbce7b14027f0cee66fd2ea9602f6be18bf2f4beac11ae164f89f SHA512 e45c9cfddb64ab1c9d66b6b6b3e5ff8d9010c01307161e5013140b4362ee630cf912ab153d1afa72f56d18fc5353293b2f4b449caf8ee384d1e93204d490bf4c
DIST salt-3001.8.tar.gz 15740488 BLAKE2B 77875a670b81438280becd1f29b64fbc766379192a9ca041568cd9360a3c4213bb3018063e88a297e9d1f637fb7ca3ef049a73a258022ec07e42f01a40bdf09a SHA512 8e90b2a1f82f951ab40a53a8af2ab421758ed8244f1881cc7aa71a8d9c2e2e6d892166ec8f8f6182966e56eb28c9aee6a060ee54b559b1d073fba97ad0afb013
DIST salt-3002.5.tar.gz 15784880 BLAKE2B baa90bb0caea572dfbe12d92fb488ee0c4adef9a07221f394009cd43a62ffef18c57f2e7cdcfcd923807c7a3d02ce6833480f74d70250c29d311420f30514300 SHA512 dda2caa338f646ec51d2de6b0df10fbb27eceddbe8c797ae192b9ef1312d566ae71a243a3a95918fa375b125089aa29a73b1b908c5cc1b0451dccb582a4978a1
+DIST salt-3002.7.tar.gz 15792124 BLAKE2B b4cb4a6d73c45f3c2183a7adfe8196bbc5788dce1995bd5c640cd9957bdfdba2e96deebaba927d6103fc50f4eaab86d51f4dd4594d25b7357db79ed67b39258e SHA512 c1e7bbcd39b5c2bef351bd74026346bf729839c4161f6eff8162620e9cb08a63073abeeb8af6bab635070386a883df494ef08cc07a84efa9aa7f2160b357a938
DIST salt-3003.1.tar.gz 16010476 BLAKE2B 3cd141061d8fa6ad00fe60615e8d36fda9fb26264adb2722d34e0b93c626fe09d78c3b9280ad8fe98924469a1ede1ad93cc06bde24a121c3db8c957be0ab7d75 SHA512 bf5ec7f1d16c776be5c2e90bff30e11817f369c3b08c0fe8bd991e7be31179b10cbd244048fb08c05aff30d7b6037c0575c311da4a0f300ce02bcf677aa6616f
DIST salt-3003.tar.gz 15830910 BLAKE2B ea4f02eece951c3fb4fcc480d00f7b531ac549b2e23ff9a210b73f749f9ba83e0402e02a59028f41f94958d17512e417b7c1b7015e8ee3aeac55be9b1374fe6f SHA512 7f631466372f303c03f2852a5cfba1ee5c6ba1636a6fe1e1622e90d0b1376ef9f670aa1b4754f3d9c8c7fe1b99fe1b4c49e140dc86d90d157a1ec1e73ba43c38
diff --git a/app-admin/salt/files/salt-3002.7-tests.patch b/app-admin/salt/files/salt-3002.7-tests.patch
new file mode 100644
index 00000000000..828b7eee76e
--- /dev/null
+++ b/app-admin/salt/files/salt-3002.7-tests.patch
@@ -0,0 +1,12 @@
+diff --git a/tests/unit/modules/test_boto_route53.py b/tests/unit/modules/test_boto_route53.py
+index e745f8f8c6..a2bb2a7ef2 100644
+--- a/tests/unit/modules/test_boto_route53.py
++++ b/tests/unit/modules/test_boto_route53.py
+@@ -80,6 +80,7 @@ def _has_required_moto():
+ return True
+
+
++@skipIf(True, "skipping broken test")
+ @skipIf(HAS_MOTO is False, "The moto module must be installed.")
+ @skipIf(
+ _has_required_moto() is False,
diff --git a/app-admin/salt/salt-3002.7.ebuild b/app-admin/salt/salt-3002.7.ebuild
new file mode 100644
index 00000000000..d20e3e59a37
--- /dev/null
+++ b/app-admin/salt/salt-3002.7.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7..9} )
+
+inherit systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="https://www.saltstack.com/resources/community/
+ https://github.com/saltstack"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
+ mongodb neutron nova openssl portage profile redis selinux test raet
+ +zeromq vim-syntax"
+
+RDEPEND="
+ sys-apps/pciutils
+ >=dev-python/distro-1.5[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/libnacl[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/toml[${PYTHON_USEDEP}]
+ dev-python/watchdog[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? (
+ $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_8)
+ )
+ openssl? (
+ dev-libs/openssl:0=[-bindist(-)]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ cheetah? ( dev-python/cheetah3[${PYTHON_USEDEP}] )
+ genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ nova? (
+ $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_8)
+ )
+ neutron? (
+ $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_8)
+ )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )
+ zeromq? ( >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ >=dev-python/pytest-salt-factories-0.93.0[${PYTHON_USEDEP}]
+ dev-python/pytest-tempdir[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.0.20[${PYTHON_USEDEP}]
+ net-dns/bind-tools
+ !x86? ( >=dev-python/boto3-1.3.15[${PYTHON_USEDEP}] )
+ )"
+
+DOCS=( README.rst AUTHORS )
+
+REQUIRED_USE="
+ || ( raet zeromq )
+ test? ( cheetah genshi )
+"
+RESTRICT="!test? ( test ) x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch"
+ "${FILESDIR}/salt-3002-dont-realpath-on-tmpdir.patch"
+ "${FILESDIR}/salt-3002-tests.patch"
+ "${FILESDIR}/salt-3002.5-tests.patch"
+ "${FILESDIR}/salt-3002.7-tests.patch"
+)
+
+python_prepare_all() {
+ # remove tests with external dependencies that may not be available, and
+ # tests that don't work in sandbox
+ rm tests/unit/{test_{zypp_plugins,module_names},utils/test_{extend,cache}}.py || die
+ rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
+ rm tests/unit/states/test_boto_vpc.py || die
+ rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
+
+ # tests that require network access
+ rm tests/unit/{states,modules}/test_zcbuildout.py || die
+
+ sed -i 's:log.trace(:log.debug(:' \
+ salt/fileserver/roots.py salt/grains/core.py salt/states/saltmod.py || die
+
+ # make sure pkg_resources doesn't bomb because pycrypto isn't installed
+ # make sure pkg_resources doesn't bomb because pycrypto isn't installed
+ find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
+ # pycryptodome rather than pycryptodomex
+ find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_prepare() {
+ einfo "Fixing collections.abc warnings for ${EPYTHON}"
+ local abc
+ abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die
+ find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ local tempdir
+ # testsuite likes lots of files
+ ulimit -n 3072 || die
+
+ # ${T} is too long a path for the tests to work
+ tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
+ mkdir "${T}/$(basename "${tempdir}")"
+
+ (
+ cleanup() { rm -f "${tempdir}" || die; }
+
+ trap cleanup EXIT
+
+ addwrite "${tempdir}"
+ ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}" || die
+
+ USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
+ TMPDIR="${tempdir}" \
+ ${EPYTHON} tests/runtests.py \
+ --unit-tests --no-report --verbose \
+ || die "testing failed with ${EPYTHON}"
+ )
+}
+
+pkg_postinst() {
+ if use python_targets_python3_8; then
+ if use nova; then
+ ewarn "Salt's nova functionality will not work with python3.8 since"
+ ewarn "dev-python/python-novaclient does not support it yet"
+ fi
+ if use neutron; then
+ ewarn "Salt's neutron functionality will not work with python3.8 since"
+ ewarn "dev-python/python-neutronclient does not support it yet"
+ fi
+ if use libvirt; then
+ ewarn "Salt's libvirt functionality will not work with python3.8 since"
+ ewarn "dev-python/libvirt-python does not support it yet"
+ fi
+ fi
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2022-03-31 1:28 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2022-03-31 1:28 UTC (permalink / raw
To: gentoo-commits
commit: f799fa96b2c8dcf29ea8fadb860ca8df51d17192
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 31 00:53:06 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Mar 31 01:28:07 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f799fa96
app-admin/salt: add 3004.1
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/Manifest | 1 +
app-admin/salt/files/salt-3004.1-jinja-3.patch | 40 ++++
app-admin/salt/files/salt-3004.1-tests.patch | 291 +++++++++++++++++++++++++
app-admin/salt/salt-3004.1.ebuild | 204 +++++++++++++++++
4 files changed, 536 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 74cedfb26638..3ee27efecc4d 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -5,3 +5,4 @@ DIST salt-3001.8.tar.gz 15740488 BLAKE2B 77875a670b81438280becd1f29b64fbc7663791
DIST salt-3002.7.tar.gz 15792124 BLAKE2B b4cb4a6d73c45f3c2183a7adfe8196bbc5788dce1995bd5c640cd9957bdfdba2e96deebaba927d6103fc50f4eaab86d51f4dd4594d25b7357db79ed67b39258e SHA512 c1e7bbcd39b5c2bef351bd74026346bf729839c4161f6eff8162620e9cb08a63073abeeb8af6bab635070386a883df494ef08cc07a84efa9aa7f2160b357a938
DIST salt-3003.3.tar.gz 16017984 BLAKE2B 9cd1e33a7b6dff4d3c6c5a87e1204f7f113b6190da8301061e26fcec178aba597a9e17ab60a54a67b52a895a9a8aef58bec70e9fdd8d8edc5a42945f6de21a58 SHA512 4fe50922833fce48fcc679adb16a0e1fe893531b2feb08b235a1461c58b8d9a72af2acd89fc0f712207fb0cd215d6b446e31a40001b46c43d0cc4ac827ce29e3
DIST salt-3003.tar.gz 15830910 BLAKE2B ea4f02eece951c3fb4fcc480d00f7b531ac549b2e23ff9a210b73f749f9ba83e0402e02a59028f41f94958d17512e417b7c1b7015e8ee3aeac55be9b1374fe6f SHA512 7f631466372f303c03f2852a5cfba1ee5c6ba1636a6fe1e1622e90d0b1376ef9f670aa1b4754f3d9c8c7fe1b99fe1b4c49e140dc86d90d157a1ec1e73ba43c38
+DIST salt-3004.1.tar.gz 17685649 BLAKE2B 64950cdc8420228f935d4a21fc20872da9ecf7c51b866ec3c59b46486b84a739b002acc44fa909eed93ce3dc6bedc9804df05d3d9ee5a9a13cd9d041ba70f876 SHA512 9353a8dc2a1c6e272318c6f35059236c5d78b6c8930f715275b701c12fca3be1fe930eb533f3f0c22933ba60967b0980300b922fe486cee9a62e6cdb568bdf91
diff --git a/app-admin/salt/files/salt-3004.1-jinja-3.patch b/app-admin/salt/files/salt-3004.1-jinja-3.patch
new file mode 100644
index 000000000000..98f21bc35129
--- /dev/null
+++ b/app-admin/salt/files/salt-3004.1-jinja-3.patch
@@ -0,0 +1,40 @@
+diff --git a/salt/utils/jinja.py b/salt/utils/jinja.py
+index 0cb70bf64a..322c2f7f46 100644
+--- a/salt/utils/jinja.py
++++ b/salt/utils/jinja.py
+@@ -25,10 +25,11 @@ import salt.utils.json
+ import salt.utils.stringutils
+ import salt.utils.url
+ import salt.utils.yaml
+-from jinja2 import BaseLoader, Markup, TemplateNotFound, nodes
++from jinja2 import BaseLoader, TemplateNotFound, nodes
+ from jinja2.environment import TemplateModule
+ from jinja2.exceptions import TemplateRuntimeError
+ from jinja2.ext import Extension
++from markupsafe import Markup
+ from salt.exceptions import TemplateError
+ from salt.utils.decorators.jinja import jinja_filter, jinja_global, jinja_test
+ from salt.utils.odict import OrderedDict
+@@ -706,7 +707,7 @@ def method_call(obj, f_name, *f_args, **f_kwargs):
+ return getattr(obj, f_name, lambda *args, **kwargs: None)(*f_args, **f_kwargs)
+
+
+-@jinja2.contextfunction
++@jinja2.pass_context
+ def show_full_context(ctx):
+ return salt.utils.data.simple_types_filter(
+ {key: value for key, value in ctx.items()}
+diff --git a/tests/unit/utils/test_jinja.py b/tests/unit/utils/test_jinja.py
+index 6502831aff..dec847364a 100644
+--- a/tests/unit/utils/test_jinja.py
++++ b/tests/unit/utils/test_jinja.py
+@@ -22,7 +22,8 @@ import salt.utils.files
+ import salt.utils.json
+ import salt.utils.stringutils
+ import salt.utils.yaml
+-from jinja2 import DictLoader, Environment, Markup, exceptions
++from jinja2 import DictLoader, Environment, exceptions
++from markupsafe import Markup
+ from salt.exceptions import SaltRenderError
+ from salt.utils.decorators.jinja import JinjaFilter
+ from salt.utils.jinja import (
diff --git a/app-admin/salt/files/salt-3004.1-tests.patch b/app-admin/salt/files/salt-3004.1-tests.patch
new file mode 100644
index 000000000000..3a36977246f2
--- /dev/null
+++ b/app-admin/salt/files/salt-3004.1-tests.patch
@@ -0,0 +1,291 @@
+diff --git a/tests/pytests/functional/fileserver/test_roots.py b/tests/pytests/functional/fileserver/test_roots.py
+index c65efc8d52..9060fb61e2 100644
+--- a/tests/pytests/functional/fileserver/test_roots.py
++++ b/tests/pytests/functional/fileserver/test_roots.py
+@@ -15,6 +15,7 @@ def configure_loader_modules(base_env_state_tree_root_dir):
+ return {roots: {"__opts__": opts}}
+
+
++@pytest.mark.skip("needs network access")
+ # nox -e pytest-zeromq-3.8(coverage=False) -- -vvv --run-slow --run-destructive tests\pytests\functional\fileserver\test_roots.py
+ def test_symlink_list(base_env_state_tree_root_dir):
+ with pytest.helpers.temp_file(
+diff --git a/tests/pytests/functional/pillar/test_gpg.py b/tests/pytests/functional/pillar/test_gpg.py
+index aaa4733f1d..b55cc9b4cf 100644
+--- a/tests/pytests/functional/pillar/test_gpg.py
++++ b/tests/pytests/functional/pillar/test_gpg.py
+@@ -203,7 +203,7 @@ def gpg_homedir(salt_master, pillar_state_tree):
+ universal_newlines=True,
+ )
+ ret = ProcessResult(
+- exitcode=proc.returncode,
++ returncode=proc.returncode,
+ stdout=proc.stdout,
+ stderr=proc.stderr,
+ cmdline=proc.args,
+@@ -220,7 +220,7 @@ def gpg_homedir(salt_master, pillar_state_tree):
+ input=TEST_KEY,
+ )
+ ret = ProcessResult(
+- exitcode=proc.returncode,
++ returncode=proc.returncode,
+ stdout=proc.stdout,
+ stderr=proc.stderr,
+ cmdline=proc.args,
+@@ -250,7 +250,7 @@ def gpg_homedir(salt_master, pillar_state_tree):
+ input="KILLAGENT",
+ )
+ ret = ProcessResult(
+- exitcode=proc.returncode,
++ returncode=proc.returncode,
+ stdout=proc.stdout,
+ stderr=proc.stderr,
+ cmdline=proc.args,
+diff --git a/tests/pytests/integration/cli/test_salt_proxy.py b/tests/pytests/integration/cli/test_salt_proxy.py
+index c32c7e11e2..a9ee9fbd8d 100644
+--- a/tests/pytests/integration/cli/test_salt_proxy.py
++++ b/tests/pytests/integration/cli/test_salt_proxy.py
+@@ -40,6 +40,7 @@ def test_exit_status_no_proxyid(salt_master, proxy_minion_id):
+ assert "error: salt-proxy requires --proxyid" in exc.value.stderr, exc.value
+
+
++@pytest.mark.skip("Currently broken")
+ @pytest.mark.skip_on_windows(reason="Windows does not do user checks")
+ def test_exit_status_unknown_user(salt_master, proxy_minion_id):
+ """
+@@ -66,7 +67,7 @@ def test_exit_status_unknown_argument(salt_master, proxy_minion_id):
+ factory = salt_master.salt_proxy_minion_daemon(proxy_minion_id)
+ factory.start("--unknown-argument", start_timeout=10, max_start_attempts=1)
+
+- assert exc.value.exitcode == salt.defaults.exitcodes.EX_USAGE, exc.value
++ assert exc.value.returncode == salt.defaults.exitcodes.EX_USAGE, exc.value
+ assert "Usage" in exc.value.stderr, exc.value
+ assert "no such option: --unknown-argument" in exc.value.stderr, exc.value
+
+@@ -89,8 +90,8 @@ def test_exit_status_correct_usage(salt_master, proxy_minion_id, salt_cli):
+ assert factory.is_running()
+ # Let's issue a ping before terminating
+ ret = salt_cli.run("test.ping", minion_tgt=proxy_minion_id)
+- assert ret.exitcode == 0
++ assert ret.returncode == 0
+ assert ret.json is True
+ # Terminate the proxy minion
+ ret = factory.terminate()
+- assert ret.exitcode == salt.defaults.exitcodes.EX_OK, ret
++ assert ret.returncode == salt.defaults.exitcodes.EX_OK, ret
+diff --git a/tests/pytests/integration/sdb/test_vault.py b/tests/pytests/integration/sdb/test_vault.py
+index 7dc4c55417..6c48296a0c 100644
+--- a/tests/pytests/integration/sdb/test_vault.py
++++ b/tests/pytests/integration/sdb/test_vault.py
+@@ -107,7 +107,7 @@ def vault_container_version(request, salt_call_cli, vault_port):
+ if proc.returncode == 0:
+ break
+ ret = ProcessResult(
+- exitcode=proc.returncode,
++ returncode=proc.returncode,
+ stdout=proc.stdout,
+ stderr=proc.stderr,
+ cmdline=proc.args,
+@@ -133,7 +133,7 @@ def vault_container_version(request, salt_call_cli, vault_port):
+ )
+ if proc.returncode != 0:
+ ret = ProcessResult(
+- exitcode=proc.returncode,
++ returncode=proc.returncode,
+ stdout=proc.stdout,
+ stderr=proc.stderr,
+ cmdline=proc.args,
+@@ -150,7 +150,7 @@ def vault_container_version(request, salt_call_cli, vault_port):
+ universal_newlines=True,
+ )
+ ret = ProcessResult(
+- exitcode=proc.returncode,
++ returncode=proc.returncode,
+ stdout=proc.stdout,
+ stderr=proc.stderr,
+ cmdline=proc.args,
+diff --git a/tests/pytests/unit/modules/test_cmdmod.py b/tests/pytests/unit/modules/test_cmdmod.py
+index bc1d2818aa..3bd93862b7 100644
+--- a/tests/pytests/unit/modules/test_cmdmod.py
++++ b/tests/pytests/unit/modules/test_cmdmod.py
+@@ -440,6 +440,7 @@ def test_run_cwd_doesnt_exist_issue_7154():
+ cmdmod.run_all(cmd, cwd=cwd)
+
+
++@pytest.mark.skip("needs root access")
+ @pytest.mark.skip_on_darwin
+ @pytest.mark.skip_on_windows
+ def test_run_cwd_in_combination_with_runas():
+diff --git a/tests/pytests/unit/modules/test_portage_config.py b/tests/pytests/unit/modules/test_portage_config.py
+index 5cc6b90596..db37d2c4f1 100644
+--- a/tests/pytests/unit/modules/test_portage_config.py
++++ b/tests/pytests/unit/modules/test_portage_config.py
+@@ -29,6 +29,7 @@ def test_get_config_file_wildcards():
+ assert portage_config._get_config_file("mask", atom) == expected
+
+
++@pytest.mark.skip("test needs root access")
+ def test_enforce_nice_config(tmp_path):
+ atoms = [
+ ("*/*::repo", "repo"),
+diff --git a/tests/pytests/unit/state/test_state_compiler.py b/tests/pytests/unit/state/test_state_compiler.py
+index fc43cf154d..7aa511c9f7 100644
+--- a/tests/pytests/unit/state/test_state_compiler.py
++++ b/tests/pytests/unit/state/test_state_compiler.py
+@@ -679,6 +679,7 @@ def test_verify_retry_parsing():
+ assert set(expected_result).issubset(set(state_obj.call(low_data)))
+
+
++@pytest.mark.skip("test requires root access")
+ def test_render_requisite_require_disabled():
+ """
+ Test that the state compiler correctly deliver a rendering
+@@ -719,6 +720,7 @@ def test_render_requisite_require_disabled():
+ assert run_num == 0
+
+
++@pytest.mark.skip("test requires root access")
+ def test_render_requisite_require_in_disabled():
+ """
+ Test that the state compiler correctly deliver a rendering
+diff --git a/tests/pytests/unit/state/test_state_format_slots.py b/tests/pytests/unit/state/test_state_format_slots.py
+index 57b7bb2b87..7d2abce8d0 100644
+--- a/tests/pytests/unit/state/test_state_format_slots.py
++++ b/tests/pytests/unit/state/test_state_format_slots.py
+@@ -218,6 +218,7 @@ def test_slot_append(state_obj):
+ assert cdata == {"args": ["arg"], "kwargs": {"key": "value1thing~"}}
+
+
++@pytest.mark.skip("test needs root")
+ # Skip on windows like integration.modules.test_state.StateModuleTest.test_parallel_state_with_long_tag
+ @skipIf(
+ salt.utils.platform.is_windows(),
+diff --git a/tests/pytests/unit/test_minion.py b/tests/pytests/unit/test_minion.py
+index 985ec99276..eb8a476e30 100644
+--- a/tests/pytests/unit/test_minion.py
++++ b/tests/pytests/unit/test_minion.py
+@@ -493,6 +493,7 @@ def test_scheduler_before_connect():
+ minion.destroy()
+
+
++@pytest.mark.skip("test needs root access")
+ def test_minion_module_refresh():
+ """
+ Tests that the 'module_refresh' just return in case there is no 'schedule'
+@@ -520,6 +521,7 @@ def test_minion_module_refresh():
+ minion.destroy()
+
+
++@pytest.mark.skip("test needs root access")
+ def test_minion_module_refresh_beacons_refresh():
+ """
+ Tests that 'module_refresh' calls beacons_refresh and that the
+diff --git a/tests/pytests/unit/test_version.py b/tests/pytests/unit/test_version.py
+index bc6bbfeadd..2653b558b0 100644
+--- a/tests/pytests/unit/test_version.py
++++ b/tests/pytests/unit/test_version.py
+@@ -140,6 +140,7 @@ def test_sha(commit, match):
+ assert ret is None
+
+
++@pytest.mark.skip("test is broken if some optional deps aren't installed")
+ def test_version_report_lines():
+ """
+ Validate padding in versions report is correct
+diff --git a/tests/support/helpers.py b/tests/support/helpers.py
+index d82b14cb90..751018162c 100644
+--- a/tests/support/helpers.py
++++ b/tests/support/helpers.py
+@@ -40,7 +40,7 @@ import salt.utils.platform
+ import salt.utils.pycrypto
+ import salt.utils.stringutils
+ import salt.utils.versions
+-from saltfactories.exceptions import FactoryFailure as ProcessFailed
++from pytestshellutils.exceptions import FactoryFailure as ProcessFailed
+ from saltfactories.utils.ports import get_unused_localhost_port
+ from saltfactories.utils.processes import ProcessResult
+ from tests.support.mock import patch
+@@ -1720,7 +1720,7 @@ class VirtualEnv:
+ kwargs.setdefault("env", self.environ)
+ proc = subprocess.run(args, check=False, **kwargs)
+ ret = ProcessResult(
+- exitcode=proc.returncode,
++ returncode=proc.returncode,
+ stdout=proc.stdout,
+ stderr=proc.stderr,
+ cmdline=proc.args,
+@@ -1735,7 +1735,7 @@ class VirtualEnv:
+ cmdline=proc.args,
+ stdout=proc.stdout,
+ stderr=proc.stderr,
+- exitcode=proc.returncode,
++ returncode=proc.returncode,
+ )
+ return ret
+
+diff --git a/tests/unit/modules/test_boto_route53.py b/tests/unit/modules/test_boto_route53.py
+index 1d3d1393a9..df331761e2 100644
+--- a/tests/unit/modules/test_boto_route53.py
++++ b/tests/unit/modules/test_boto_route53.py
+@@ -4,6 +4,8 @@ from collections import namedtuple
+
+ import pkg_resources # pylint: disable=3rd-party-module-not-gated
+
++import pytest
++
+ import salt.config
+ import salt.loader
+ import salt.utils.versions
+@@ -99,6 +101,7 @@ class BotoRoute53TestCase(TestCase, LoaderModuleMockMixin):
+ def tearDown(self):
+ del self.opts
+
++ @pytest.mark.skip("test currently broken")
+ @mock_route53_deprecated
+ def test_create_healthcheck(self):
+ """
+diff --git a/tests/unit/utils/test_parsers.py b/tests/unit/utils/test_parsers.py
+index 907c67f477..3f68cfe8f3 100644
+--- a/tests/unit/utils/test_parsers.py
++++ b/tests/unit/utils/test_parsers.py
+@@ -6,6 +6,8 @@ import os
+ import shutil
+ import tempfile
+
++import pytest
++
+ import salt.config
+ import salt.log.setup as log
+ import salt.syspaths
+@@ -983,6 +985,7 @@ class SaltRunOptionParserTestCase(ParserBase, TestCase):
+ if os.path.exists(self.log_file):
+ os.unlink(self.log_file)
+
++ @pytest.mark.skip("needs root access")
+ def test_jid_option(self):
+ jid = salt.utils.jid.gen_jid({})
+ args = ["--jid", jid]
+@@ -991,6 +994,7 @@ class SaltRunOptionParserTestCase(ParserBase, TestCase):
+ parser.parse_args(args)
+ assert parser.options.jid == jid
+
++ @pytest.mark.skip("needs root access")
+ def test_jid_option_invalid(self):
+ jid = salt.utils.jid.gen_jid({}) + "A"
+ args = ["--jid", jid]
+@@ -1041,6 +1045,7 @@ class SaltSSHOptionParserTestCase(ParserBase, TestCase):
+ if os.path.exists(self.ssh_log_file):
+ os.unlink(self.ssh_log_file)
+
++ @pytest.mark.skip("needs root access")
+ def test_jid_option(self):
+ jid = salt.utils.jid.gen_jid({})
+ args = ["--jid", jid] + self.args
+@@ -1049,6 +1054,7 @@ class SaltSSHOptionParserTestCase(ParserBase, TestCase):
+ parser.parse_args(args)
+ assert parser.options.jid == jid
+
++ @pytest.mark.skip("needs root access")
+ def test_jid_option_invalid(self):
+ jid = salt.utils.jid.gen_jid({}) + "A"
+ args = ["--jid", jid] + self.args
diff --git a/app-admin/salt/salt-3004.1.ebuild b/app-admin/salt/salt-3004.1.ebuild
new file mode 100644
index 000000000000..6f097cc01663
--- /dev/null
+++ b/app-admin/salt/salt-3004.1.ebuild
@@ -0,0 +1,204 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="https://www.saltstack.com/resources/community/
+ https://github.com/saltstack"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
+ mongodb neutron nova openssl portage profile redis selinux test raet
+ +zeromq vim-syntax"
+
+RDEPEND="
+ sys-apps/pciutils
+ >=dev-python/distro-1.5[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
+ dev-python/libnacl[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/toml-0.10.2[${PYTHON_USEDEP}]
+ dev-python/watchdog[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-2.5.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? (
+ $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_8)
+ )
+ openssl? (
+ dev-libs/openssl:0=[-bindist(-)]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ cheetah? ( >=dev-python/cheetah3-3.2.2[${PYTHON_USEDEP}] )
+ genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ nova? (
+ $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_8)
+ )
+ neutron? (
+ $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_8)
+ )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )
+ zeromq? ( >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.0.0[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/pytest-salt-factories-1.0.0_rc13[${PYTHON_USEDEP}]
+ dev-python/pytest-tempdir[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ dev-python/pytest-subtests[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/libcloud[${PYTHON_USEDEP}]
+ net-dns/bind-tools
+ >=dev-python/virtualenv-20.3.0[${PYTHON_USEDEP}]
+ !x86? ( >=dev-python/boto3-1.17.67[${PYTHON_USEDEP}] )
+ )"
+
+DOCS=( README.rst AUTHORS )
+
+REQUIRED_USE="|| ( raet zeromq )
+ test? ( cheetah genshi )"
+RESTRICT="!test? ( test ) x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch"
+ "${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
+ "${FILESDIR}/salt-3002-tests.patch"
+ "${FILESDIR}/salt-3003.1-tests.patch"
+ "${FILESDIR}/salt-3004.1-jinja-3.patch"
+ "${FILESDIR}/salt-3004.1-tests.patch"
+)
+
+python_prepare_all() {
+ # remove tests with external dependencies that may not be available, and
+ # tests that don't work in sandbox
+ rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die
+ rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
+ rm tests/unit/states/test_boto_vpc.py || die
+ rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
+ rm tests/pytests/functional/transport/server/test_req_channel.py || die
+
+ # tests that require network access
+ rm tests/unit/{states,modules}/test_zcbuildout.py || die
+ rm -r tests/integration/cloud || die
+ rm -r tests/kitchen/tests/wordpress/tests || die
+ rm tests/kitchen/test_kitchen.py || die
+ rm tests/unit/modules/test_network.py || die
+ rm tests/pytests/functional/modules/test_pip.py || die
+ rm tests/pytests/unit/client/ssh/test_ssh.py || die
+
+ # tests require root access
+ rm tests/integration/pillar/test_git_pillar.py || die
+ rm tests/integration/states/test_supervisord.py || die
+
+ # make sure pkg_resources doesn't bomb because pycrypto isn't installed
+ find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
+ # pycryptodome rather than pycryptodomex
+ find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_prepare() {
+ einfo "Fixing collections.abc warnings for ${EPYTHON}"
+ local abc
+ abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die
+ find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die
+
+ # removes contextvars, see bug: https://bugs.gentoo.org/799431
+ sed -i '/^contextvars/d' requirements/base.txt || die
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ # testsuite likes lots of files
+ ulimit -n 4096 || die
+
+ # ${T} is too long a path for the tests to work
+ local TMPDIR
+ TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)"
+ (
+ export TMPDIR
+ cleanup() { rm -rf "${TMPDIR}" || die; }
+
+ trap cleanup EXIT
+
+ addwrite "${TMPDIR}"
+
+ USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
+ "${EPYTHON}" -m pytest -vv \
+ || die "testing failed with ${EPYTHON}"
+ )
+}
+
+pkg_postinst() {
+ if use python_targets_python3_8; then
+ if use nova; then
+ ewarn "Salt's nova functionality will not work with python3.8 since"
+ ewarn "dev-python/python-novaclient does not support it yet"
+ fi
+ if use neutron; then
+ ewarn "Salt's neutron functionality will not work with python3.8 since"
+ ewarn "dev-python/python-neutronclient does not support it yet"
+ fi
+ if use libvirt; then
+ ewarn "Salt's libvirt functionality will not work with python3.8 since"
+ ewarn "dev-python/libvirt-python does not support it yet"
+ fi
+ fi
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2022-03-31 2:23 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2022-03-31 2:23 UTC (permalink / raw
To: gentoo-commits
commit: 2e656abe1f5a5b83f8d23561892c22b485e8a621
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 31 02:04:00 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Mar 31 02:04:00 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e656abe
app-admin/salt: add 3003.4
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/Manifest | 1 +
app-admin/salt/files/salt-3003.4-tests.patch | 52 +++++++
app-admin/salt/salt-3003.4.ebuild | 204 +++++++++++++++++++++++++++
3 files changed, 257 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 3ee27efecc4d..cba2b2758bbf 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -4,5 +4,6 @@ DIST salt-3000.9.tar.gz 15250432 BLAKE2B b76c166363b0b0fd3e3aa4b5306ba8280a2c99f
DIST salt-3001.8.tar.gz 15740488 BLAKE2B 77875a670b81438280becd1f29b64fbc766379192a9ca041568cd9360a3c4213bb3018063e88a297e9d1f637fb7ca3ef049a73a258022ec07e42f01a40bdf09a SHA512 8e90b2a1f82f951ab40a53a8af2ab421758ed8244f1881cc7aa71a8d9c2e2e6d892166ec8f8f6182966e56eb28c9aee6a060ee54b559b1d073fba97ad0afb013
DIST salt-3002.7.tar.gz 15792124 BLAKE2B b4cb4a6d73c45f3c2183a7adfe8196bbc5788dce1995bd5c640cd9957bdfdba2e96deebaba927d6103fc50f4eaab86d51f4dd4594d25b7357db79ed67b39258e SHA512 c1e7bbcd39b5c2bef351bd74026346bf729839c4161f6eff8162620e9cb08a63073abeeb8af6bab635070386a883df494ef08cc07a84efa9aa7f2160b357a938
DIST salt-3003.3.tar.gz 16017984 BLAKE2B 9cd1e33a7b6dff4d3c6c5a87e1204f7f113b6190da8301061e26fcec178aba597a9e17ab60a54a67b52a895a9a8aef58bec70e9fdd8d8edc5a42945f6de21a58 SHA512 4fe50922833fce48fcc679adb16a0e1fe893531b2feb08b235a1461c58b8d9a72af2acd89fc0f712207fb0cd215d6b446e31a40001b46c43d0cc4ac827ce29e3
+DIST salt-3003.4.tar.gz 16031515 BLAKE2B 34902aba7ab64f4ddbacbad1b776b9b2218caf22fb843879a80bd5c30b6c28f4c22a050bbaf0e9735507a78c887f52bcae7d1833ffeb51a543ec22fda79252e6 SHA512 35419fbb3f9a0f3e87579f740b717d6902cab0d85397b16d1e94d9516bf5f5d269b4f8bca370fd376abd9b7c8a6ad7ef4c8e8a8fdd31655fd17c810989e79693
DIST salt-3003.tar.gz 15830910 BLAKE2B ea4f02eece951c3fb4fcc480d00f7b531ac549b2e23ff9a210b73f749f9ba83e0402e02a59028f41f94958d17512e417b7c1b7015e8ee3aeac55be9b1374fe6f SHA512 7f631466372f303c03f2852a5cfba1ee5c6ba1636a6fe1e1622e90d0b1376ef9f670aa1b4754f3d9c8c7fe1b99fe1b4c49e140dc86d90d157a1ec1e73ba43c38
DIST salt-3004.1.tar.gz 17685649 BLAKE2B 64950cdc8420228f935d4a21fc20872da9ecf7c51b866ec3c59b46486b84a739b002acc44fa909eed93ce3dc6bedc9804df05d3d9ee5a9a13cd9d041ba70f876 SHA512 9353a8dc2a1c6e272318c6f35059236c5d78b6c8930f715275b701c12fca3be1fe930eb533f3f0c22933ba60967b0980300b922fe486cee9a62e6cdb568bdf91
diff --git a/app-admin/salt/files/salt-3003.4-tests.patch b/app-admin/salt/files/salt-3003.4-tests.patch
new file mode 100644
index 000000000000..93fd4214021b
--- /dev/null
+++ b/app-admin/salt/files/salt-3003.4-tests.patch
@@ -0,0 +1,52 @@
+diff --git a/tests/conftest.py b/tests/conftest.py
+index 0fc1844bc8..32346da1f6 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -34,7 +34,6 @@ import salt.utils.files
+ import salt.utils.path
+ import salt.utils.platform
+ import salt.utils.win_functions
+-import saltfactories.utils.compat
+ from salt.serializers import yaml
+ from salt.utils.immutabletypes import freeze
+ from tests.support.helpers import (
+@@ -465,9 +464,7 @@ def pytest_runtest_setup(item):
+ item._skipped_by_mark = True
+ pytest.skip(PRE_PYTEST_SKIP_REASON)
+
+- if saltfactories.utils.compat.has_unittest_attr(
+- item, "__slow_test__"
+- ) or item.get_closest_marker("slow_test"):
++ if item.get_closest_marker("slow_test"):
+ if item.config.getoption("--run-slow") is False:
+ item._skipped_by_mark = True
+ pytest.skip("Slow tests are disabled!")
+diff --git a/tests/unit/utils/test_schema.py b/tests/unit/utils/test_schema.py
+index ef7acdb7a3..22953556cb 100644
+--- a/tests/unit/utils/test_schema.py
++++ b/tests/unit/utils/test_schema.py
+@@ -1,6 +1,8 @@
+ # pylint: disable=function-redefined
+ import copy
+
++import pytest
++
+ import salt.utils.json
+ import salt.utils.schema as schema
+ import salt.utils.stringutils
+@@ -822,6 +824,7 @@ class ConfigTestCase(TestCase):
+ },
+ )
+
++ @pytest.mark.skip("broken with newer versions of jsonschema")
+ @skipIf(HAS_JSONSCHEMA is False, "The 'jsonschema' library is missing")
+ def test_hostname_config_validation(self):
+ class TestConf(schema.Schema):
+@@ -2048,6 +2051,7 @@ class ConfigTestCase(TestCase):
+ item = schema.NotItem(item=schema.BooleanItem())
+ self.assertEqual(item.serialize(), {"not": item.item.serialize()})
+
++ @pytest.mark.skip("broken with newer versions of jsonschema")
+ @skipIf(HAS_JSONSCHEMA is False, "The 'jsonschema' library is missing")
+ def test_not_config_validation(self):
+ class TestConf(schema.Schema):
diff --git a/app-admin/salt/salt-3003.4.ebuild b/app-admin/salt/salt-3003.4.ebuild
new file mode 100644
index 000000000000..a94b0761731f
--- /dev/null
+++ b/app-admin/salt/salt-3003.4.ebuild
@@ -0,0 +1,204 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{8..9} )
+
+inherit systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="https://www.saltstack.com/resources/community/
+ https://github.com/saltstack"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
+ mongodb neutron nova openssl portage profile redis selinux test raet
+ +zeromq vim-syntax"
+
+RDEPEND="
+ sys-apps/pciutils
+ >=dev-python/distro-1.5[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/libnacl[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/toml-0.10.2[${PYTHON_USEDEP}]
+ dev-python/watchdog[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-2.5.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? (
+ $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_8)
+ )
+ openssl? (
+ dev-libs/openssl:0=[-bindist(-)]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ cheetah? ( dev-python/cheetah3[${PYTHON_USEDEP}] )
+ genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ nova? (
+ $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_8)
+ )
+ neutron? (
+ $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_8)
+ )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )
+ zeromq? ( >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/moto-1.3.14[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ =dev-python/pytest-salt-factories-0.121*[${PYTHON_USEDEP}]
+ dev-python/pytest-tempdir[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ dev-python/pytest-subtests[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/libcloud[${PYTHON_USEDEP}]
+ net-dns/bind-tools
+ >=dev-python/virtualenv-20.0.20[${PYTHON_USEDEP}]
+ !x86? ( >=dev-python/boto3-1.19.63[${PYTHON_USEDEP}] )
+ )"
+
+DOCS=( README.rst AUTHORS )
+
+REQUIRED_USE="|| ( raet zeromq )
+ test? ( cheetah genshi )"
+RESTRICT="!test? ( test ) x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch"
+ "${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
+ "${FILESDIR}/salt-3002-tests.patch"
+ "${FILESDIR}/salt-3003.3-tests.patch"
+ "${FILESDIR}/salt-3003.1-tests.patch"
+ "${FILESDIR}/salt-3004.1-jinja-3.patch"
+ "${FILESDIR}/salt-3003.4-tests.patch"
+)
+
+python_prepare_all() {
+ # remove tests with external dependencies that may not be available, and
+ # tests that don't work in sandbox
+ rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die
+ rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
+ rm tests/unit/states/test_boto_vpc.py || die
+ rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
+ rm tests/pytests/functional/transport/server/test_req_channel.py || die
+
+ # tests that require network access
+ rm tests/unit/{states,modules}/test_zcbuildout.py || die
+ rm -r tests/integration/cloud || die
+ rm -r tests/kitchen/tests/wordpress/tests || die
+ rm tests/kitchen/test_kitchen.py || die
+ rm tests/unit/modules/test_network.py || die
+
+ # tests require root access
+ rm tests/integration/pillar/test_git_pillar.py || die
+ rm tests/integration/states/test_supervisord.py || die
+ rm tests/pytests/unit/client/test_ssh.py || die
+
+ # make sure pkg_resources doesn't bomb because pycrypto isn't installed
+ find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
+ # pycryptodome rather than pycryptodomex
+ find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_prepare() {
+ einfo "Fixing collections.abc warnings for ${EPYTHON}"
+ local abc
+ abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die
+ find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die
+
+ # removes contextvars, see bug: https://bugs.gentoo.org/799431
+ sed -i '/^contextvars/d' requirements/base.txt || die
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ # testsuite likes lots of files
+ ulimit -n 4096 || die
+
+ # ${T} is too long a path for the tests to work
+ local TMPDIR
+ TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)"
+ (
+ export TMPDIR
+ cleanup() { rm -rf "${TMPDIR}" || die; }
+
+ trap cleanup EXIT
+
+ addwrite "${TMPDIR}"
+
+ USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
+ "${EPYTHON}" -m pytest -vv \
+ || die "testing failed with ${EPYTHON}"
+ )
+}
+
+pkg_postinst() {
+ if use python_targets_python3_8; then
+ if use nova; then
+ ewarn "Salt's nova functionality will not work with python3.8 since"
+ ewarn "dev-python/python-novaclient does not support it yet"
+ fi
+ if use neutron; then
+ ewarn "Salt's neutron functionality will not work with python3.8 since"
+ ewarn "dev-python/python-neutronclient does not support it yet"
+ fi
+ if use libvirt; then
+ ewarn "Salt's libvirt functionality will not work with python3.8 since"
+ ewarn "dev-python/libvirt-python does not support it yet"
+ fi
+ fi
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2022-03-31 16:47 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2022-03-31 16:47 UTC (permalink / raw
To: gentoo-commits
commit: 5115f6b373c7956cbd7659fb9c852bad7902dbb1
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 31 16:47:05 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Mar 31 16:47:13 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5115f6b3
app-admin/salt: add 3002.8
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/Manifest | 1 +
.../salt/files/salt-3002.8-relax-pyzmq-dep.patch | 11 ++
app-admin/salt/files/salt-3002.8-tests.patch | 33 ++++
app-admin/salt/salt-3002.8.ebuild | 200 +++++++++++++++++++++
4 files changed, 245 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index cba2b2758bbf..c5be9145b95b 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -3,6 +3,7 @@ DIST salt-3000.8.tar.gz 15249139 BLAKE2B df306669ba11dd650621222ff9c69f5a6e16b6f
DIST salt-3000.9.tar.gz 15250432 BLAKE2B b76c166363b0b0fd3e3aa4b5306ba8280a2c99fbc7fd9866d957406bba8e6fcc03b769b53dbb80b115f9fa9f1fdc93e1eb257f4bf04283e414a309c16e4f078f SHA512 94214f20a8a080ebdcbb7e3351f60a466c3a92cc85d177c2ea677192a63e58b0f9cacfb1af04e14022a7ac570ebd0b931722d1d001a7655dcd7502813c29a092
DIST salt-3001.8.tar.gz 15740488 BLAKE2B 77875a670b81438280becd1f29b64fbc766379192a9ca041568cd9360a3c4213bb3018063e88a297e9d1f637fb7ca3ef049a73a258022ec07e42f01a40bdf09a SHA512 8e90b2a1f82f951ab40a53a8af2ab421758ed8244f1881cc7aa71a8d9c2e2e6d892166ec8f8f6182966e56eb28c9aee6a060ee54b559b1d073fba97ad0afb013
DIST salt-3002.7.tar.gz 15792124 BLAKE2B b4cb4a6d73c45f3c2183a7adfe8196bbc5788dce1995bd5c640cd9957bdfdba2e96deebaba927d6103fc50f4eaab86d51f4dd4594d25b7357db79ed67b39258e SHA512 c1e7bbcd39b5c2bef351bd74026346bf729839c4161f6eff8162620e9cb08a63073abeeb8af6bab635070386a883df494ef08cc07a84efa9aa7f2160b357a938
+DIST salt-3002.8.tar.gz 15798643 BLAKE2B 12280dfd29f46f9bb8b2df6fcef474c2c2237d6f9c71e1474caae58893605dd6f9fb4c4573f52765cb950cd15e31fc0fda2fa8dd1c87d48c1951d2812c1a3a81 SHA512 a88a6f77d2af2cff5d5244f38b16a1904da05bdfd45b2087691e41b07f21785b1838151314d7c80d3a33eebefe480c8f3678fa161e9ceaaa50c997022463c472
DIST salt-3003.3.tar.gz 16017984 BLAKE2B 9cd1e33a7b6dff4d3c6c5a87e1204f7f113b6190da8301061e26fcec178aba597a9e17ab60a54a67b52a895a9a8aef58bec70e9fdd8d8edc5a42945f6de21a58 SHA512 4fe50922833fce48fcc679adb16a0e1fe893531b2feb08b235a1461c58b8d9a72af2acd89fc0f712207fb0cd215d6b446e31a40001b46c43d0cc4ac827ce29e3
DIST salt-3003.4.tar.gz 16031515 BLAKE2B 34902aba7ab64f4ddbacbad1b776b9b2218caf22fb843879a80bd5c30b6c28f4c22a050bbaf0e9735507a78c887f52bcae7d1833ffeb51a543ec22fda79252e6 SHA512 35419fbb3f9a0f3e87579f740b717d6902cab0d85397b16d1e94d9516bf5f5d269b4f8bca370fd376abd9b7c8a6ad7ef4c8e8a8fdd31655fd17c810989e79693
DIST salt-3003.tar.gz 15830910 BLAKE2B ea4f02eece951c3fb4fcc480d00f7b531ac549b2e23ff9a210b73f749f9ba83e0402e02a59028f41f94958d17512e417b7c1b7015e8ee3aeac55be9b1374fe6f SHA512 7f631466372f303c03f2852a5cfba1ee5c6ba1636a6fe1e1622e90d0b1376ef9f670aa1b4754f3d9c8c7fe1b99fe1b4c49e140dc86d90d157a1ec1e73ba43c38
diff --git a/app-admin/salt/files/salt-3002.8-relax-pyzmq-dep.patch b/app-admin/salt/files/salt-3002.8-relax-pyzmq-dep.patch
new file mode 100644
index 000000000000..e42a22b4e8b7
--- /dev/null
+++ b/app-admin/salt/files/salt-3002.8-relax-pyzmq-dep.patch
@@ -0,0 +1,11 @@
+diff --git a/requirements/zeromq.txt b/requirements/zeromq.txt
+index 77c9bd8be1..ffa1589043 100644
+--- a/requirements/zeromq.txt
++++ b/requirements/zeromq.txt
+@@ -1,5 +1,4 @@
+ -r base.txt
+ -r crypto.txt
+
+-pyzmq>=17.0.0 ; python_version < "3.9"
+-pyzmq>=19.0.2 ; python_version >= "3.9"
++pyzmq
diff --git a/app-admin/salt/files/salt-3002.8-tests.patch b/app-admin/salt/files/salt-3002.8-tests.patch
new file mode 100644
index 000000000000..c94a0c106347
--- /dev/null
+++ b/app-admin/salt/files/salt-3002.8-tests.patch
@@ -0,0 +1,33 @@
+diff --git a/salt/transport/mixins/auth.py b/salt/transport/mixins/auth.py
+index de86773750..3ca09260a0 100644
+--- a/salt/transport/mixins/auth.py
++++ b/salt/transport/mixins/auth.py
+@@ -54,7 +54,7 @@ class AESPubClientMixin:
+ @salt.ext.tornado.gen.coroutine
+ def _decode_payload(self, payload):
+ # we need to decrypt it
+- log.trace("Decoding payload: %s", payload)
++ log.debug("Decoding payload: %s", payload)
+ if payload["enc"] == "aes":
+ self._verify_master_signature(payload)
+ try:
+diff --git a/tests/unit/utils/test_schema.py b/tests/unit/utils/test_schema.py
+index 97bce1f10b..2ff5904b87 100644
+--- a/tests/unit/utils/test_schema.py
++++ b/tests/unit/utils/test_schema.py
+@@ -835,6 +835,7 @@ class ConfigTestCase(TestCase):
+ )
+
+ @skipIf(HAS_JSONSCHEMA is False, "The 'jsonschema' library is missing")
++ @skipIf(True, "Broken with newer versions of jsonschema")
+ def test_hostname_config_validation(self):
+ class TestConf(schema.Schema):
+ item = schema.HostnameItem(title="Item", description="Item description")
+@@ -2060,6 +2061,7 @@ class ConfigTestCase(TestCase):
+ item = schema.NotItem(item=schema.BooleanItem())
+ self.assertEqual(item.serialize(), {"not": item.item.serialize()})
+
++ @skipIf(True, "Broken with newer versions of jsonschema")
+ @skipIf(HAS_JSONSCHEMA is False, "The 'jsonschema' library is missing")
+ def test_not_config_validation(self):
+ class TestConf(schema.Schema):
diff --git a/app-admin/salt/salt-3002.8.ebuild b/app-admin/salt/salt-3002.8.ebuild
new file mode 100644
index 000000000000..023fe6aa7470
--- /dev/null
+++ b/app-admin/salt/salt-3002.8.ebuild
@@ -0,0 +1,200 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{7..9} )
+
+inherit systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="https://www.saltstack.com/resources/community/
+ https://github.com/saltstack"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
+ mongodb neutron nova openssl portage profile redis selinux test raet
+ +zeromq vim-syntax"
+
+RDEPEND="
+ sys-apps/pciutils
+ >=dev-python/distro-1.5[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/libnacl[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/toml[${PYTHON_USEDEP}]
+ dev-python/watchdog[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? (
+ $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_8)
+ )
+ openssl? (
+ dev-libs/openssl:0=[-bindist(-)]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ cheetah? ( dev-python/cheetah3[${PYTHON_USEDEP}] )
+ genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ nova? (
+ $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_8)
+ )
+ neutron? (
+ $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_8)
+ )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )
+ zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ >=dev-python/pytest-salt-factories-0.93.0[${PYTHON_USEDEP}]
+ dev-python/pytest-tempdir[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.0.20[${PYTHON_USEDEP}]
+ net-dns/bind-tools
+ !x86? ( >=dev-python/boto3-1.3.15[${PYTHON_USEDEP}] )
+ )"
+
+DOCS=( README.rst AUTHORS )
+
+REQUIRED_USE="
+ || ( raet zeromq )
+ test? ( cheetah genshi )
+"
+RESTRICT="!test? ( test ) x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch"
+ "${FILESDIR}/salt-3002-dont-realpath-on-tmpdir.patch"
+ "${FILESDIR}/salt-3002-tests.patch"
+ "${FILESDIR}/salt-3002.5-tests.patch"
+ "${FILESDIR}/salt-3002.7-tests.patch"
+ "${FILESDIR}/salt-3004.1-jinja-3.patch"
+ "${FILESDIR}/salt-3002.8-tests.patch"
+ "${FILESDIR}/salt-3002.8-relax-pyzmq-dep.patch"
+)
+
+python_prepare_all() {
+ # remove tests with external dependencies that may not be available, and
+ # tests that don't work in sandbox
+ rm tests/unit/{test_{zypp_plugins,module_names},utils/test_{extend,cache}}.py || die
+ rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
+ rm tests/unit/states/test_boto_vpc.py || die
+ rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
+ rm salt/utils/virtualbox.py || die
+
+ # tests that require network access
+ rm tests/unit/{states,modules}/test_zcbuildout.py || die
+
+ sed -i 's:log.trace(:log.debug(:' \
+ salt/fileserver/roots.py salt/grains/core.py salt/states/saltmod.py || die
+
+ # make sure pkg_resources doesn't bomb because pycrypto isn't installed
+ # make sure pkg_resources doesn't bomb because pycrypto isn't installed
+ find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
+ # pycryptodome rather than pycryptodomex
+ find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_prepare() {
+ einfo "Fixing collections.abc warnings for ${EPYTHON}"
+ local abc
+ abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die
+ find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ local tempdir
+ # testsuite likes lots of files
+ ulimit -n 3072 || die
+
+ # ${T} is too long a path for the tests to work
+ tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
+ mkdir "${T}/$(basename "${tempdir}")"
+
+ (
+ cleanup() { rm -f "${tempdir}" || die; }
+
+ trap cleanup EXIT
+
+ addwrite "${tempdir}"
+ ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}" || die
+
+ USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
+ TMPDIR="${tempdir}" \
+ ${EPYTHON} tests/runtests.py \
+ --unit-tests --no-report --verbose \
+ || die "testing failed with ${EPYTHON}"
+ )
+}
+
+pkg_postinst() {
+ if use python_targets_python3_8; then
+ if use nova; then
+ ewarn "Salt's nova functionality will not work with python3.8 since"
+ ewarn "dev-python/python-novaclient does not support it yet"
+ fi
+ if use neutron; then
+ ewarn "Salt's neutron functionality will not work with python3.8 since"
+ ewarn "dev-python/python-neutronclient does not support it yet"
+ fi
+ if use libvirt; then
+ ewarn "Salt's libvirt functionality will not work with python3.8 since"
+ ewarn "dev-python/libvirt-python does not support it yet"
+ fi
+ fi
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2022-06-28 18:24 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2022-06-28 18:24 UTC (permalink / raw
To: gentoo-commits
commit: d72aeae041a1c80f6a181596545ba524d91ab421
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 28 16:16:39 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Jun 28 18:24:30 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d72aeae0
app-admin/salt: add 3004.2
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/Manifest | 1 +
app-admin/salt/files/salt-3004.2-importlib.patch | 11 ++
app-admin/salt/files/salt-3004.2-jinja-3.patch | 14 ++
app-admin/salt/salt-3004.2.ebuild | 208 +++++++++++++++++++++++
4 files changed, 234 insertions(+)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index e4b2bec60be3..601fc6fa75d4 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -5,3 +5,4 @@ DIST salt-3003.3.tar.gz 16017984 BLAKE2B 9cd1e33a7b6dff4d3c6c5a87e1204f7f113b619
DIST salt-3003.4.tar.gz 16031515 BLAKE2B 34902aba7ab64f4ddbacbad1b776b9b2218caf22fb843879a80bd5c30b6c28f4c22a050bbaf0e9735507a78c887f52bcae7d1833ffeb51a543ec22fda79252e6 SHA512 35419fbb3f9a0f3e87579f740b717d6902cab0d85397b16d1e94d9516bf5f5d269b4f8bca370fd376abd9b7c8a6ad7ef4c8e8a8fdd31655fd17c810989e79693
DIST salt-3003.tar.gz 15830910 BLAKE2B ea4f02eece951c3fb4fcc480d00f7b531ac549b2e23ff9a210b73f749f9ba83e0402e02a59028f41f94958d17512e417b7c1b7015e8ee3aeac55be9b1374fe6f SHA512 7f631466372f303c03f2852a5cfba1ee5c6ba1636a6fe1e1622e90d0b1376ef9f670aa1b4754f3d9c8c7fe1b99fe1b4c49e140dc86d90d157a1ec1e73ba43c38
DIST salt-3004.1.tar.gz 17685649 BLAKE2B 64950cdc8420228f935d4a21fc20872da9ecf7c51b866ec3c59b46486b84a739b002acc44fa909eed93ce3dc6bedc9804df05d3d9ee5a9a13cd9d041ba70f876 SHA512 9353a8dc2a1c6e272318c6f35059236c5d78b6c8930f715275b701c12fca3be1fe930eb533f3f0c22933ba60967b0980300b922fe486cee9a62e6cdb568bdf91
+DIST salt-3004.2.tar.gz 17685127 BLAKE2B a42e31d8a006488b3a6f341f817cde21ff86248d2b548d9914c429c62d7570cdf46cf2b41311cbb08ced7f9518e68156c6df3eb78e55cacfd4d40a4e7a54f52b SHA512 b2fa434f1d25eabac51d65d75bb020943eb71aff113d683e6f436a0f205bd3c7682b1b7acd4d9a62bf37a47eb0561293d263f3174d5e266f0998a1652fcae2ef
diff --git a/app-admin/salt/files/salt-3004.2-importlib.patch b/app-admin/salt/files/salt-3004.2-importlib.patch
new file mode 100644
index 000000000000..599b17290d5b
--- /dev/null
+++ b/app-admin/salt/files/salt-3004.2-importlib.patch
@@ -0,0 +1,11 @@
+--- a/salt/_compat.py 2022-06-28 01:50:45.630746476 -0000
++++ b/salt/_compat.py 2022-06-28 01:51:52.970217848 -0000
+@@ -14,7 +14,7 @@
+ if sys.version_info >= (3, 10):
+ # Python 3.10 will include a fix in importlib.metadata which allows us to
+ # get the distribution of a loaded entry-point
+- import importlib.metadata # pylint: disable=no-member,no-name-in-module
++ import importlib.metadata as importlib_metadata # pylint: disable=no-member,no-name-in-module
+ else:
+ # importlib_metadata before version 3.3.0 does not include the functionality we need.
+ try:
diff --git a/app-admin/salt/files/salt-3004.2-jinja-3.patch b/app-admin/salt/files/salt-3004.2-jinja-3.patch
new file mode 100644
index 000000000000..271921fd4564
--- /dev/null
+++ b/app-admin/salt/files/salt-3004.2-jinja-3.patch
@@ -0,0 +1,14 @@
+diff --git a/tests/unit/utils/test_jinja.py b/tests/unit/utils/test_jinja.py
+index 6502831aff..dec847364a 100644
+--- a/tests/unit/utils/test_jinja.py
++++ b/tests/unit/utils/test_jinja.py
+@@ -22,7 +22,8 @@ import salt.utils.files
+ import salt.utils.json
+ import salt.utils.stringutils
+ import salt.utils.yaml
+-from jinja2 import DictLoader, Environment, Markup, exceptions
++from jinja2 import DictLoader, Environment, exceptions
++from markupsafe import Markup
+ from salt.exceptions import SaltRenderError
+ from salt.utils.decorators.jinja import JinjaFilter
+ from salt.utils.jinja import (
diff --git a/app-admin/salt/salt-3004.2.ebuild b/app-admin/salt/salt-3004.2.ebuild
new file mode 100644
index 000000000000..dcc6f23bd8b9
--- /dev/null
+++ b/app-admin/salt/salt-3004.2.ebuild
@@ -0,0 +1,208 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="https://www.saltstack.com/resources/community/
+ https://github.com/saltstack"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
+ mongodb neutron nova openssl portage profile redis selinux test raet
+ +zeromq vim-syntax"
+
+RDEPEND="
+ sys-apps/pciutils
+ >=dev-python/distro-1.5[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
+ dev-python/libnacl[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/toml-0.10.2[${PYTHON_USEDEP}]
+ dev-python/watchdog[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-2.5.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? (
+ $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_8)
+ )
+ openssl? (
+ dev-libs/openssl:0=[-bindist(-)]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ cheetah? ( >=dev-python/cheetah3-3.2.2[${PYTHON_USEDEP}] )
+ genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ nova? (
+ $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_8)
+ )
+ neutron? (
+ $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_8)
+ )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )
+ zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ dev-python/passlib
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/pytest-salt-factories-1.0.0_rc13[${PYTHON_USEDEP}]
+ dev-python/pytest-tempdir[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ dev-python/pytest-subtests[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/libcloud[${PYTHON_USEDEP}]
+ net-dns/bind-tools
+ >=dev-python/virtualenv-20.3.0[${PYTHON_USEDEP}]
+ !x86? ( >=dev-python/boto3-1.17.67[${PYTHON_USEDEP}] )
+ )"
+
+DOCS=( README.rst AUTHORS )
+
+REQUIRED_USE="|| ( raet zeromq )
+ test? ( cheetah genshi )"
+RESTRICT="!test? ( test ) x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch"
+ "${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
+ "${FILESDIR}/salt-3002-tests.patch"
+ "${FILESDIR}/salt-3003.1-tests.patch"
+ "${FILESDIR}/salt-3004.2-jinja-3.patch"
+ "${FILESDIR}/salt-3004.1-tests.patch"
+ "${FILESDIR}/salt-3004.1-relax-pyzmq-dep.patch"
+ "${FILESDIR}/salt-3004.1-py310.patch"
+ "${FILESDIR}/salt-3004.2-importlib.patch"
+)
+
+python_prepare_all() {
+ # remove tests with external dependencies that may not be available, and
+ # tests that don't work in sandbox
+ rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die
+ rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
+ rm tests/unit/states/test_boto_vpc.py || die
+ rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
+ rm tests/pytests/functional/transport/server/test_req_channel.py || die
+
+ # tests that require network access
+ rm tests/unit/{states,modules}/test_zcbuildout.py || die
+ rm -r tests/integration/cloud || die
+ rm -r tests/kitchen/tests/wordpress/tests || die
+ rm tests/kitchen/test_kitchen.py || die
+ rm tests/unit/modules/test_network.py || die
+ rm tests/pytests/functional/modules/test_pip.py || die
+ rm tests/pytests/unit/client/ssh/test_ssh.py || die
+
+ # tests require root access
+ rm tests/integration/pillar/test_git_pillar.py || die
+ rm tests/integration/states/test_supervisord.py || die
+
+ # make sure pkg_resources doesn't bomb because pycrypto isn't installed
+ find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
+ # pycryptodome rather than pycryptodomex
+ find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_prepare() {
+ einfo "Fixing collections.abc warnings for ${EPYTHON}"
+ local abc
+ abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die
+ find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die
+
+ # removes contextvars, see bug: https://bugs.gentoo.org/799431
+ sed -i '/^contextvars/d' requirements/base.txt || die
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ # testsuite likes lots of files
+ ulimit -n 4096 || die
+
+ # ${T} is too long a path for the tests to work
+ local TMPDIR
+ TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)"
+ (
+ export TMPDIR
+ cleanup() { rm -rf "${TMPDIR}" || die; }
+
+ trap cleanup EXIT
+
+ addwrite "${TMPDIR}"
+
+ USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
+ "${EPYTHON}" -m pytest -vv \
+ || die "testing failed with ${EPYTHON}"
+ )
+}
+
+pkg_postinst() {
+ if use python_targets_python3_8; then
+ if use nova; then
+ ewarn "Salt's nova functionality will not work with python3.8 since"
+ ewarn "dev-python/python-novaclient does not support it yet"
+ fi
+ if use neutron; then
+ ewarn "Salt's neutron functionality will not work with python3.8 since"
+ ewarn "dev-python/python-neutronclient does not support it yet"
+ fi
+ if use libvirt; then
+ ewarn "Salt's libvirt functionality will not work with python3.8 since"
+ ewarn "dev-python/libvirt-python does not support it yet"
+ fi
+ fi
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2022-06-28 18:24 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2022-06-28 18:24 UTC (permalink / raw
To: gentoo-commits
commit: f46d27b8ae2a2403a993120c740b0ee362dfd668
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 28 18:24:20 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Jun 28 18:24:30 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f46d27b8
app-admin/salt: drop versions
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/Manifest | 5 -
app-admin/salt/files/salt-3001.1-tests.patch | 151 --------------------
app-admin/salt/files/salt-3001.6-tests.patch | 18 ---
app-admin/salt/salt-3001.8.ebuild | 188 -------------------------
app-admin/salt/salt-3002.7.ebuild | 196 --------------------------
app-admin/salt/salt-3002.8.ebuild | 200 --------------------------
app-admin/salt/salt-3003-r1.ebuild | 195 -------------------------
app-admin/salt/salt-3003.3-r1.ebuild | 203 ---------------------------
app-admin/salt/salt-3003.3.ebuild | 202 --------------------------
9 files changed, 1358 deletions(-)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index be95622da536..c25bbbf6d61c 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,10 +1,5 @@
-DIST salt-3001.8.tar.gz 15740488 BLAKE2B 77875a670b81438280becd1f29b64fbc766379192a9ca041568cd9360a3c4213bb3018063e88a297e9d1f637fb7ca3ef049a73a258022ec07e42f01a40bdf09a SHA512 8e90b2a1f82f951ab40a53a8af2ab421758ed8244f1881cc7aa71a8d9c2e2e6d892166ec8f8f6182966e56eb28c9aee6a060ee54b559b1d073fba97ad0afb013
-DIST salt-3002.7.tar.gz 15792124 BLAKE2B b4cb4a6d73c45f3c2183a7adfe8196bbc5788dce1995bd5c640cd9957bdfdba2e96deebaba927d6103fc50f4eaab86d51f4dd4594d25b7357db79ed67b39258e SHA512 c1e7bbcd39b5c2bef351bd74026346bf729839c4161f6eff8162620e9cb08a63073abeeb8af6bab635070386a883df494ef08cc07a84efa9aa7f2160b357a938
-DIST salt-3002.8.tar.gz 15798643 BLAKE2B 12280dfd29f46f9bb8b2df6fcef474c2c2237d6f9c71e1474caae58893605dd6f9fb4c4573f52765cb950cd15e31fc0fda2fa8dd1c87d48c1951d2812c1a3a81 SHA512 a88a6f77d2af2cff5d5244f38b16a1904da05bdfd45b2087691e41b07f21785b1838151314d7c80d3a33eebefe480c8f3678fa161e9ceaaa50c997022463c472
DIST salt-3002.9.tar.gz 15817470 BLAKE2B 31fb6dbb61a9f0ab22ca761810a934792e9fa9c78628f925e63d3d54d00fa4ea0b4aa806ba3ea92f7397ba3291281bf8989d9a288fb3114c7911cdebfc9acd6a SHA512 f34fd05960a68cba51f34cf8b7c737bd84d00472cec80628f082d16e54cf70705e191ac4b6690bf406a8a11e26c8155e4bdbdec34ede5f0721fd9b5e637a0ed1
-DIST salt-3003.3.tar.gz 16017984 BLAKE2B 9cd1e33a7b6dff4d3c6c5a87e1204f7f113b6190da8301061e26fcec178aba597a9e17ab60a54a67b52a895a9a8aef58bec70e9fdd8d8edc5a42945f6de21a58 SHA512 4fe50922833fce48fcc679adb16a0e1fe893531b2feb08b235a1461c58b8d9a72af2acd89fc0f712207fb0cd215d6b446e31a40001b46c43d0cc4ac827ce29e3
DIST salt-3003.4.tar.gz 16031515 BLAKE2B 34902aba7ab64f4ddbacbad1b776b9b2218caf22fb843879a80bd5c30b6c28f4c22a050bbaf0e9735507a78c887f52bcae7d1833ffeb51a543ec22fda79252e6 SHA512 35419fbb3f9a0f3e87579f740b717d6902cab0d85397b16d1e94d9516bf5f5d269b4f8bca370fd376abd9b7c8a6ad7ef4c8e8a8fdd31655fd17c810989e79693
DIST salt-3003.5.tar.gz 16056545 BLAKE2B ede3f0c63175f093dca07bee1bfb659cc608336ae92f532fc45868bd7eca659498c42e5d44324492744b802ade088adac869277679989550e217c1a135d6566d SHA512 ebda2056b4d6d216a0689b919d00aa78f615c355d21703d1939dbb6b00e9ad9347be4ee5b861282521f2d337bf7bf2fdc85e6942016358088a094d854fb33be9
-DIST salt-3003.tar.gz 15830910 BLAKE2B ea4f02eece951c3fb4fcc480d00f7b531ac549b2e23ff9a210b73f749f9ba83e0402e02a59028f41f94958d17512e417b7c1b7015e8ee3aeac55be9b1374fe6f SHA512 7f631466372f303c03f2852a5cfba1ee5c6ba1636a6fe1e1622e90d0b1376ef9f670aa1b4754f3d9c8c7fe1b99fe1b4c49e140dc86d90d157a1ec1e73ba43c38
DIST salt-3004.1.tar.gz 17685649 BLAKE2B 64950cdc8420228f935d4a21fc20872da9ecf7c51b866ec3c59b46486b84a739b002acc44fa909eed93ce3dc6bedc9804df05d3d9ee5a9a13cd9d041ba70f876 SHA512 9353a8dc2a1c6e272318c6f35059236c5d78b6c8930f715275b701c12fca3be1fe930eb533f3f0c22933ba60967b0980300b922fe486cee9a62e6cdb568bdf91
DIST salt-3004.2.tar.gz 17685127 BLAKE2B a42e31d8a006488b3a6f341f817cde21ff86248d2b548d9914c429c62d7570cdf46cf2b41311cbb08ced7f9518e68156c6df3eb78e55cacfd4d40a4e7a54f52b SHA512 b2fa434f1d25eabac51d65d75bb020943eb71aff113d683e6f436a0f205bd3c7682b1b7acd4d9a62bf37a47eb0561293d263f3174d5e266f0998a1652fcae2ef
diff --git a/app-admin/salt/files/salt-3001.1-tests.patch b/app-admin/salt/files/salt-3001.1-tests.patch
deleted file mode 100644
index ad32b611dfe2..000000000000
--- a/app-admin/salt/files/salt-3001.1-tests.patch
+++ /dev/null
@@ -1,151 +0,0 @@
-diff --git a/tests/integration/master/test_event_return.py b/tests/integration/master/test_event_return.py
-index 1a97be0e5f..93c57f08ff 100644
---- a/tests/integration/master/test_event_return.py
-+++ b/tests/integration/master/test_event_return.py
-@@ -18,7 +18,7 @@ import time
- import salt.ext.six as six
- from salt.utils.nb_popen import NonBlockingPopen
- from saltfactories.utils.ports import get_unused_localhost_port
--from saltfactories.utils.processes.helpers import terminate_process
-+from saltfactories.utils.processes import terminate_process
- from tests.support.cli_scripts import ScriptPathMixin
- from tests.support.mixins import AdaptedConfigurationTestCaseMixin
- from tests.support.runtests import RUNTIME_VARS
-diff --git a/tests/integration/utils/testprogram.py b/tests/integration/utils/testprogram.py
-index 74bbc1cd90..be651591d1 100644
---- a/tests/integration/utils/testprogram.py
-+++ b/tests/integration/utils/testprogram.py
-@@ -30,7 +30,7 @@ import salt.utils.psutil_compat as psutils
- import salt.utils.yaml
- from salt.ext import six
- from salt.ext.six.moves import range
--from saltfactories.utils.processes.helpers import (
-+from saltfactories.utils.processes import (
- terminate_process,
- terminate_process_list,
- )
-diff --git a/tests/support/case.py b/tests/support/case.py
-index 9017027ae3..517cefb64a 100644
---- a/tests/support/case.py
-+++ b/tests/support/case.py
-@@ -25,7 +25,7 @@ import time
- from datetime import datetime, timedelta
-
- import salt.utils.files
--from saltfactories.utils.processes.helpers import terminate_process
-+from saltfactories.utils.processes import terminate_process
- from tests.support.cli_scripts import ScriptPathMixin
- from tests.support.helpers import RedirectStdStreams, requires_sshd_server
- from tests.support.mixins import ( # pylint: disable=unused-import
-diff --git a/tests/support/helpers.py b/tests/support/helpers.py
-index bae2dceff4..93fbb66742 100644
---- a/tests/support/helpers.py
-+++ b/tests/support/helpers.py
-@@ -42,7 +42,7 @@ import salt.utils.versions
- from salt.ext import six
- from salt.ext.six.moves import builtins, range
- from saltfactories.utils.ports import get_unused_localhost_port
--from saltfactories.utils.processes.bases import ProcessResult
-+from saltfactories.utils.processes import ProcessResult
- from tests.support.mock import patch
- from tests.support.runtests import RUNTIME_VARS
- from tests.support.sminion import create_sminion
-@@ -1674,7 +1674,7 @@ class VirtualEnv(object):
- kwargs.setdefault("stderr", subprocess.PIPE)
- kwargs.setdefault("universal_newlines", True)
- proc = subprocess.run(args, check=False, **kwargs)
-- ret = ProcessResult(proc.returncode, proc.stdout, proc.stderr, proc.args)
-+ ret = ProcessResult(proc.returncode, proc.stdout, proc.stderr, cmdline=proc.args)
- log.debug(ret)
- if check is True:
- proc.check_returncode()
-diff --git a/tests/support/paths.py b/tests/support/paths.py
-index 1e1e081dc4..981aa54eb7 100644
---- a/tests/support/paths.py
-+++ b/tests/support/paths.py
-@@ -49,14 +49,12 @@ if TESTS_DIR not in sys.path:
- sys.path.insert(1, TESTS_DIR)
-
- SYS_TMP_DIR = os.path.abspath(
-- os.path.realpath(
-- # Avoid ${TMPDIR} and gettempdir() on MacOS as they yield a base path too long
-- # for unix sockets: ``error: AF_UNIX path too long``
-- # Gentoo Portage prefers ebuild tests are rooted in ${TMPDIR}
-- os.environ.get("TMPDIR", tempfile.gettempdir())
-- if not sys.platform.startswith("darwin")
-- else "/tmp"
-- )
-+ # Avoid ${TMPDIR} and gettempdir() on MacOS as they yield a base path too long
-+ # for unix sockets: ``error: AF_UNIX path too long``
-+ # Gentoo Portage prefers ebuild tests are rooted in ${TMPDIR}
-+ os.environ.get("TMPDIR", tempfile.gettempdir())
-+ if not sys.platform.startswith("darwin")
-+ else "/tmp"
- )
- TMP = os.path.join(SYS_TMP_DIR, "salt-tests-tmpdir")
- TMP_ROOT_DIR = os.path.join(TMP, "rootdir")
-diff --git a/tests/support/processes.py b/tests/support/processes.py
-index 4f264862a4..7c93e48368 100644
---- a/tests/support/processes.py
-+++ b/tests/support/processes.py
-@@ -14,7 +14,7 @@ from __future__ import absolute_import
-
- import logging
-
--from saltfactories.utils.processes.helpers import ( # pylint: disable=unused-import
-+from saltfactories.utils.processes import ( # pylint: disable=unused-import
- collect_child_processes,
- terminate_process,
- terminate_process_list,
-diff --git a/tests/unit/utils/scheduler/base.py b/tests/unit/utils/scheduler/base.py
-index 5d7f161eb5..286e047e40 100644
---- a/tests/unit/utils/scheduler/base.py
-+++ b/tests/unit/utils/scheduler/base.py
-@@ -14,7 +14,7 @@ import salt.utils.platform
- import salt.utils.schedule
- from salt.modules.test import ping
- from salt.utils.process import SubprocessList
--from saltfactories.utils.processes.helpers import terminate_process
-+from saltfactories.utils.processes import terminate_process
- from tests.support.mixins import SaltReturnAssertsMixin
- from tests.support.mock import MagicMock, patch
- from tests.support.runtests import RUNTIME_VARS
-diff --git a/tests/unit/utils/test_event.py b/tests/unit/utils/test_event.py
-index 9a3b1c428d..dfcf1c5275 100644
---- a/tests/unit/utils/test_event.py
-+++ b/tests/unit/utils/test_event.py
-@@ -21,7 +21,7 @@ import zmq
- import zmq.eventloop.ioloop
- from salt.ext.six.moves import range
- from salt.ext.tornado.testing import AsyncTestCase
--from saltfactories.utils.processes.helpers import terminate_process
-+from saltfactories.utils.processes import terminate_process
- from tests.support.events import eventpublisher_process, eventsender_process
- from tests.support.helpers import slowTest
- from tests.support.runtests import RUNTIME_VARS
-diff --git a/tests/unit/utils/test_verify.py b/tests/unit/utils/test_verify.py
-index 5662cf621b..0339c353dc 100644
---- a/tests/unit/utils/test_verify.py
-+++ b/tests/unit/utils/test_verify.py
-@@ -343,7 +343,7 @@ class TestCleanPath(TestCase):
- def test_clean_path_valid(self):
- path_a = os.path.join(self.tmpdir, "foo")
- path_b = os.path.join(self.tmpdir, "foo", "bar")
-- assert clean_path(path_a, path_b) == path_b
-+ assert clean_path(path_a, path_b) == os.path.realpath(path_b)
-
- def test_clean_path_invalid(self):
- path_a = os.path.join(self.tmpdir, "foo")
-@@ -398,10 +398,10 @@ class TestCleanPathLink(TestCase):
- test_path = os.path.join(self.from_path, "test")
- expect_path = os.path.join(self.to_path, "test")
- ret = clean_path(self.from_path, test_path)
-- assert ret == expect_path, "{} is not {}".format(ret, expect_path)
-+ assert ret == os.path.realpath(expect_path), "{} is not {}".format(ret, expect_path)
-
- def test_clean_path_symlinked_tgt(self):
- test_path = os.path.join(self.to_path, "test")
- expect_path = os.path.join(self.to_path, "test")
- ret = clean_path(self.from_path, test_path)
-- assert ret == expect_path, "{} is not {}".format(ret, expect_path)
-+ assert ret == os.path.realpath(expect_path), "{} is not {}".format(ret, expect_path)
diff --git a/app-admin/salt/files/salt-3001.6-tests.patch b/app-admin/salt/files/salt-3001.6-tests.patch
deleted file mode 100644
index d32977e4694b..000000000000
--- a/app-admin/salt/files/salt-3001.6-tests.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- salt-3001.6-python3_7/tests/unit/modules/test_cmdmod.py 2021-02-26 16:13:26.386553301 -0800
-+++ salt-3001.6/tests/unit/modules/test_cmdmod.py 2021-02-26 16:14:25.858150910 -0800
-@@ -437,6 +437,7 @@
- else:
- raise RuntimeError
-
-+ @skipIf(True, "does not work with sandbox")
- @skipIf(salt.utils.platform.is_windows(), "Do not run on Windows")
- @skipIf(salt.utils.platform.is_darwin(), "Do not run on MacOS")
- def test_run_cwd_in_combination_with_runas(self):
-@@ -560,6 +561,7 @@
-
- self.assertEqual(ret["stdout"], salt.utils.stringutils.to_unicode(stdout))
-
-+ @skipIf(True, "does not work with sandbox")
- def test_run_all_output_loglevel_debug(self):
- """
- Test that specifying debug for loglevel
diff --git a/app-admin/salt/salt-3001.8.ebuild b/app-admin/salt/salt-3001.8.ebuild
deleted file mode 100644
index f5be15b9f74c..000000000000
--- a/app-admin/salt/salt-3001.8.ebuild
+++ /dev/null
@@ -1,188 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7..8} )
-
-inherit systemd distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="https://www.saltstack.com/resources/community/
- https://github.com/saltstack"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
- mongodb neutron nova openssl portage profile redis selinux test raet
- +zeromq vim-syntax"
-
-RDEPEND="
- sys-apps/pciutils
- dev-python/distro[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/libnacl[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/pycryptodome-3.9.7[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/markupsafe[${PYTHON_USEDEP}]
- >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/toml[${PYTHON_USEDEP}]
- dev-python/watchdog[${PYTHON_USEDEP}]
- libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
- mako? ( dev-python/mako[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- libvirt? (
- $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_8)
- )
- openssl? (
- dev-libs/openssl:0=[-bindist(-)]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
- raet? (
- >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
- >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
- cheetah? ( dev-python/cheetah3[${PYTHON_USEDEP}] )
- mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
- keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
- redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
- selinux? ( sec-policy/selinux-salt )
- nova? (
- $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_8)
- )
- neutron? (
- $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_8)
- )
- gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
- profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )
- zeromq? ( >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- >=dev-python/pytest-salt-2020.1.27[${PYTHON_USEDEP}]
- dev-python/pytest-salt-factories[${PYTHON_USEDEP}]
- dev-python/pytest-tempdir[${PYTHON_USEDEP}]
- >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20.0.20[${PYTHON_USEDEP}]
- net-dns/bind-tools
- !x86? ( >=dev-python/boto3-1.3.15[${PYTHON_USEDEP}] )
- )"
-
-DOCS=( README.rst AUTHORS )
-
-REQUIRED_USE="|| ( raet zeromq )
- test? ( cheetah genshi )"
-RESTRICT="!test? ( test ) x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch"
- "${FILESDIR}/salt-3001.1-tests.patch"
- "${FILESDIR}/salt-3001.6-tests.patch"
-)
-
-python_prepare_all() {
- # remove tests with external dependencies that may not be available, and
- # tests that don't work in sandbox
- rm tests/unit/{test_{zypp_plugins,module_names},utils/test_{extend,cache}}.py || die
- rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
- rm tests/unit/states/test_boto_vpc.py || die
- rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
-
- # tests that require network access
- rm tests/unit/{states,modules}/test_zcbuildout.py || die
-
- # make sure pkg_resources doesn't bomb because pycrypto isn't installed
- find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
- # pycryptodome rather than pycryptodomex
- find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
-
- distutils-r1_python_prepare_all
-}
-
-python_prepare() {
- einfo "Fixing collections.abc warnings for ${EPYTHON}"
- local abc
- abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die
- find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die
-}
-
-python_install_all() {
- local svc
- USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
- for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
- newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
- systemd_dounit "${FILESDIR}"/salt-${svc}.service
- done
-
- insinto /etc/${PN}
- doins -r conf/*
-}
-
-python_test() {
- local tempdir
- # testsuite likes lots of files
- ulimit -n 3072 || die
-
- # ${T} is too long a path for the tests to work
- tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
- mkdir "${T}/$(basename "${tempdir}")"
-
- (
- cleanup() { rm -f "${tempdir}" || die; }
-
- trap cleanup EXIT
-
- addwrite "${tempdir}"
- ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}" || die
-
- USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
- TMPDIR="${tempdir}" \
- ${EPYTHON} tests/runtests.py \
- --unit-tests --no-report --verbose \
- || die "testing failed with ${EPYTHON}"
- )
-}
-
-pkg_postinst() {
- if use python_targets_python3_8; then
- if use nova; then
- ewarn "Salt's nova functionality will not work with python3.8 since"
- ewarn "dev-python/python-novaclient does not support it yet"
- fi
- if use neutron; then
- ewarn "Salt's neutron functionality will not work with python3.8 since"
- ewarn "dev-python/python-neutronclient does not support it yet"
- fi
- if use libvirt; then
- ewarn "Salt's libvirt functionality will not work with python3.8 since"
- ewarn "dev-python/libvirt-python does not support it yet"
- fi
- fi
-}
diff --git a/app-admin/salt/salt-3002.7.ebuild b/app-admin/salt/salt-3002.7.ebuild
deleted file mode 100644
index ef104ec4d6b4..000000000000
--- a/app-admin/salt/salt-3002.7.ebuild
+++ /dev/null
@@ -1,196 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit systemd distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="https://www.saltstack.com/resources/community/
- https://github.com/saltstack"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
- mongodb neutron nova openssl portage profile redis selinux test raet
- +zeromq vim-syntax"
-
-RDEPEND="
- sys-apps/pciutils
- >=dev-python/distro-1.5[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/libnacl[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/markupsafe[${PYTHON_USEDEP}]
- >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/toml[${PYTHON_USEDEP}]
- dev-python/watchdog[${PYTHON_USEDEP}]
- libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
- mako? ( dev-python/mako[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- libvirt? (
- $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_8)
- )
- openssl? (
- dev-libs/openssl:0=[-bindist(-)]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
- raet? (
- >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
- >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
- cheetah? ( dev-python/cheetah3[${PYTHON_USEDEP}] )
- genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
- mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
- keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
- redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
- selinux? ( sec-policy/selinux-salt )
- nova? (
- $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_8)
- )
- neutron? (
- $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_8)
- )
- gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
- profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )
- zeromq? ( >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
- dev-python/mako[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- >=dev-python/pytest-salt-factories-0.93.0[${PYTHON_USEDEP}]
- dev-python/pytest-tempdir[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20.0.20[${PYTHON_USEDEP}]
- net-dns/bind-tools
- !x86? ( >=dev-python/boto3-1.3.15[${PYTHON_USEDEP}] )
- )"
-
-DOCS=( README.rst AUTHORS )
-
-REQUIRED_USE="
- || ( raet zeromq )
- test? ( cheetah genshi )
-"
-RESTRICT="!test? ( test ) x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch"
- "${FILESDIR}/salt-3002-dont-realpath-on-tmpdir.patch"
- "${FILESDIR}/salt-3002-tests.patch"
- "${FILESDIR}/salt-3002.5-tests.patch"
- "${FILESDIR}/salt-3002.7-tests.patch"
-)
-
-python_prepare_all() {
- # remove tests with external dependencies that may not be available, and
- # tests that don't work in sandbox
- rm tests/unit/{test_{zypp_plugins,module_names},utils/test_{extend,cache}}.py || die
- rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
- rm tests/unit/states/test_boto_vpc.py || die
- rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
-
- # tests that require network access
- rm tests/unit/{states,modules}/test_zcbuildout.py || die
-
- sed -i 's:log.trace(:log.debug(:' \
- salt/fileserver/roots.py salt/grains/core.py salt/states/saltmod.py || die
-
- # make sure pkg_resources doesn't bomb because pycrypto isn't installed
- # make sure pkg_resources doesn't bomb because pycrypto isn't installed
- find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
- # pycryptodome rather than pycryptodomex
- find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
-
- distutils-r1_python_prepare_all
-}
-
-python_prepare() {
- einfo "Fixing collections.abc warnings for ${EPYTHON}"
- local abc
- abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die
- find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die
-}
-
-python_install_all() {
- local svc
- USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
- for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
- newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
- systemd_dounit "${FILESDIR}"/salt-${svc}.service
- done
-
- insinto /etc/${PN}
- doins -r conf/*
-}
-
-python_test() {
- local tempdir
- # testsuite likes lots of files
- ulimit -n 3072 || die
-
- # ${T} is too long a path for the tests to work
- tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
- mkdir "${T}/$(basename "${tempdir}")"
-
- (
- cleanup() { rm -f "${tempdir}" || die; }
-
- trap cleanup EXIT
-
- addwrite "${tempdir}"
- ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}" || die
-
- USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
- TMPDIR="${tempdir}" \
- ${EPYTHON} tests/runtests.py \
- --unit-tests --no-report --verbose \
- || die "testing failed with ${EPYTHON}"
- )
-}
-
-pkg_postinst() {
- if use python_targets_python3_8; then
- if use nova; then
- ewarn "Salt's nova functionality will not work with python3.8 since"
- ewarn "dev-python/python-novaclient does not support it yet"
- fi
- if use neutron; then
- ewarn "Salt's neutron functionality will not work with python3.8 since"
- ewarn "dev-python/python-neutronclient does not support it yet"
- fi
- if use libvirt; then
- ewarn "Salt's libvirt functionality will not work with python3.8 since"
- ewarn "dev-python/libvirt-python does not support it yet"
- fi
- fi
-}
diff --git a/app-admin/salt/salt-3002.8.ebuild b/app-admin/salt/salt-3002.8.ebuild
deleted file mode 100644
index 023fe6aa7470..000000000000
--- a/app-admin/salt/salt-3002.8.ebuild
+++ /dev/null
@@ -1,200 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit systemd distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="https://www.saltstack.com/resources/community/
- https://github.com/saltstack"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
- mongodb neutron nova openssl portage profile redis selinux test raet
- +zeromq vim-syntax"
-
-RDEPEND="
- sys-apps/pciutils
- >=dev-python/distro-1.5[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/libnacl[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/markupsafe[${PYTHON_USEDEP}]
- >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/toml[${PYTHON_USEDEP}]
- dev-python/watchdog[${PYTHON_USEDEP}]
- libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
- mako? ( dev-python/mako[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- libvirt? (
- $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_8)
- )
- openssl? (
- dev-libs/openssl:0=[-bindist(-)]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
- raet? (
- >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
- >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
- cheetah? ( dev-python/cheetah3[${PYTHON_USEDEP}] )
- genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
- mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
- keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
- redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
- selinux? ( sec-policy/selinux-salt )
- nova? (
- $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_8)
- )
- neutron? (
- $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_8)
- )
- gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
- profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )
- zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
- dev-python/mako[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- >=dev-python/pytest-salt-factories-0.93.0[${PYTHON_USEDEP}]
- dev-python/pytest-tempdir[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20.0.20[${PYTHON_USEDEP}]
- net-dns/bind-tools
- !x86? ( >=dev-python/boto3-1.3.15[${PYTHON_USEDEP}] )
- )"
-
-DOCS=( README.rst AUTHORS )
-
-REQUIRED_USE="
- || ( raet zeromq )
- test? ( cheetah genshi )
-"
-RESTRICT="!test? ( test ) x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch"
- "${FILESDIR}/salt-3002-dont-realpath-on-tmpdir.patch"
- "${FILESDIR}/salt-3002-tests.patch"
- "${FILESDIR}/salt-3002.5-tests.patch"
- "${FILESDIR}/salt-3002.7-tests.patch"
- "${FILESDIR}/salt-3004.1-jinja-3.patch"
- "${FILESDIR}/salt-3002.8-tests.patch"
- "${FILESDIR}/salt-3002.8-relax-pyzmq-dep.patch"
-)
-
-python_prepare_all() {
- # remove tests with external dependencies that may not be available, and
- # tests that don't work in sandbox
- rm tests/unit/{test_{zypp_plugins,module_names},utils/test_{extend,cache}}.py || die
- rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
- rm tests/unit/states/test_boto_vpc.py || die
- rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
- rm salt/utils/virtualbox.py || die
-
- # tests that require network access
- rm tests/unit/{states,modules}/test_zcbuildout.py || die
-
- sed -i 's:log.trace(:log.debug(:' \
- salt/fileserver/roots.py salt/grains/core.py salt/states/saltmod.py || die
-
- # make sure pkg_resources doesn't bomb because pycrypto isn't installed
- # make sure pkg_resources doesn't bomb because pycrypto isn't installed
- find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
- # pycryptodome rather than pycryptodomex
- find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
-
- distutils-r1_python_prepare_all
-}
-
-python_prepare() {
- einfo "Fixing collections.abc warnings for ${EPYTHON}"
- local abc
- abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die
- find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die
-}
-
-python_install_all() {
- local svc
- USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
- for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
- newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
- systemd_dounit "${FILESDIR}"/salt-${svc}.service
- done
-
- insinto /etc/${PN}
- doins -r conf/*
-}
-
-python_test() {
- local tempdir
- # testsuite likes lots of files
- ulimit -n 3072 || die
-
- # ${T} is too long a path for the tests to work
- tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
- mkdir "${T}/$(basename "${tempdir}")"
-
- (
- cleanup() { rm -f "${tempdir}" || die; }
-
- trap cleanup EXIT
-
- addwrite "${tempdir}"
- ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}" || die
-
- USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
- TMPDIR="${tempdir}" \
- ${EPYTHON} tests/runtests.py \
- --unit-tests --no-report --verbose \
- || die "testing failed with ${EPYTHON}"
- )
-}
-
-pkg_postinst() {
- if use python_targets_python3_8; then
- if use nova; then
- ewarn "Salt's nova functionality will not work with python3.8 since"
- ewarn "dev-python/python-novaclient does not support it yet"
- fi
- if use neutron; then
- ewarn "Salt's neutron functionality will not work with python3.8 since"
- ewarn "dev-python/python-neutronclient does not support it yet"
- fi
- if use libvirt; then
- ewarn "Salt's libvirt functionality will not work with python3.8 since"
- ewarn "dev-python/libvirt-python does not support it yet"
- fi
- fi
-}
diff --git a/app-admin/salt/salt-3003-r1.ebuild b/app-admin/salt/salt-3003-r1.ebuild
deleted file mode 100644
index a41257f8685b..000000000000
--- a/app-admin/salt/salt-3003-r1.ebuild
+++ /dev/null
@@ -1,195 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-inherit systemd distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="https://www.saltstack.com/resources/community/
- https://github.com/saltstack"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
- mongodb neutron nova openssl portage profile redis selinux test raet
- +zeromq vim-syntax"
-
-RDEPEND="
- sys-apps/pciutils
- >=dev-python/distro-1.5[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/libnacl[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/markupsafe[${PYTHON_USEDEP}]
- >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/toml-0.10.2[${PYTHON_USEDEP}]
- dev-python/watchdog[${PYTHON_USEDEP}]
- libcloud? ( >=dev-python/libcloud-2.5.0[${PYTHON_USEDEP}] )
- mako? ( dev-python/mako[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- libvirt? (
- $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_8)
- )
- openssl? (
- dev-libs/openssl:0=[-bindist(-)]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
- raet? (
- >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
- >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
- cheetah? ( dev-python/cheetah3[${PYTHON_USEDEP}] )
- genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
- mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
- keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
- redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
- selinux? ( sec-policy/selinux-salt )
- nova? (
- $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_8)
- )
- neutron? (
- $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_8)
- )
- gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
- profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )
- zeromq? ( >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- >=dev-python/pytest-salt-factories-0.121.1[${PYTHON_USEDEP}]
- dev-python/pytest-tempdir[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- dev-python/pytest-subtests[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/libcloud[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20.0.20[${PYTHON_USEDEP}]
- !x86? ( >=dev-python/boto3-1.3.15[${PYTHON_USEDEP}] )
- )"
-
-DOCS=( README.rst AUTHORS )
-
-REQUIRED_USE="|| ( raet zeromq )
- test? ( cheetah genshi )"
-RESTRICT="!test? ( test ) x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch"
- "${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
- "${FILESDIR}/salt-3002-tests.patch"
- "${FILESDIR}/salt-3003-tests.patch"
-)
-
-python_prepare_all() {
- # remove tests with external dependencies that may not be available, and
- # tests that don't work in sandbox
- rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die
- rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
- rm tests/unit/states/test_boto_vpc.py || die
- rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
- rm tests/pytests/functional/transport/server/test_req_channel.py || die
-
- # tests that require network access
- rm tests/unit/{states,modules}/test_zcbuildout.py || die
- rm -r tests/integration/cloud || die
- rm -r tests/kitchen/tests/wordpress/tests || die
- rm tests/kitchen/test_kitchen.py || die
- rm tests/unit/modules/test_network.py || die
-
- # tests require root access
- rm tests/integration/pillar/test_git_pillar.py || die
- rm tests/integration/states/test_supervisord.py || die
- rm tests/pytests/unit/client/test_ssh.py || die
-
- # make sure pkg_resources doesn't bomb because pycrypto isn't installed
- find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
- # pycryptodome rather than pycryptodomex
- find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
-
- distutils-r1_python_prepare_all
-}
-
-python_prepare() {
- einfo "Fixing collections.abc warnings for ${EPYTHON}"
- local abc
- abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die
- find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die
-}
-
-python_install_all() {
- local svc
- USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
- for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
- newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
- systemd_dounit "${FILESDIR}"/salt-${svc}.service
- done
-
- insinto /etc/${PN}
- doins -r conf/*
-}
-
-python_test() {
- # testsuite likes lots of files
- ulimit -n 4096 || die
-
- # ${T} is too long a path for the tests to work
- local TMPDIR
- TMPDIR="$(mktemp --directory --tmpdir=/tmp ${P}-tests-XXXXX)"
- (
- export TMPDIR
- cleanup() { rm -rf "${TMPDIR}" || die; }
-
- trap cleanup EXIT
-
- addwrite "${TMPDIR}"
-
- USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
- "${EPYTHON}" -m pytest -vv \
- || die "testing failed with ${EPYTHON}"
- )
-}
-
-pkg_postinst() {
- if use python_targets_python3_8; then
- if use nova; then
- ewarn "Salt's nova functionality will not work with python3.8 since"
- ewarn "dev-python/python-novaclient does not support it yet"
- fi
- if use neutron; then
- ewarn "Salt's neutron functionality will not work with python3.8 since"
- ewarn "dev-python/python-neutronclient does not support it yet"
- fi
- if use libvirt; then
- ewarn "Salt's libvirt functionality will not work with python3.8 since"
- ewarn "dev-python/libvirt-python does not support it yet"
- fi
- fi
-}
diff --git a/app-admin/salt/salt-3003.3-r1.ebuild b/app-admin/salt/salt-3003.3-r1.ebuild
deleted file mode 100644
index fbccb4248798..000000000000
--- a/app-admin/salt/salt-3003.3-r1.ebuild
+++ /dev/null
@@ -1,203 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit systemd distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="https://www.saltstack.com/resources/community/
- https://github.com/saltstack"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
- mongodb neutron nova openssl portage profile redis selinux test raet
- +zeromq vim-syntax"
-
-RDEPEND="
- sys-apps/pciutils
- >=dev-python/distro-1.5[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/libnacl[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/markupsafe[${PYTHON_USEDEP}]
- >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/toml-0.10.2[${PYTHON_USEDEP}]
- dev-python/watchdog[${PYTHON_USEDEP}]
- libcloud? ( >=dev-python/libcloud-2.5.0[${PYTHON_USEDEP}] )
- mako? ( dev-python/mako[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- libvirt? (
- $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_8)
- )
- openssl? (
- dev-libs/openssl:0=[-bindist(-)]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
- raet? (
- >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
- >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
- cheetah? ( dev-python/cheetah3[${PYTHON_USEDEP}] )
- genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
- mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
- keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
- redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
- selinux? ( sec-policy/selinux-salt )
- nova? (
- $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_8)
- )
- neutron? (
- $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_8)
- )
- gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
- profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )
- zeromq? ( >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- dev-python/mako[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- >=dev-python/pytest-salt-factories-0.121.1[${PYTHON_USEDEP}]
- dev-python/pytest-tempdir[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- dev-python/pytest-subtests[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/libcloud[${PYTHON_USEDEP}]
- net-dns/bind-tools
- >=dev-python/virtualenv-20.0.20[${PYTHON_USEDEP}]
- !x86? ( >=dev-python/boto3-1.3.15[${PYTHON_USEDEP}] )
- )"
-
-DOCS=( README.rst AUTHORS )
-
-REQUIRED_USE="|| ( raet zeromq )
- test? ( cheetah genshi )"
-RESTRICT="!test? ( test ) x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch"
- "${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
- "${FILESDIR}/salt-3002-tests.patch"
- "${FILESDIR}/salt-3003.3-tests.patch"
- "${FILESDIR}/salt-3003.1-tests.patch"
- "${FILESDIR}/salt-3003.3-jinja.patch"
-)
-
-python_prepare_all() {
- # remove tests with external dependencies that may not be available, and
- # tests that don't work in sandbox
- rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die
- rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
- rm tests/unit/states/test_boto_vpc.py || die
- rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
- rm tests/pytests/functional/transport/server/test_req_channel.py || die
-
- # tests that require network access
- rm tests/unit/{states,modules}/test_zcbuildout.py || die
- rm -r tests/integration/cloud || die
- rm -r tests/kitchen/tests/wordpress/tests || die
- rm tests/kitchen/test_kitchen.py || die
- rm tests/unit/modules/test_network.py || die
-
- # tests require root access
- rm tests/integration/pillar/test_git_pillar.py || die
- rm tests/integration/states/test_supervisord.py || die
- rm tests/pytests/unit/client/test_ssh.py || die
-
- # make sure pkg_resources doesn't bomb because pycrypto isn't installed
- find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
- # pycryptodome rather than pycryptodomex
- find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
-
- distutils-r1_python_prepare_all
-}
-
-python_prepare() {
- einfo "Fixing collections.abc warnings for ${EPYTHON}"
- local abc
- abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die
- find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die
-
- # removes contextvars, see bug: https://bugs.gentoo.org/799431
- sed -i '/^contextvars/d' requirements/base.txt || die
-}
-
-python_install_all() {
- local svc
- USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
- for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
- newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
- systemd_dounit "${FILESDIR}"/salt-${svc}.service
- done
-
- insinto /etc/${PN}
- doins -r conf/*
-}
-
-python_test() {
- # testsuite likes lots of files
- ulimit -n 4096 || die
-
- # ${T} is too long a path for the tests to work
- local TMPDIR
- TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)"
- (
- export TMPDIR
- cleanup() { rm -rf "${TMPDIR}" || die; }
-
- trap cleanup EXIT
-
- addwrite "${TMPDIR}"
-
- USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
- "${EPYTHON}" -m pytest -vv \
- || die "testing failed with ${EPYTHON}"
- )
-}
-
-pkg_postinst() {
- if use python_targets_python3_8; then
- if use nova; then
- ewarn "Salt's nova functionality will not work with python3.8 since"
- ewarn "dev-python/python-novaclient does not support it yet"
- fi
- if use neutron; then
- ewarn "Salt's neutron functionality will not work with python3.8 since"
- ewarn "dev-python/python-neutronclient does not support it yet"
- fi
- if use libvirt; then
- ewarn "Salt's libvirt functionality will not work with python3.8 since"
- ewarn "dev-python/libvirt-python does not support it yet"
- fi
- fi
-}
diff --git a/app-admin/salt/salt-3003.3.ebuild b/app-admin/salt/salt-3003.3.ebuild
deleted file mode 100644
index ee153576a050..000000000000
--- a/app-admin/salt/salt-3003.3.ebuild
+++ /dev/null
@@ -1,202 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit systemd distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="https://www.saltstack.com/resources/community/
- https://github.com/saltstack"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
- mongodb neutron nova openssl portage profile redis selinux test raet
- +zeromq vim-syntax"
-
-RDEPEND="
- sys-apps/pciutils
- >=dev-python/distro-1.5[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/libnacl[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/markupsafe[${PYTHON_USEDEP}]
- >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/toml-0.10.2[${PYTHON_USEDEP}]
- dev-python/watchdog[${PYTHON_USEDEP}]
- libcloud? ( >=dev-python/libcloud-2.5.0[${PYTHON_USEDEP}] )
- mako? ( dev-python/mako[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- libvirt? (
- $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_8)
- )
- openssl? (
- dev-libs/openssl:0=[-bindist(-)]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
- raet? (
- >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
- >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
- cheetah? ( dev-python/cheetah3[${PYTHON_USEDEP}] )
- genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
- mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
- keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
- redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
- selinux? ( sec-policy/selinux-salt )
- nova? (
- $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_8)
- )
- neutron? (
- $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_8)
- )
- gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
- profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )
- zeromq? ( >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- dev-python/mako[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- >=dev-python/pytest-salt-factories-0.121.1[${PYTHON_USEDEP}]
- dev-python/pytest-tempdir[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- dev-python/pytest-subtests[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/libcloud[${PYTHON_USEDEP}]
- net-dns/bind-tools
- >=dev-python/virtualenv-20.0.20[${PYTHON_USEDEP}]
- !x86? ( >=dev-python/boto3-1.3.15[${PYTHON_USEDEP}] )
- )"
-
-DOCS=( README.rst AUTHORS )
-
-REQUIRED_USE="|| ( raet zeromq )
- test? ( cheetah genshi )"
-RESTRICT="!test? ( test ) x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch"
- "${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
- "${FILESDIR}/salt-3002-tests.patch"
- "${FILESDIR}/salt-3003.3-tests.patch"
- "${FILESDIR}/salt-3003.1-tests.patch"
-)
-
-python_prepare_all() {
- # remove tests with external dependencies that may not be available, and
- # tests that don't work in sandbox
- rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die
- rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
- rm tests/unit/states/test_boto_vpc.py || die
- rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
- rm tests/pytests/functional/transport/server/test_req_channel.py || die
-
- # tests that require network access
- rm tests/unit/{states,modules}/test_zcbuildout.py || die
- rm -r tests/integration/cloud || die
- rm -r tests/kitchen/tests/wordpress/tests || die
- rm tests/kitchen/test_kitchen.py || die
- rm tests/unit/modules/test_network.py || die
-
- # tests require root access
- rm tests/integration/pillar/test_git_pillar.py || die
- rm tests/integration/states/test_supervisord.py || die
- rm tests/pytests/unit/client/test_ssh.py || die
-
- # make sure pkg_resources doesn't bomb because pycrypto isn't installed
- find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
- # pycryptodome rather than pycryptodomex
- find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
-
- distutils-r1_python_prepare_all
-}
-
-python_prepare() {
- einfo "Fixing collections.abc warnings for ${EPYTHON}"
- local abc
- abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die
- find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die
-
- # removes contextvars, see bug: https://bugs.gentoo.org/799431
- sed -i '/^contextvars/d' requirements/base.txt || die
-}
-
-python_install_all() {
- local svc
- USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
- for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
- newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
- systemd_dounit "${FILESDIR}"/salt-${svc}.service
- done
-
- insinto /etc/${PN}
- doins -r conf/*
-}
-
-python_test() {
- # testsuite likes lots of files
- ulimit -n 4096 || die
-
- # ${T} is too long a path for the tests to work
- local TMPDIR
- TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)"
- (
- export TMPDIR
- cleanup() { rm -rf "${TMPDIR}" || die; }
-
- trap cleanup EXIT
-
- addwrite "${TMPDIR}"
-
- USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
- "${EPYTHON}" -m pytest -vv \
- || die "testing failed with ${EPYTHON}"
- )
-}
-
-pkg_postinst() {
- if use python_targets_python3_8; then
- if use nova; then
- ewarn "Salt's nova functionality will not work with python3.8 since"
- ewarn "dev-python/python-novaclient does not support it yet"
- fi
- if use neutron; then
- ewarn "Salt's neutron functionality will not work with python3.8 since"
- ewarn "dev-python/python-neutronclient does not support it yet"
- fi
- if use libvirt; then
- ewarn "Salt's libvirt functionality will not work with python3.8 since"
- ewarn "dev-python/libvirt-python does not support it yet"
- fi
- fi
-}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2022-07-25 18:52 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2022-07-25 18:52 UTC (permalink / raw
To: gentoo-commits
commit: aa8cee6ca7bcc4363e548575a27c6fe548afe9e5
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 25 18:45:26 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Jul 25 18:52:33 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa8cee6c
app-admin/salt: Revbumps, fix for pyzmq-23 (bug #859505)
Closes: https://bugs.gentoo.org/859505
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/files/salt-3004.2-pyzmq-23.patch | 35 ++++++++++++++++++++++
.../{salt-3003.5.ebuild => salt-3003.5-r1.ebuild} | 1 +
.../{salt-3004.2.ebuild => salt-3004.2-r1.ebuild} | 1 +
3 files changed, 37 insertions(+)
diff --git a/app-admin/salt/files/salt-3004.2-pyzmq-23.patch b/app-admin/salt/files/salt-3004.2-pyzmq-23.patch
new file mode 100644
index 000000000000..d912757ba7b8
--- /dev/null
+++ b/app-admin/salt/files/salt-3004.2-pyzmq-23.patch
@@ -0,0 +1,35 @@
+diff --git a/salt/log/handlers/logstash_mod.py b/salt/log/handlers/logstash_mod.py
+index bc462018f5..7e0d98c5ba 100644
+--- a/salt/log/handlers/logstash_mod.py
++++ b/salt/log/handlers/logstash_mod.py
+@@ -160,6 +160,8 @@ import logging
+ import logging.handlers
+ import os
+
++import zmq
++
+ import salt.utils.json
+ import salt.utils.network
+ import salt.utils.stringutils
+@@ -435,7 +437,7 @@ class ZMQLogstashHander(logging.Handler, NewStyleClassMixIn):
+ # Above the defined high water mark(unsent messages), start
+ # dropping them
+ self._publisher.setsockopt(zmq.HWM, self._zmq_hwm)
+- except AttributeError:
++ except (AttributeError, zmq.error.ZMQError):
+ # In ZMQ >= 3.0, there are separate send and receive HWM
+ # settings
+ self._publisher.setsockopt(zmq.SNDHWM, self._zmq_hwm)
+diff --git a/salt/transport/zeromq.py b/salt/transport/zeromq.py
+index dc024d7eff..4c989095a5 100644
+--- a/salt/transport/zeromq.py
++++ b/salt/transport/zeromq.py
+@@ -902,7 +902,7 @@ class ZeroMQPubServerChannel(salt.transport.server.PubServerChannel):
+ try:
+ pub_sock.setsockopt(zmq.HWM, self.opts.get("pub_hwm", 1000))
+ # in zmq >= 3.0, there are separate send and receive HWM settings
+- except AttributeError:
++ except (AttributeError, zmq.error.ZMQError):
+ # Set the High Water Marks. For more information on HWM, see:
+ # http://api.zeromq.org/4-1:zmq-setsockopt
+ pub_sock.setsockopt(zmq.SNDHWM, self.opts.get("pub_hwm", 1000))
diff --git a/app-admin/salt/salt-3003.5.ebuild b/app-admin/salt/salt-3003.5-r1.ebuild
similarity index 99%
rename from app-admin/salt/salt-3003.5.ebuild
rename to app-admin/salt/salt-3003.5-r1.ebuild
index c3ba4ac9a49e..e46b069a8edb 100644
--- a/app-admin/salt/salt-3003.5.ebuild
+++ b/app-admin/salt/salt-3003.5-r1.ebuild
@@ -114,6 +114,7 @@ PATCHES=(
"${FILESDIR}/salt-3004.2-jinja-3.patch"
"${FILESDIR}/salt-3003.4-tests.patch"
"${FILESDIR}/salt-3003.4-relax-pyzmq-dep.patch"
+ "${FILESDIR}/salt-3004.2-pyzmq-23.patch"
)
python_prepare_all() {
diff --git a/app-admin/salt/salt-3004.2.ebuild b/app-admin/salt/salt-3004.2-r1.ebuild
similarity index 99%
rename from app-admin/salt/salt-3004.2.ebuild
rename to app-admin/salt/salt-3004.2-r1.ebuild
index dcc6f23bd8b9..373dd7c97624 100644
--- a/app-admin/salt/salt-3004.2.ebuild
+++ b/app-admin/salt/salt-3004.2-r1.ebuild
@@ -113,6 +113,7 @@ PATCHES=(
"${FILESDIR}/salt-3004.1-relax-pyzmq-dep.patch"
"${FILESDIR}/salt-3004.1-py310.patch"
"${FILESDIR}/salt-3004.2-importlib.patch"
+ "${FILESDIR}/salt-3004.2-pyzmq-23.patch"
)
python_prepare_all() {
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2022-11-02 23:40 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2022-11-02 23:40 UTC (permalink / raw
To: gentoo-commits
commit: d3850ddf61052187f59b26d2359a31903c88ec9a
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 2 19:07:01 2022 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Nov 2 23:40:09 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d3850ddf
app-admin/salt: add 3005.1
Closes: https://bugs.gentoo.org/875389
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/Manifest | 2 +-
.../files/salt-3005.1-importlib-metadata-5.patch | 37 ++++
.../salt/files/salt-3005.1-no-entry-points.patch | 13 ++
app-admin/salt/files/salt-3005.1-tests.patch | 40 ++++
app-admin/salt/salt-3005.1.ebuild | 219 +++++++++++++++++++++
5 files changed, 310 insertions(+), 1 deletion(-)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 1b9f3acc66a0..1dedeb2a1f3e 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,5 +1,5 @@
DIST salt-3002.9.tar.gz 15817470 BLAKE2B 31fb6dbb61a9f0ab22ca761810a934792e9fa9c78628f925e63d3d54d00fa4ea0b4aa806ba3ea92f7397ba3291281bf8989d9a288fb3114c7911cdebfc9acd6a SHA512 f34fd05960a68cba51f34cf8b7c737bd84d00472cec80628f082d16e54cf70705e191ac4b6690bf406a8a11e26c8155e4bdbdec34ede5f0721fd9b5e637a0ed1
-DIST salt-3003.4.tar.gz 16031515 BLAKE2B 34902aba7ab64f4ddbacbad1b776b9b2218caf22fb843879a80bd5c30b6c28f4c22a050bbaf0e9735507a78c887f52bcae7d1833ffeb51a543ec22fda79252e6 SHA512 35419fbb3f9a0f3e87579f740b717d6902cab0d85397b16d1e94d9516bf5f5d269b4f8bca370fd376abd9b7c8a6ad7ef4c8e8a8fdd31655fd17c810989e79693
DIST salt-3003.5.tar.gz 16056545 BLAKE2B ede3f0c63175f093dca07bee1bfb659cc608336ae92f532fc45868bd7eca659498c42e5d44324492744b802ade088adac869277679989550e217c1a135d6566d SHA512 ebda2056b4d6d216a0689b919d00aa78f615c355d21703d1939dbb6b00e9ad9347be4ee5b861282521f2d337bf7bf2fdc85e6942016358088a094d854fb33be9
DIST salt-3004.2.tar.gz 17685127 BLAKE2B a42e31d8a006488b3a6f341f817cde21ff86248d2b548d9914c429c62d7570cdf46cf2b41311cbb08ced7f9518e68156c6df3eb78e55cacfd4d40a4e7a54f52b SHA512 b2fa434f1d25eabac51d65d75bb020943eb71aff113d683e6f436a0f205bd3c7682b1b7acd4d9a62bf37a47eb0561293d263f3174d5e266f0998a1652fcae2ef
+DIST salt-3005.1.tar.gz 17914349 BLAKE2B 697c2068bf119e4a19f92a86ce880fec9375c10ba549cdcdd2182cfeaacce31c7bc4c4c91e1a609906b4c5373bb5e3120e0db47ede5b45ee20942d7b2d201e64 SHA512 391f995f0129f3d7104a0eea4fd83b18aa6ecae0fd7a2c77c1154e24b0bcd52cef4b63db12597c85737bb33ddf605e0c23370cef3bf47f9ea85af5b77d74dc50
DIST salt-3005.tar.gz 17894520 BLAKE2B 67e755bdbe772991f620d09f61836f8ccfa2039722c3281ec4cfaa8ef76e34c57e4db861cc652545e37eb965ab765f6b6ba0250407d7d7448aa5d4685ad9492a SHA512 c2019a97a5a98b4810cdace826d5e0a6d2890a984da4b95109c1b9328a2fd11cafd2fb0ef9752adeea1d36f8b2a69b3a4a6a5a092b6a7f050c60ec52da314a18
diff --git a/app-admin/salt/files/salt-3005.1-importlib-metadata-5.patch b/app-admin/salt/files/salt-3005.1-importlib-metadata-5.patch
new file mode 100644
index 000000000000..e4b19d6bfd7f
--- /dev/null
+++ b/app-admin/salt/files/salt-3005.1-importlib-metadata-5.patch
@@ -0,0 +1,37 @@
+commit b676e6338a7c094cb3335d11f851ac0e12222017
+Author: MKLeb <calebb@vmware.com>
+Date: Wed Oct 5 15:49:37 2022 -0400
+
+ Allow entrypoint compatibility for importlib-metadata>=5.0.0
+
+diff --git a/salt/utils/entrypoints.py b/salt/utils/entrypoints.py
+index 3effa0b494..ac65ae2df4 100644
+--- a/salt/utils/entrypoints.py
++++ b/salt/utils/entrypoints.py
+@@ -38,13 +38,20 @@ def iter_entry_points(group, name=None):
+ entry_points_listing = []
+ entry_points = importlib_metadata.entry_points()
+
+- for entry_point_group, entry_points_list in entry_points.items():
+- if entry_point_group != group:
+- continue
+- for entry_point in entry_points_list:
+- if name is not None and entry_point.name != name:
++ # pre importlib-metadata 5.0.0
++ if hasattr(entry_points, "items"):
++ for entry_point_group, entry_points_list in entry_points.items():
++ if entry_point_group != group:
+ continue
+- entry_points_listing.append(entry_point)
++ for entry_point in entry_points_list:
++ if name is not None and entry_point.name != name:
++ continue
++ entry_points_listing.append(entry_point)
++ # starting with importlib-metadata 5.0.0
++ for entry_point in entry_points.select(group=group):
++ if name is not None and entry_point.name != name:
++ continue
++ entry_points_listing.append(entry_point)
+
+ return entry_points_listing
+
diff --git a/app-admin/salt/files/salt-3005.1-no-entry-points.patch b/app-admin/salt/files/salt-3005.1-no-entry-points.patch
new file mode 100644
index 000000000000..5d1da8f751e4
--- /dev/null
+++ b/app-admin/salt/files/salt-3005.1-no-entry-points.patch
@@ -0,0 +1,13 @@
+diff --git a/setup.py b/setup.py
+index bd11ff95f7..3b83f7b6ff 100755
+--- a/setup.py
++++ b/setup.py
+@@ -1173,7 +1173,7 @@ class SaltDistribution(distutils.dist.Distribution):
+ return scripts
+
+ @property
+- def _property_entry_points(self):
++ def _property_entry_points_disabled(self):
+ entrypoints = {
+ "pyinstaller40": [
+ "hook-dirs = salt.utils.pyinstaller:get_hook_dirs",
diff --git a/app-admin/salt/files/salt-3005.1-tests.patch b/app-admin/salt/files/salt-3005.1-tests.patch
new file mode 100644
index 000000000000..101574bdd303
--- /dev/null
+++ b/app-admin/salt/files/salt-3005.1-tests.patch
@@ -0,0 +1,40 @@
+diff --git a/tests/unit/utils/test_schema.py b/tests/unit/utils/test_schema.py
+index 8c648f5288..5886813e28 100644
+--- a/tests/unit/utils/test_schema.py
++++ b/tests/unit/utils/test_schema.py
+@@ -528,7 +528,7 @@ class ConfigTestCase(TestCase):
+ jsonschema.validate(
+ {"personal_access_token": "foo"}, Requirements.serialize()
+ )
+- if JSONSCHEMA_VERSION >= _LooseVersion("3.0.0"):
++ if JSONSCHEMA_VERSION >= _LooseVersion("3.0.0") and JSONSCHEMA_VERSION < _LooseVersion("4.17.0"):
+ self.assertIn(
+ "'ssh_key_file' is a required property", excinfo.exception.message
+ )
+@@ -1851,7 +1851,7 @@ class ConfigTestCase(TestCase):
+ jsonschema.validate(
+ {"item": {"sides": "4", "color": "blue"}}, TestConf.serialize()
+ )
+- if JSONSCHEMA_VERSION >= _LooseVersion("3.0.0"):
++ if JSONSCHEMA_VERSION >= _LooseVersion("3.0.0") and JSONSCHEMA_VERSION < _LooseVersion("4.17.0"):
+ self.assertIn("'4'", excinfo.exception.message)
+ self.assertIn("is not of type", excinfo.exception.message)
+ self.assertIn("'boolean'", excinfo.exception.message)
+@@ -1974,7 +1974,7 @@ class ConfigTestCase(TestCase):
+
+ with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
+ jsonschema.validate({"item": ["maybe"]}, TestConf.serialize())
+- if JSONSCHEMA_VERSION >= _LooseVersion("3.0.0"):
++ if JSONSCHEMA_VERSION >= _LooseVersion("3.0.0") and JSONSCHEMA_VERSION < _LooseVersion("4.17.0"):
+ self.assertIn("'maybe'", excinfo.exception.message)
+ self.assertIn("is not one of", excinfo.exception.message)
+ self.assertIn("'yes'", excinfo.exception.message)
+@@ -2036,7 +2036,7 @@ class ConfigTestCase(TestCase):
+
+ with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
+ jsonschema.validate({"item": ["maybe"]}, TestConf.serialize())
+- if JSONSCHEMA_VERSION >= _LooseVersion("3.0.0"):
++ if JSONSCHEMA_VERSION >= _LooseVersion("3.0.0") and JSONSCHEMA_VERSION < _LooseVersion("4.17.0"):
+ self.assertIn("'maybe'", excinfo.exception.message)
+ self.assertIn("is not one of", excinfo.exception.message)
+ self.assertIn("'yes'", excinfo.exception.message)
diff --git a/app-admin/salt/salt-3005.1.ebuild b/app-admin/salt/salt-3005.1.ebuild
new file mode 100644
index 000000000000..f5eeccf44bb3
--- /dev/null
+++ b/app-admin/salt/salt-3005.1.ebuild
@@ -0,0 +1,219 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{8..10} )
+
+DISTUTILS_USE_PEP517=setuptools
+inherit systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="https://www.saltstack.com/resources/community/
+ https://github.com/saltstack"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="
+ cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
+ mongodb neutron nova openssl portage profile redis selinux test raet
+ +zeromq vim-syntax
+"
+
+RDEPEND="
+ sys-apps/pciutils
+ >=dev-python/distro-1.5[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}]
+ dev-python/jmespath[${PYTHON_USEDEP}]
+ dev-python/libnacl[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/watchdog[${PYTHON_USEDEP}]
+ libcloud? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/aiosignal[${PYTHON_USEDEP}]
+ dev-python/async-timeout[${PYTHON_USEDEP}]
+ >=dev-python/libcloud-2.5.0[${PYTHON_USEDEP}]
+ )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? (
+ dev-python/libvirt-python[${PYTHON_USEDEP}]
+ )
+ openssl? (
+ dev-libs/openssl:0=[-bindist(-)]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ cheetah? ( >=dev-python/cheetah3-3.2.2[${PYTHON_USEDEP}] )
+ genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ nova? (
+ >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]
+ )
+ neutron? (
+ >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]
+ )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )
+ zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/moto-2.0.0[${PYTHON_USEDEP}]
+ dev-python/passlib
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7.0.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-salt-factories-1.0.0_rc17[${PYTHON_USEDEP}]
+ dev-python/pytest-tempdir[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ dev-python/pytest-subtests[${PYTHON_USEDEP}]
+ dev-python/pytest-shell-utilities[${PYTHON_USEDEP}]
+ dev-python/pytest-skip-markers[${PYTHON_USEDEP}]
+ dev-python/pytest-system-statistics[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/libcloud[${PYTHON_USEDEP}]
+ net-dns/bind-tools
+ >=dev-python/virtualenv-20.3.0[${PYTHON_USEDEP}]
+ dev-util/yamllint[${PYTHON_USEDEP}]
+ !x86? ( >=dev-python/boto3-1.17.67[${PYTHON_USEDEP}] )
+ )
+"
+
+DOCS=( README.rst AUTHORS )
+
+REQUIRED_USE="|| ( raet zeromq )
+ test? ( cheetah genshi )"
+RESTRICT="!test? ( test ) x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch"
+ "${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
+ "${FILESDIR}/salt-3002-tests.patch"
+ "${FILESDIR}/salt-3003.1-tests.patch"
+ "${FILESDIR}/salt-3005-relax-pyzmq-dep.patch"
+ "${FILESDIR}/salt-3005-tests.patch"
+ "${FILESDIR}/salt-3005.1-no-entry-points.patch"
+ "${FILESDIR}/salt-3005.1-importlib-metadata-5.patch"
+ "${FILESDIR}/salt-3005.1-tests.patch"
+)
+
+python_prepare_all() {
+ # remove tests with external dependencies that may not be available, and
+ # tests that don't work in sandbox
+ rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die
+ rm tests/unit/modules/test_boto_{vpc,secgroup,elb}.py || die
+ rm tests/unit/states/test_boto_vpc.py || die
+ rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
+ rm tests/pytests/functional/transport/server/test_req_channel.py || die
+ rm tests/pytests/functional/utils/test_async_event_publisher.py || die
+ rm tests/pytests/functional/runners/test_winrepo.py || die
+
+ # tests that require network access
+ rm tests/unit/{states,modules}/test_zcbuildout.py || die
+ rm -r tests/integration/cloud || die
+ rm -r tests/kitchen/tests/wordpress/tests || die
+ rm tests/kitchen/test_kitchen.py || die
+ rm tests/unit/modules/test_network.py || die
+ rm tests/pytests/functional/modules/test_pip.py || die
+ rm tests/pytests/unit/client/ssh/test_ssh.py || die
+ rm -r tests/pytests/{integration,functional}/netapi tests/integration/netapi || die
+
+ # tests require root access
+ rm tests/integration/pillar/test_git_pillar.py || die
+ rm tests/integration/states/test_supervisord.py || die
+
+ # removes contextvars, see bug: https://bugs.gentoo.org/799431
+ sed -i '/^contextvars/d' requirements/base.txt || die
+
+ # make sure pkg_resources doesn't bomb because pycrypto isn't installed
+ find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
+ # pycryptodome rather than pycryptodomex
+ find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ # testsuite likes lots of files
+ ulimit -n 4096 || die
+
+ local -a disable_tests=(
+ # doesn't like the distutils warning
+ batch_retcode
+ multiple_modules_in_batch
+ # hangs indefinitely
+ master_type_disable
+ # needs root
+ runas_env_sudo_group
+ # don't like sandbox
+ split_multibyte_characters_{shiftjis,unicode}
+ # doesn't like sandbox env
+ log_sanitize
+ )
+ local textexpr
+ testexpr=$(printf 'not %s and ' "${disable_tests[@]}")
+
+ # ${T} is too long a path for the tests to work
+ local TMPDIR
+ TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)" || die
+ (
+ export TMPDIR
+ cleanup() { rm -rf "${TMPDIR}" || die; }
+
+ trap cleanup EXIT
+
+ addwrite "${TMPDIR}"
+
+ USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
+ "${EPYTHON}" -m pytest -vv -k "${testexpr%and }" \
+ || die "testing failed with ${EPYTHON}"
+ )
+}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2023-04-01 17:43 Michał Górny
0 siblings, 0 replies; 35+ messages in thread
From: Michał Górny @ 2023-04-01 17:43 UTC (permalink / raw
To: gentoo-commits
commit: 52ef328b783b808bfe95dbb998c67723b2deb909
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 1 17:41:20 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Apr 1 17:41:20 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=52ef328b
app-admin/salt: Remove old
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
app-admin/salt/Manifest | 2 -
app-admin/salt/files/salt-3004.1-py310.patch | 53 ----
.../salt/files/salt-3004.1-relax-pyzmq-dep.patch | 12 -
app-admin/salt/files/salt-3004.1-tests.patch | 311 ---------------------
app-admin/salt/files/salt-3004.2-importlib.patch | 11 -
app-admin/salt/files/salt-3004.2-jinja-3.patch | 14 -
app-admin/salt/files/salt-3004.2-pyzmq-23.patch | 35 ---
.../files/salt-3005.1-importlib-metadata-5.patch | 37 ---
app-admin/salt/salt-3004.2-r2.ebuild | 197 -------------
app-admin/salt/salt-3005-r1.ebuild | 206 --------------
app-admin/salt/salt-3005.1.ebuild | 219 ---------------
11 files changed, 1097 deletions(-)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 9fc008112f31..ec9b634f59d7 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,3 +1 @@
-DIST salt-3004.2.tar.gz 17685127 BLAKE2B a42e31d8a006488b3a6f341f817cde21ff86248d2b548d9914c429c62d7570cdf46cf2b41311cbb08ced7f9518e68156c6df3eb78e55cacfd4d40a4e7a54f52b SHA512 b2fa434f1d25eabac51d65d75bb020943eb71aff113d683e6f436a0f205bd3c7682b1b7acd4d9a62bf37a47eb0561293d263f3174d5e266f0998a1652fcae2ef
DIST salt-3005.1.tar.gz 17914349 BLAKE2B 697c2068bf119e4a19f92a86ce880fec9375c10ba549cdcdd2182cfeaacce31c7bc4c4c91e1a609906b4c5373bb5e3120e0db47ede5b45ee20942d7b2d201e64 SHA512 391f995f0129f3d7104a0eea4fd83b18aa6ecae0fd7a2c77c1154e24b0bcd52cef4b63db12597c85737bb33ddf605e0c23370cef3bf47f9ea85af5b77d74dc50
-DIST salt-3005.tar.gz 17894520 BLAKE2B 67e755bdbe772991f620d09f61836f8ccfa2039722c3281ec4cfaa8ef76e34c57e4db861cc652545e37eb965ab765f6b6ba0250407d7d7448aa5d4685ad9492a SHA512 c2019a97a5a98b4810cdace826d5e0a6d2890a984da4b95109c1b9328a2fd11cafd2fb0ef9752adeea1d36f8b2a69b3a4a6a5a092b6a7f050c60ec52da314a18
diff --git a/app-admin/salt/files/salt-3004.1-py310.patch b/app-admin/salt/files/salt-3004.1-py310.patch
deleted file mode 100644
index 7e30d7687a66..000000000000
--- a/app-admin/salt/files/salt-3004.1-py310.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From a58bbbe058df8f45872c43a95992f6a7a7914ab9 Mon Sep 17 00:00:00 2001
-From: piterpunk <piterpunk@slackware.com>
-Date: Fri, 15 Oct 2021 11:03:20 -0300
-Subject: [PATCH] Fix _compat.py importlib logic for Python 3.10
-
-Use the same logic in _compat.py and entrypoints.py to load
-the same importlib.metadata. Python's built in implementation for
-Python >= 3.10 and the Salt one for others.
----
- salt/_compat.py | 30 +++++++++++++++++-------------
- 1 file changed, 17 insertions(+), 13 deletions(-)
-
-diff --git a/salt/_compat.py b/salt/_compat.py
-index 8149657bea61..a402f17a3c71 100644
---- a/salt/_compat.py
-+++ b/salt/_compat.py
-@@ -11,19 +11,23 @@
- else:
- import salt.ext.ipaddress as ipaddress
-
-+if sys.version_info >= (3, 10):
-+ # Python 3.10 will include a fix in importlib.metadata which allows us to
-+ # get the distribution of a loaded entry-point
-+ import importlib.metadata # pylint: disable=no-member,no-name-in-module
-+else:
-+ # importlib_metadata before version 3.3.0 does not include the functionality we need.
-+ try:
-+ import importlib_metadata
-
--# importlib_metadata before version 3.3.0 does not include the functionality we need.
--try:
-- import importlib_metadata
--
-- importlib_metadata_version = [
-- int(part)
-- for part in importlib_metadata.version("importlib_metadata").split(".")
-- if part.isdigit()
-- ]
-- if tuple(importlib_metadata_version) < (3, 3, 0):
-+ importlib_metadata_version = [
-+ int(part)
-+ for part in importlib_metadata.version("importlib_metadata").split(".")
-+ if part.isdigit()
-+ ]
-+ if tuple(importlib_metadata_version) < (3, 3, 0):
-+ # Use the vendored importlib_metadata
-+ import salt.ext.importlib_metadata as importlib_metadata
-+ except ImportError:
- # Use the vendored importlib_metadata
- import salt.ext.importlib_metadata as importlib_metadata
--except ImportError:
-- # Use the vendored importlib_metadata
-- import salt.ext.importlib_metadata as importlib_metadata
diff --git a/app-admin/salt/files/salt-3004.1-relax-pyzmq-dep.patch b/app-admin/salt/files/salt-3004.1-relax-pyzmq-dep.patch
deleted file mode 100644
index 99d432158215..000000000000
--- a/app-admin/salt/files/salt-3004.1-relax-pyzmq-dep.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/requirements/zeromq.txt b/requirements/zeromq.txt
-index 62cb775d87..ffa1589043 100644
---- a/requirements/zeromq.txt
-+++ b/requirements/zeromq.txt
-@@ -1,6 +1,4 @@
- -r base.txt
- -r crypto.txt
-
--pyzmq<=20.0.0 ; python_version < "3.6"
--pyzmq>=17.0.0,<22.0.0 ; python_version < "3.9"
--pyzmq>19.0.2,<22.0.0 ; python_version >= "3.9"
-+pyzmq
diff --git a/app-admin/salt/files/salt-3004.1-tests.patch b/app-admin/salt/files/salt-3004.1-tests.patch
deleted file mode 100644
index 956cf1b0041c..000000000000
--- a/app-admin/salt/files/salt-3004.1-tests.patch
+++ /dev/null
@@ -1,311 +0,0 @@
-diff --git a/tests/pytests/functional/fileserver/test_roots.py b/tests/pytests/functional/fileserver/test_roots.py
-index c65efc8d52..9060fb61e2 100644
---- a/tests/pytests/functional/fileserver/test_roots.py
-+++ b/tests/pytests/functional/fileserver/test_roots.py
-@@ -15,6 +15,7 @@ def configure_loader_modules(base_env_state_tree_root_dir):
- return {roots: {"__opts__": opts}}
-
-
-+@pytest.mark.skip("needs network access")
- # nox -e pytest-zeromq-3.8(coverage=False) -- -vvv --run-slow --run-destructive tests\pytests\functional\fileserver\test_roots.py
- def test_symlink_list(base_env_state_tree_root_dir):
- with pytest.helpers.temp_file(
-diff --git a/tests/pytests/functional/pillar/test_gpg.py b/tests/pytests/functional/pillar/test_gpg.py
-index aaa4733f1d..b55cc9b4cf 100644
---- a/tests/pytests/functional/pillar/test_gpg.py
-+++ b/tests/pytests/functional/pillar/test_gpg.py
-@@ -203,7 +203,7 @@ def gpg_homedir(salt_master, pillar_state_tree):
- universal_newlines=True,
- )
- ret = ProcessResult(
-- exitcode=proc.returncode,
-+ returncode=proc.returncode,
- stdout=proc.stdout,
- stderr=proc.stderr,
- cmdline=proc.args,
-@@ -220,7 +220,7 @@ def gpg_homedir(salt_master, pillar_state_tree):
- input=TEST_KEY,
- )
- ret = ProcessResult(
-- exitcode=proc.returncode,
-+ returncode=proc.returncode,
- stdout=proc.stdout,
- stderr=proc.stderr,
- cmdline=proc.args,
-@@ -250,7 +250,7 @@ def gpg_homedir(salt_master, pillar_state_tree):
- input="KILLAGENT",
- )
- ret = ProcessResult(
-- exitcode=proc.returncode,
-+ returncode=proc.returncode,
- stdout=proc.stdout,
- stderr=proc.stderr,
- cmdline=proc.args,
-diff --git a/tests/pytests/integration/cli/test_salt_proxy.py b/tests/pytests/integration/cli/test_salt_proxy.py
-index c32c7e11e2..a9ee9fbd8d 100644
---- a/tests/pytests/integration/cli/test_salt_proxy.py
-+++ b/tests/pytests/integration/cli/test_salt_proxy.py
-@@ -40,6 +40,7 @@ def test_exit_status_no_proxyid(salt_master, proxy_minion_id):
- assert "error: salt-proxy requires --proxyid" in exc.value.stderr, exc.value
-
-
-+@pytest.mark.skip("Currently broken")
- @pytest.mark.skip_on_windows(reason="Windows does not do user checks")
- def test_exit_status_unknown_user(salt_master, proxy_minion_id):
- """
-@@ -66,7 +67,7 @@ def test_exit_status_unknown_argument(salt_master, proxy_minion_id):
- factory = salt_master.salt_proxy_minion_daemon(proxy_minion_id)
- factory.start("--unknown-argument", start_timeout=10, max_start_attempts=1)
-
-- assert exc.value.exitcode == salt.defaults.exitcodes.EX_USAGE, exc.value
-+ assert exc.value.returncode == salt.defaults.exitcodes.EX_USAGE, exc.value
- assert "Usage" in exc.value.stderr, exc.value
- assert "no such option: --unknown-argument" in exc.value.stderr, exc.value
-
-@@ -89,8 +90,8 @@ def test_exit_status_correct_usage(salt_master, proxy_minion_id, salt_cli):
- assert factory.is_running()
- # Let's issue a ping before terminating
- ret = salt_cli.run("test.ping", minion_tgt=proxy_minion_id)
-- assert ret.exitcode == 0
-+ assert ret.returncode == 0
- assert ret.json is True
- # Terminate the proxy minion
- ret = factory.terminate()
-- assert ret.exitcode == salt.defaults.exitcodes.EX_OK, ret
-+ assert ret.returncode == salt.defaults.exitcodes.EX_OK, ret
-diff --git a/tests/pytests/integration/sdb/test_vault.py b/tests/pytests/integration/sdb/test_vault.py
-index 7dc4c55417..6c48296a0c 100644
---- a/tests/pytests/integration/sdb/test_vault.py
-+++ b/tests/pytests/integration/sdb/test_vault.py
-@@ -107,7 +107,7 @@ def vault_container_version(request, salt_call_cli, vault_port):
- if proc.returncode == 0:
- break
- ret = ProcessResult(
-- exitcode=proc.returncode,
-+ returncode=proc.returncode,
- stdout=proc.stdout,
- stderr=proc.stderr,
- cmdline=proc.args,
-@@ -133,7 +133,7 @@ def vault_container_version(request, salt_call_cli, vault_port):
- )
- if proc.returncode != 0:
- ret = ProcessResult(
-- exitcode=proc.returncode,
-+ returncode=proc.returncode,
- stdout=proc.stdout,
- stderr=proc.stderr,
- cmdline=proc.args,
-@@ -150,7 +150,7 @@ def vault_container_version(request, salt_call_cli, vault_port):
- universal_newlines=True,
- )
- ret = ProcessResult(
-- exitcode=proc.returncode,
-+ returncode=proc.returncode,
- stdout=proc.stdout,
- stderr=proc.stderr,
- cmdline=proc.args,
-diff --git a/tests/pytests/unit/modules/test_cmdmod.py b/tests/pytests/unit/modules/test_cmdmod.py
-index bc1d2818aa..3bd93862b7 100644
---- a/tests/pytests/unit/modules/test_cmdmod.py
-+++ b/tests/pytests/unit/modules/test_cmdmod.py
-@@ -440,6 +440,7 @@ def test_run_cwd_doesnt_exist_issue_7154():
- cmdmod.run_all(cmd, cwd=cwd)
-
-
-+@pytest.mark.skip("needs root access")
- @pytest.mark.skip_on_darwin
- @pytest.mark.skip_on_windows
- def test_run_cwd_in_combination_with_runas():
-diff --git a/tests/pytests/unit/modules/test_portage_config.py b/tests/pytests/unit/modules/test_portage_config.py
-index 5cc6b90596..db37d2c4f1 100644
---- a/tests/pytests/unit/modules/test_portage_config.py
-+++ b/tests/pytests/unit/modules/test_portage_config.py
-@@ -29,6 +29,7 @@ def test_get_config_file_wildcards():
- assert portage_config._get_config_file("mask", atom) == expected
-
-
-+@pytest.mark.skip("test needs root access")
- def test_enforce_nice_config(tmp_path):
- atoms = [
- ("*/*::repo", "repo"),
-diff --git a/tests/pytests/unit/state/test_state_compiler.py b/tests/pytests/unit/state/test_state_compiler.py
-index fc43cf154d..7aa511c9f7 100644
---- a/tests/pytests/unit/state/test_state_compiler.py
-+++ b/tests/pytests/unit/state/test_state_compiler.py
-@@ -679,6 +679,7 @@ def test_verify_retry_parsing():
- assert set(expected_result).issubset(set(state_obj.call(low_data)))
-
-
-+@pytest.mark.skip("test requires root access")
- def test_render_requisite_require_disabled():
- """
- Test that the state compiler correctly deliver a rendering
-@@ -719,6 +720,7 @@ def test_render_requisite_require_disabled():
- assert run_num == 0
-
-
-+@pytest.mark.skip("test requires root access")
- def test_render_requisite_require_in_disabled():
- """
- Test that the state compiler correctly deliver a rendering
-diff --git a/tests/pytests/unit/state/test_state_format_slots.py b/tests/pytests/unit/state/test_state_format_slots.py
-index 57b7bb2b87..7d2abce8d0 100644
---- a/tests/pytests/unit/state/test_state_format_slots.py
-+++ b/tests/pytests/unit/state/test_state_format_slots.py
-@@ -218,6 +218,7 @@ def test_slot_append(state_obj):
- assert cdata == {"args": ["arg"], "kwargs": {"key": "value1thing~"}}
-
-
-+@pytest.mark.skip("test needs root")
- # Skip on windows like integration.modules.test_state.StateModuleTest.test_parallel_state_with_long_tag
- @skipIf(
- salt.utils.platform.is_windows(),
-diff --git a/tests/pytests/unit/test_minion.py b/tests/pytests/unit/test_minion.py
-index 985ec99276..eb8a476e30 100644
---- a/tests/pytests/unit/test_minion.py
-+++ b/tests/pytests/unit/test_minion.py
-@@ -493,6 +493,7 @@ def test_scheduler_before_connect():
- minion.destroy()
-
-
-+@pytest.mark.skip("test needs root access")
- def test_minion_module_refresh():
- """
- Tests that the 'module_refresh' just return in case there is no 'schedule'
-@@ -520,6 +521,7 @@ def test_minion_module_refresh():
- minion.destroy()
-
-
-+@pytest.mark.skip("test needs root access")
- def test_minion_module_refresh_beacons_refresh():
- """
- Tests that 'module_refresh' calls beacons_refresh and that the
-diff --git a/tests/pytests/unit/test_version.py b/tests/pytests/unit/test_version.py
-index bc6bbfeadd..2653b558b0 100644
---- a/tests/pytests/unit/test_version.py
-+++ b/tests/pytests/unit/test_version.py
-@@ -140,6 +140,7 @@ def test_sha(commit, match):
- assert ret is None
-
-
-+@pytest.mark.skip("test is broken if some optional deps aren't installed")
- def test_version_report_lines():
- """
- Validate padding in versions report is correct
-diff --git a/tests/support/helpers.py b/tests/support/helpers.py
-index d82b14cb90..751018162c 100644
---- a/tests/support/helpers.py
-+++ b/tests/support/helpers.py
-@@ -40,7 +40,7 @@ import salt.utils.platform
- import salt.utils.pycrypto
- import salt.utils.stringutils
- import salt.utils.versions
--from saltfactories.exceptions import FactoryFailure as ProcessFailed
-+from pytestshellutils.exceptions import FactoryFailure as ProcessFailed
- from saltfactories.utils.ports import get_unused_localhost_port
- from saltfactories.utils.processes import ProcessResult
- from tests.support.mock import patch
-@@ -1720,7 +1720,7 @@ class VirtualEnv:
- kwargs.setdefault("env", self.environ)
- proc = subprocess.run(args, check=False, **kwargs)
- ret = ProcessResult(
-- exitcode=proc.returncode,
-+ returncode=proc.returncode,
- stdout=proc.stdout,
- stderr=proc.stderr,
- cmdline=proc.args,
-@@ -1735,7 +1735,7 @@ class VirtualEnv:
- cmdline=proc.args,
- stdout=proc.stdout,
- stderr=proc.stderr,
-- exitcode=proc.returncode,
-+ returncode=proc.returncode,
- )
- return ret
-
-diff --git a/tests/unit/modules/test_boto_route53.py b/tests/unit/modules/test_boto_route53.py
-index 1d3d1393a9..df331761e2 100644
---- a/tests/unit/modules/test_boto_route53.py
-+++ b/tests/unit/modules/test_boto_route53.py
-@@ -4,6 +4,8 @@ from collections import namedtuple
-
- import pkg_resources # pylint: disable=3rd-party-module-not-gated
-
-+import pytest
-+
- import salt.config
- import salt.loader
- import salt.utils.versions
-@@ -99,6 +101,7 @@ class BotoRoute53TestCase(TestCase, LoaderModuleMockMixin):
- def tearDown(self):
- del self.opts
-
-+ @pytest.mark.skip("test currently broken")
- @mock_route53_deprecated
- def test_create_healthcheck(self):
- """
-diff --git a/tests/unit/utils/test_parsers.py b/tests/unit/utils/test_parsers.py
-index 907c67f477..3f68cfe8f3 100644
---- a/tests/unit/utils/test_parsers.py
-+++ b/tests/unit/utils/test_parsers.py
-@@ -6,6 +6,8 @@ import os
- import shutil
- import tempfile
-
-+import pytest
-+
- import salt.config
- import salt.log.setup as log
- import salt.syspaths
-@@ -983,6 +985,7 @@ class SaltRunOptionParserTestCase(ParserBase, TestCase):
- if os.path.exists(self.log_file):
- os.unlink(self.log_file)
-
-+ @pytest.mark.skip("needs root access")
- def test_jid_option(self):
- jid = salt.utils.jid.gen_jid({})
- args = ["--jid", jid]
-@@ -991,6 +994,7 @@ class SaltRunOptionParserTestCase(ParserBase, TestCase):
- parser.parse_args(args)
- assert parser.options.jid == jid
-
-+ @pytest.mark.skip("needs root access")
- def test_jid_option_invalid(self):
- jid = salt.utils.jid.gen_jid({}) + "A"
- args = ["--jid", jid]
-@@ -1041,6 +1045,7 @@ class SaltSSHOptionParserTestCase(ParserBase, TestCase):
- if os.path.exists(self.ssh_log_file):
- os.unlink(self.ssh_log_file)
-
-+ @pytest.mark.skip("needs root access")
- def test_jid_option(self):
- jid = salt.utils.jid.gen_jid({})
- args = ["--jid", jid] + self.args
-@@ -1049,6 +1054,7 @@ class SaltSSHOptionParserTestCase(ParserBase, TestCase):
- parser.parse_args(args)
- assert parser.options.jid == jid
-
-+ @pytest.mark.skip("needs root access")
- def test_jid_option_invalid(self):
- jid = salt.utils.jid.gen_jid({}) + "A"
- args = ["--jid", jid] + self.args
-diff --git a/tests/unit/utils/test_schema.py b/tests/unit/utils/test_schema.py
-index 8c648f5288..74b9bc6981 100644
---- a/tests/unit/utils/test_schema.py
-+++ b/tests/unit/utils/test_schema.py
-@@ -872,6 +872,7 @@ class ConfigTestCase(TestCase):
- },
- )
-
-+ @skipIf(True, "Does not work in network sandbox")
- @skipIf(HAS_JSONSCHEMA is False, "The 'jsonschema' library is missing")
- def test_hostname_config_validation(self):
- class TestConf(schema.Schema):
-@@ -2098,6 +2099,7 @@ class ConfigTestCase(TestCase):
- item = schema.NotItem(item=schema.BooleanItem())
- self.assertEqual(item.serialize(), {"not": item.item.serialize()})
-
-+ @skipIf(True, "Does not work in network sandbox")
- @skipIf(HAS_JSONSCHEMA is False, "The 'jsonschema' library is missing")
- def test_not_config_validation(self):
- class TestConf(schema.Schema):
diff --git a/app-admin/salt/files/salt-3004.2-importlib.patch b/app-admin/salt/files/salt-3004.2-importlib.patch
deleted file mode 100644
index 599b17290d5b..000000000000
--- a/app-admin/salt/files/salt-3004.2-importlib.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/salt/_compat.py 2022-06-28 01:50:45.630746476 -0000
-+++ b/salt/_compat.py 2022-06-28 01:51:52.970217848 -0000
-@@ -14,7 +14,7 @@
- if sys.version_info >= (3, 10):
- # Python 3.10 will include a fix in importlib.metadata which allows us to
- # get the distribution of a loaded entry-point
-- import importlib.metadata # pylint: disable=no-member,no-name-in-module
-+ import importlib.metadata as importlib_metadata # pylint: disable=no-member,no-name-in-module
- else:
- # importlib_metadata before version 3.3.0 does not include the functionality we need.
- try:
diff --git a/app-admin/salt/files/salt-3004.2-jinja-3.patch b/app-admin/salt/files/salt-3004.2-jinja-3.patch
deleted file mode 100644
index 271921fd4564..000000000000
--- a/app-admin/salt/files/salt-3004.2-jinja-3.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/tests/unit/utils/test_jinja.py b/tests/unit/utils/test_jinja.py
-index 6502831aff..dec847364a 100644
---- a/tests/unit/utils/test_jinja.py
-+++ b/tests/unit/utils/test_jinja.py
-@@ -22,7 +22,8 @@ import salt.utils.files
- import salt.utils.json
- import salt.utils.stringutils
- import salt.utils.yaml
--from jinja2 import DictLoader, Environment, Markup, exceptions
-+from jinja2 import DictLoader, Environment, exceptions
-+from markupsafe import Markup
- from salt.exceptions import SaltRenderError
- from salt.utils.decorators.jinja import JinjaFilter
- from salt.utils.jinja import (
diff --git a/app-admin/salt/files/salt-3004.2-pyzmq-23.patch b/app-admin/salt/files/salt-3004.2-pyzmq-23.patch
deleted file mode 100644
index d912757ba7b8..000000000000
--- a/app-admin/salt/files/salt-3004.2-pyzmq-23.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff --git a/salt/log/handlers/logstash_mod.py b/salt/log/handlers/logstash_mod.py
-index bc462018f5..7e0d98c5ba 100644
---- a/salt/log/handlers/logstash_mod.py
-+++ b/salt/log/handlers/logstash_mod.py
-@@ -160,6 +160,8 @@ import logging
- import logging.handlers
- import os
-
-+import zmq
-+
- import salt.utils.json
- import salt.utils.network
- import salt.utils.stringutils
-@@ -435,7 +437,7 @@ class ZMQLogstashHander(logging.Handler, NewStyleClassMixIn):
- # Above the defined high water mark(unsent messages), start
- # dropping them
- self._publisher.setsockopt(zmq.HWM, self._zmq_hwm)
-- except AttributeError:
-+ except (AttributeError, zmq.error.ZMQError):
- # In ZMQ >= 3.0, there are separate send and receive HWM
- # settings
- self._publisher.setsockopt(zmq.SNDHWM, self._zmq_hwm)
-diff --git a/salt/transport/zeromq.py b/salt/transport/zeromq.py
-index dc024d7eff..4c989095a5 100644
---- a/salt/transport/zeromq.py
-+++ b/salt/transport/zeromq.py
-@@ -902,7 +902,7 @@ class ZeroMQPubServerChannel(salt.transport.server.PubServerChannel):
- try:
- pub_sock.setsockopt(zmq.HWM, self.opts.get("pub_hwm", 1000))
- # in zmq >= 3.0, there are separate send and receive HWM settings
-- except AttributeError:
-+ except (AttributeError, zmq.error.ZMQError):
- # Set the High Water Marks. For more information on HWM, see:
- # http://api.zeromq.org/4-1:zmq-setsockopt
- pub_sock.setsockopt(zmq.SNDHWM, self.opts.get("pub_hwm", 1000))
diff --git a/app-admin/salt/files/salt-3005.1-importlib-metadata-5.patch b/app-admin/salt/files/salt-3005.1-importlib-metadata-5.patch
deleted file mode 100644
index e4b19d6bfd7f..000000000000
--- a/app-admin/salt/files/salt-3005.1-importlib-metadata-5.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-commit b676e6338a7c094cb3335d11f851ac0e12222017
-Author: MKLeb <calebb@vmware.com>
-Date: Wed Oct 5 15:49:37 2022 -0400
-
- Allow entrypoint compatibility for importlib-metadata>=5.0.0
-
-diff --git a/salt/utils/entrypoints.py b/salt/utils/entrypoints.py
-index 3effa0b494..ac65ae2df4 100644
---- a/salt/utils/entrypoints.py
-+++ b/salt/utils/entrypoints.py
-@@ -38,13 +38,20 @@ def iter_entry_points(group, name=None):
- entry_points_listing = []
- entry_points = importlib_metadata.entry_points()
-
-- for entry_point_group, entry_points_list in entry_points.items():
-- if entry_point_group != group:
-- continue
-- for entry_point in entry_points_list:
-- if name is not None and entry_point.name != name:
-+ # pre importlib-metadata 5.0.0
-+ if hasattr(entry_points, "items"):
-+ for entry_point_group, entry_points_list in entry_points.items():
-+ if entry_point_group != group:
- continue
-- entry_points_listing.append(entry_point)
-+ for entry_point in entry_points_list:
-+ if name is not None and entry_point.name != name:
-+ continue
-+ entry_points_listing.append(entry_point)
-+ # starting with importlib-metadata 5.0.0
-+ for entry_point in entry_points.select(group=group):
-+ if name is not None and entry_point.name != name:
-+ continue
-+ entry_points_listing.append(entry_point)
-
- return entry_points_listing
-
diff --git a/app-admin/salt/salt-3004.2-r2.ebuild b/app-admin/salt/salt-3004.2-r2.ebuild
deleted file mode 100644
index f2a1fbff233e..000000000000
--- a/app-admin/salt/salt-3004.2-r2.ebuild
+++ /dev/null
@@ -1,197 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_10 )
-
-inherit systemd distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="https://www.saltstack.com/resources/community/
- https://github.com/saltstack"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
- mongodb neutron nova openssl portage profile redis selinux test raet
- +zeromq vim-syntax"
-
-RDEPEND="
- sys-apps/pciutils
- >=dev-python/distro-1.5[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
- dev-python/libnacl[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.0.0[${PYTHON_USEDEP}]
- >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/markupsafe[${PYTHON_USEDEP}]
- >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- dev-python/watchdog[${PYTHON_USEDEP}]
- libcloud? ( >=dev-python/libcloud-2.5.0[${PYTHON_USEDEP}] )
- mako? ( dev-python/mako[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- <dev-python/importlib_metadata-5[${PYTHON_USEDEP}]
- libvirt? (
- dev-python/libvirt-python[${PYTHON_USEDEP}]
- )
- openssl? (
- dev-libs/openssl:0=[-bindist(-)]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
- raet? (
- >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
- >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
- cheetah? ( >=dev-python/cheetah3-3.2.2[${PYTHON_USEDEP}] )
- genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
- mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
- keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
- redis? ( dev-python/redis[${PYTHON_USEDEP}] )
- selinux? ( sec-policy/selinux-salt )
- nova? (
- >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]
- )
- neutron? (
- >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]
- )
- gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
- profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )
- zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- dev-python/mako[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
- dev-python/passlib
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- >=dev-python/pytest-salt-factories-1.0.0_rc13[${PYTHON_USEDEP}]
- dev-python/pytest-tempdir[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- dev-python/pytest-subtests[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/libcloud[${PYTHON_USEDEP}]
- net-dns/bind-tools
- >=dev-python/virtualenv-20.3.0[${PYTHON_USEDEP}]
- !x86? ( >=dev-python/boto3-1.17.67[${PYTHON_USEDEP}] )
- )"
-
-DOCS=( README.rst AUTHORS )
-
-REQUIRED_USE="|| ( raet zeromq )
- test? ( cheetah genshi )"
-RESTRICT="!test? ( test ) x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch"
- "${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
- "${FILESDIR}/salt-3002-tests.patch"
- "${FILESDIR}/salt-3003.1-tests.patch"
- "${FILESDIR}/salt-3004.2-jinja-3.patch"
- "${FILESDIR}/salt-3004.1-tests.patch"
- "${FILESDIR}/salt-3004.1-relax-pyzmq-dep.patch"
- "${FILESDIR}/salt-3004.1-py310.patch"
- "${FILESDIR}/salt-3004.2-importlib.patch"
- "${FILESDIR}/salt-3004.2-pyzmq-23.patch"
-)
-
-python_prepare_all() {
- # remove tests with external dependencies that may not be available, and
- # tests that don't work in sandbox
- rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die
- rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
- rm tests/unit/states/test_boto_vpc.py || die
- rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
- rm tests/pytests/functional/transport/server/test_req_channel.py || die
-
- # tests that require network access
- rm tests/unit/{states,modules}/test_zcbuildout.py || die
- rm -r tests/integration/cloud || die
- rm -r tests/kitchen/tests/wordpress/tests || die
- rm tests/kitchen/test_kitchen.py || die
- rm tests/unit/modules/test_network.py || die
- rm tests/pytests/functional/modules/test_pip.py || die
- rm tests/pytests/unit/client/ssh/test_ssh.py || die
-
- # tests require root access
- rm tests/integration/pillar/test_git_pillar.py || die
- rm tests/integration/states/test_supervisord.py || die
-
- # make sure pkg_resources doesn't bomb because pycrypto isn't installed
- find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
- # pycryptodome rather than pycryptodomex
- find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
-
- distutils-r1_python_prepare_all
-}
-
-python_prepare() {
- einfo "Fixing collections.abc warnings for ${EPYTHON}"
- local abc
- abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die
- find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die
-
- # removes contextvars, see bug: https://bugs.gentoo.org/799431
- sed -i '/^contextvars/d' requirements/base.txt || die
-}
-
-python_install_all() {
- local svc
- USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
- for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
- newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
- systemd_dounit "${FILESDIR}"/salt-${svc}.service
- done
-
- insinto /etc/${PN}
- doins -r conf/*
-}
-
-python_test() {
- # testsuite likes lots of files
- ulimit -n 4096 || die
-
- # ${T} is too long a path for the tests to work
- local TMPDIR
- TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)"
- (
- export TMPDIR
- cleanup() { rm -rf "${TMPDIR}" || die; }
-
- trap cleanup EXIT
-
- addwrite "${TMPDIR}"
-
- USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
- "${EPYTHON}" -m pytest -vv \
- || die "testing failed with ${EPYTHON}"
- )
-}
-
-pkg_postinst() {
- :
-}
diff --git a/app-admin/salt/salt-3005-r1.ebuild b/app-admin/salt/salt-3005-r1.ebuild
deleted file mode 100644
index 1ec597170af1..000000000000
--- a/app-admin/salt/salt-3005-r1.ebuild
+++ /dev/null
@@ -1,206 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_10 )
-
-inherit systemd distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="https://www.saltstack.com/resources/community/
- https://github.com/saltstack"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="
- cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
- mongodb neutron nova openssl portage profile redis selinux test raet
- +zeromq vim-syntax
-"
-
-RDEPEND="
- sys-apps/pciutils
- >=dev-python/distro-1.5[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}]
- dev-python/libnacl[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.0.0[${PYTHON_USEDEP}]
- >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- dev-python/watchdog[${PYTHON_USEDEP}]
- <dev-python/importlib_metadata-5[${PYTHON_USEDEP}]
- libcloud? (
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/aiosignal[${PYTHON_USEDEP}]
- dev-python/async-timeout[${PYTHON_USEDEP}]
- >=dev-python/libcloud-2.5.0[${PYTHON_USEDEP}]
- )
- mako? ( dev-python/mako[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- libvirt? (
- dev-python/libvirt-python[${PYTHON_USEDEP}]
- )
- openssl? (
- dev-libs/openssl:0=[-bindist(-)]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
- raet? (
- >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
- >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
- cheetah? ( >=dev-python/cheetah3-3.2.2[${PYTHON_USEDEP}] )
- genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
- mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
- keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
- redis? ( dev-python/redis[${PYTHON_USEDEP}] )
- selinux? ( sec-policy/selinux-salt )
- nova? (
- >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]
- )
- neutron? (
- >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]
- )
- gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
- profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )
- zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- dev-python/mako[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/moto-2.0.0[${PYTHON_USEDEP}]
- dev-python/passlib
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- >=dev-python/pytest-7.0.1[${PYTHON_USEDEP}]
- >=dev-python/pytest-salt-factories-1.0.0_rc17[${PYTHON_USEDEP}]
- dev-python/pytest-tempdir[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- dev-python/pytest-subtests[${PYTHON_USEDEP}]
- dev-python/pytest-shell-utilities[${PYTHON_USEDEP}]
- dev-python/pytest-skip-markers[${PYTHON_USEDEP}]
- dev-python/pytest-system-statistics[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/libcloud[${PYTHON_USEDEP}]
- net-dns/bind-tools
- >=dev-python/virtualenv-20.3.0[${PYTHON_USEDEP}]
- dev-util/yamllint[${PYTHON_USEDEP}]
- !x86? ( >=dev-python/boto3-1.17.67[${PYTHON_USEDEP}] )
- )
-"
-
-DOCS=( README.rst AUTHORS )
-
-REQUIRED_USE="|| ( raet zeromq )
- test? ( cheetah genshi )"
-RESTRICT="!test? ( test ) x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch"
- "${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
- "${FILESDIR}/salt-3002-tests.patch"
- "${FILESDIR}/salt-3003.1-tests.patch"
- "${FILESDIR}/salt-3005-relax-pyzmq-dep.patch"
- "${FILESDIR}/salt-3005-tests.patch"
-)
-
-python_prepare_all() {
- # remove tests with external dependencies that may not be available, and
- # tests that don't work in sandbox
- rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die
- rm tests/unit/modules/test_boto_{vpc,secgroup,elb}.py || die
- rm tests/unit/states/test_boto_vpc.py || die
- rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
- rm tests/pytests/functional/transport/server/test_req_channel.py || die
- rm tests/pytests/functional/utils/test_async_event_publisher.py || die
- rm tests/pytests/functional/runners/test_winrepo.py || die
-
- # tests that require network access
- rm tests/unit/{states,modules}/test_zcbuildout.py || die
- rm -r tests/integration/cloud || die
- rm -r tests/kitchen/tests/wordpress/tests || die
- rm tests/kitchen/test_kitchen.py || die
- rm tests/unit/modules/test_network.py || die
- rm tests/pytests/functional/modules/test_pip.py || die
- rm tests/pytests/unit/client/ssh/test_ssh.py || die
- rm -r tests/pytests/{integration,functional}/netapi tests/integration/netapi || die
-
- # tests require root access
- rm tests/integration/pillar/test_git_pillar.py || die
- rm tests/integration/states/test_supervisord.py || die
-
- # make sure pkg_resources doesn't bomb because pycrypto isn't installed
- find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
- # pycryptodome rather than pycryptodomex
- find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
-
- distutils-r1_python_prepare_all
-}
-
-python_prepare() {
- einfo "Fixing collections.abc warnings for ${EPYTHON}"
- local abc
- abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die
- find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die
-
- # removes contextvars, see bug: https://bugs.gentoo.org/799431
- sed -i '/^contextvars/d' requirements/base.txt || die
-}
-
-python_install_all() {
- local svc
- USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
- for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
- newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
- systemd_dounit "${FILESDIR}"/salt-${svc}.service
- done
-
- insinto /etc/${PN}
- doins -r conf/*
-}
-
-python_test() {
- # testsuite likes lots of files
- ulimit -n 4096 || die
-
- # ${T} is too long a path for the tests to work
- local TMPDIR
- TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)"
- (
- export TMPDIR
- cleanup() { rm -rf "${TMPDIR}" || die; }
-
- trap cleanup EXIT
-
- addwrite "${TMPDIR}"
-
- USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
- "${EPYTHON}" -m pytest -vv \
- || die "testing failed with ${EPYTHON}"
- )
-}
diff --git a/app-admin/salt/salt-3005.1.ebuild b/app-admin/salt/salt-3005.1.ebuild
deleted file mode 100644
index 1c1747cfaa93..000000000000
--- a/app-admin/salt/salt-3005.1.ebuild
+++ /dev/null
@@ -1,219 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_10 )
-
-DISTUTILS_USE_PEP517=setuptools
-inherit systemd distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="https://www.saltstack.com/resources/community/
- https://github.com/saltstack"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="
- cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
- mongodb neutron nova openssl portage profile redis selinux test raet
- +zeromq vim-syntax
-"
-
-RDEPEND="
- sys-apps/pciutils
- >=dev-python/distro-1.5[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}]
- dev-python/jmespath[${PYTHON_USEDEP}]
- dev-python/libnacl[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.0.0[${PYTHON_USEDEP}]
- >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- dev-python/watchdog[${PYTHON_USEDEP}]
- libcloud? (
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/aiosignal[${PYTHON_USEDEP}]
- dev-python/async-timeout[${PYTHON_USEDEP}]
- >=dev-python/libcloud-2.5.0[${PYTHON_USEDEP}]
- )
- mako? ( dev-python/mako[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- libvirt? (
- dev-python/libvirt-python[${PYTHON_USEDEP}]
- )
- openssl? (
- dev-libs/openssl:0=[-bindist(-)]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
- raet? (
- >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
- >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
- cheetah? ( >=dev-python/cheetah3-3.2.2[${PYTHON_USEDEP}] )
- genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
- mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
- keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
- redis? ( dev-python/redis[${PYTHON_USEDEP}] )
- selinux? ( sec-policy/selinux-salt )
- nova? (
- >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]
- )
- neutron? (
- >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]
- )
- gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
- profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )
- zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- dev-python/mako[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/moto-2.0.0[${PYTHON_USEDEP}]
- dev-python/passlib
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- >=dev-python/pytest-7.0.1[${PYTHON_USEDEP}]
- >=dev-python/pytest-salt-factories-1.0.0_rc17[${PYTHON_USEDEP}]
- dev-python/pytest-tempdir[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- dev-python/pytest-subtests[${PYTHON_USEDEP}]
- dev-python/pytest-shell-utilities[${PYTHON_USEDEP}]
- dev-python/pytest-skip-markers[${PYTHON_USEDEP}]
- dev-python/pytest-system-statistics[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/libcloud[${PYTHON_USEDEP}]
- net-dns/bind-tools
- >=dev-python/virtualenv-20.3.0[${PYTHON_USEDEP}]
- dev-util/yamllint[${PYTHON_USEDEP}]
- !x86? ( >=dev-python/boto3-1.17.67[${PYTHON_USEDEP}] )
- )
-"
-
-DOCS=( README.rst AUTHORS )
-
-REQUIRED_USE="|| ( raet zeromq )
- test? ( cheetah genshi )"
-RESTRICT="!test? ( test ) x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch"
- "${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
- "${FILESDIR}/salt-3002-tests.patch"
- "${FILESDIR}/salt-3003.1-tests.patch"
- "${FILESDIR}/salt-3005-relax-pyzmq-dep.patch"
- "${FILESDIR}/salt-3005-tests.patch"
- "${FILESDIR}/salt-3005.1-no-entry-points.patch"
- "${FILESDIR}/salt-3005.1-importlib-metadata-5.patch"
- "${FILESDIR}/salt-3005.1-tests.patch"
-)
-
-python_prepare_all() {
- # remove tests with external dependencies that may not be available, and
- # tests that don't work in sandbox
- rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die
- rm tests/unit/modules/test_boto_{vpc,secgroup,elb}.py || die
- rm tests/unit/states/test_boto_vpc.py || die
- rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
- rm tests/pytests/functional/transport/server/test_req_channel.py || die
- rm tests/pytests/functional/utils/test_async_event_publisher.py || die
- rm tests/pytests/functional/runners/test_winrepo.py || die
-
- # tests that require network access
- rm tests/unit/{states,modules}/test_zcbuildout.py || die
- rm -r tests/integration/cloud || die
- rm -r tests/kitchen/tests/wordpress/tests || die
- rm tests/kitchen/test_kitchen.py || die
- rm tests/unit/modules/test_network.py || die
- rm tests/pytests/functional/modules/test_pip.py || die
- rm tests/pytests/unit/client/ssh/test_ssh.py || die
- rm -r tests/pytests/{integration,functional}/netapi tests/integration/netapi || die
-
- # tests require root access
- rm tests/integration/pillar/test_git_pillar.py || die
- rm tests/integration/states/test_supervisord.py || die
-
- # removes contextvars, see bug: https://bugs.gentoo.org/799431
- sed -i '/^contextvars/d' requirements/base.txt || die
-
- # make sure pkg_resources doesn't bomb because pycrypto isn't installed
- find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
- # pycryptodome rather than pycryptodomex
- find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
-
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- local svc
- USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
- for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
- newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
- systemd_dounit "${FILESDIR}"/salt-${svc}.service
- done
-
- insinto /etc/${PN}
- doins -r conf/*
-}
-
-python_test() {
- # testsuite likes lots of files
- ulimit -n 4096 || die
-
- local -a disable_tests=(
- # doesn't like the distutils warning
- batch_retcode
- multiple_modules_in_batch
- # hangs indefinitely
- master_type_disable
- # needs root
- runas_env_sudo_group
- # don't like sandbox
- split_multibyte_characters_{shiftjis,unicode}
- # doesn't like sandbox env
- log_sanitize
- )
- local textexpr
- testexpr=$(printf 'not %s and ' "${disable_tests[@]}")
-
- # ${T} is too long a path for the tests to work
- local TMPDIR
- TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)" || die
- (
- export TMPDIR
- cleanup() { rm -rf "${TMPDIR}" || die; }
-
- trap cleanup EXIT
-
- addwrite "${TMPDIR}"
-
- USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
- "${EPYTHON}" -m pytest -vv -k "${testexpr%and }" \
- || die "testing failed with ${EPYTHON}"
- )
-}
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2024-02-28 3:07 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2024-02-28 3:07 UTC (permalink / raw
To: gentoo-commits
commit: d5b0f9fc8a36d0d934db19eda068a0f5ffdd9cfc
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 28 03:04:09 2024 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Feb 28 03:07:10 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d5b0f9fc
app-admin/salt: Revbumps remove boto dep (bug #888235)
This removes tests and modules that require boto since it's
being last-rited.
Bug: https://bugs.gentoo.org/888235
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/Manifest | 6 -
.../salt-3003-skip-tests-that-oom-machine.patch | 20 --
.../salt-3006-skip-tests-that-oom-machine.patch | 21 --
app-admin/salt/salt-3005.1-r1.ebuild | 219 -------------------
app-admin/salt/salt-3005.3.ebuild | 235 --------------------
app-admin/salt/salt-3005.4.ebuild | 235 --------------------
.../{salt-3005.5.ebuild => salt-3005.5-r1.ebuild} | 10 +-
app-admin/salt/salt-3006.2.ebuild | 232 --------------------
app-admin/salt/salt-3006.3.ebuild | 237 ---------------------
app-admin/salt/salt-3006.4.ebuild | 235 --------------------
.../{salt-3006.5.ebuild => salt-3006.5-r1.ebuild} | 171 +++++++++++----
.../{salt-3006.7.ebuild => salt-3006.7-r1.ebuild} | 11 +-
12 files changed, 149 insertions(+), 1483 deletions(-)
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 40943e28c8bc..6175950c1ad8 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,9 +1,3 @@
-DIST salt-3005.1.tar.gz 17914349 BLAKE2B 697c2068bf119e4a19f92a86ce880fec9375c10ba549cdcdd2182cfeaacce31c7bc4c4c91e1a609906b4c5373bb5e3120e0db47ede5b45ee20942d7b2d201e64 SHA512 391f995f0129f3d7104a0eea4fd83b18aa6ecae0fd7a2c77c1154e24b0bcd52cef4b63db12597c85737bb33ddf605e0c23370cef3bf47f9ea85af5b77d74dc50
-DIST salt-3005.3.tar.gz 17932868 BLAKE2B 18b1b3fe0708c2b425a410766df1545c093b43e69527b1213e1b043668b914016dc95b5c96c0619b1234b57fa404fdbe4fc245ac11d4f0b121edf4b0deacb3ee SHA512 4a40b21f0ee8ac31d3ca3d4d43706c3a484b9e19bd5797764475772af42fe682476b19f9097f003c838683529f15a757aab769eb0a15578cbc2fc449d8216604
-DIST salt-3005.4.tar.gz 17936876 BLAKE2B e06ec0e357fac18fe0ad823cf80e6261d80dbf22d856f0680a1c044d368133a1f94a6c9ff37b0f07ab305b835f808e96ae42a510eabedb6b2691b23959fa796e SHA512 31c699fc369c1f3c47f4f3a9a572381dd8c54323771194bdcc73128b55d983da7338b03061a6cdec6631aca62048e5829ea38687c3b0fdb1cdcbd5df9d000f05
DIST salt-3005.5.tar.gz 17940104 BLAKE2B c7a820bc946c2cd8124fb6f559608ab1dc3cd85d6f0e7d0a2a87b7bc0dda361178e83b307c2fecd8a47d59032f85dc9f4caeef5698e98c0e349d1c6979f9f68a SHA512 1332c9751a225dbf569601eb1932fe3ebea93c8d8be7485b1b8150d5200ad2e82954c970d59ba0e888860062d059db78a50bffe69fc367bdb7b2388b62e19f32
-DIST salt-3006.2.tar.gz 20411634 BLAKE2B dff474017918ef3ee0031856a2739282077205d8c2589809a91e5f1c3741cb26d2bd2458734ea4d3533118c881851dfd853f4ba4f1c631e7db28e95bc1b6f7f8 SHA512 2626cb5beb1b30fc63f554f5804f0d9b7e36b7c569c5f9049e5f5ac5a413e9d99a98b3d91089683338e3d3890ec973dff80782b4e41acb291872e45084fd2546
-DIST salt-3006.3.tar.gz 20461738 BLAKE2B dfa4698dbc611c9c4954b4631d11b685e1efc978915918ce6d8f1890bb4a230d234b6a191166ffff9243058d44530bfc14b43386c8bc295c035c6609d6bf3fa0 SHA512 9cced766db2144de445ed53b52c1551c986ba43774c40512fd07973862d6d3a361e25f55fcfeeb0e03ba44eec1051909834e5d0a352ead5ec6f418b15c909628
-DIST salt-3006.4.tar.gz 20465324 BLAKE2B 8cf9acf8850e9eefbff32f3e347d8773ed7e28f58a0a441af9ec0a4c87a0bba49ff2b82e6f5816511de7303e16d79246df8c0024464a5c267f3ef7e370c8be98 SHA512 c48c69730ba81d3e279cbb01cb26c743dd8b4945c2fc16a7c959472ab4050316fcdaee935e009b7f472bd3b08172ac69defe64774a2d93e143a050cd559997ef
DIST salt-3006.5.tar.gz 20536455 BLAKE2B cf475dc5e919f6ab180578db2aae5f3655623b39b134d67609da4f607be909340c6e55c940cfb66f129cc75d40b5cdda094e866db116d8a45aa5eef26d8fa1eb SHA512 8aaf5c5d36d8aa17b3fe867cee470f7b3c5dd1f6abaf5bdb49a3df76d3498d0dc1fa305a069bc95ad057489db229454b38b0ea9c1ade1e46b5d9b57aeef10c23
DIST salt-3006.7.tar.gz 20562663 BLAKE2B b4ff9039509b1de7151060cb0e68252868d493e114e327a3c48bfc5584f67521a2106b41b77377f6d43ab5795399b6fe5860ce8e091459687c4a5b2378752729 SHA512 9d1759a7c0dfc9ad4fdc94460f0f3799483737207bfdc8ddd1424e5c6083ea74ef520f13c323d5cbd7f65c1d9bb13bbbeb5f2cafe6dcacbc2689e733794aef2d
diff --git a/app-admin/salt/files/salt-3003-skip-tests-that-oom-machine.patch b/app-admin/salt/files/salt-3003-skip-tests-that-oom-machine.patch
deleted file mode 100644
index 804b6a8704f0..000000000000
--- a/app-admin/salt/files/salt-3003-skip-tests-that-oom-machine.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/tests/unit/modules/test_boto_apigateway.py b/tests/unit/modules/test_boto_apigateway.py
-index 6ee6aeb002..db9aeaee95 100644
---- a/tests/unit/modules/test_boto_apigateway.py
-+++ b/tests/unit/modules/test_boto_apigateway.py
-@@ -154,6 +154,7 @@ def _has_required_botocore():
- return True
-
-
-+@skipIf(True, "Causes machines to OOM")
- class BotoApiGatewayTestCaseBase(TestCase, LoaderModuleMockMixin):
- conn = None
-
-@@ -190,6 +191,7 @@ class BotoApiGatewayTestCaseBase(TestCase, LoaderModuleMockMixin):
- self.addCleanup(delattr, self, "utils")
-
-
-+@skipIf(True, "Causes machines to OOM")
- class BotoApiGatewayTestCaseMixin:
- def _diff_list_dicts(self, listdict1, listdict2, sortkey):
- """
diff --git a/app-admin/salt/files/salt-3006-skip-tests-that-oom-machine.patch b/app-admin/salt/files/salt-3006-skip-tests-that-oom-machine.patch
deleted file mode 100644
index 0b62cee96f2f..000000000000
--- a/app-admin/salt/files/salt-3006-skip-tests-that-oom-machine.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/tests/unit/modules/test_boto_apigateway.py b/tests/unit/modules/test_boto_apigateway.py
-index 5f3d2a4982..82366185ff 100644
---- a/tests/unit/modules/test_boto_apigateway.py
-+++ b/tests/unit/modules/test_boto_apigateway.py
-@@ -155,7 +155,7 @@ def _has_required_botocore():
- else:
- return True
-
--
-+@pytest.mark.skip("Causes machine to OOM")
- class BotoApiGatewayTestCaseBase(TestCase, LoaderModuleMockMixin):
- conn = None
-
-@@ -192,6 +192,7 @@ class BotoApiGatewayTestCaseBase(TestCase, LoaderModuleMockMixin):
- self.addCleanup(delattr, self, "utils")
-
-
-+@pytest.mark.skip("Causes machine to OOM")
- class BotoApiGatewayTestCaseMixin:
- def _diff_list_dicts(self, listdict1, listdict2, sortkey):
- """
diff --git a/app-admin/salt/salt-3005.1-r1.ebuild b/app-admin/salt/salt-3005.1-r1.ebuild
deleted file mode 100644
index bc9ea15bf0bc..000000000000
--- a/app-admin/salt/salt-3005.1-r1.ebuild
+++ /dev/null
@@ -1,219 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_10 )
-
-DISTUTILS_USE_PEP517=setuptools
-inherit systemd distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="https://www.saltstack.com/resources/community/
- https://github.com/saltstack"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
-else
- inherit pypi
- KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="
- cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
- mongodb neutron nova openssl portage profile redis selinux test raet
- +zeromq vim-syntax
-"
-
-RDEPEND="
- sys-apps/pciutils
- >=dev-python/distro-1.5[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}]
- dev-python/jmespath[${PYTHON_USEDEP}]
- dev-python/libnacl[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.0.0[${PYTHON_USEDEP}]
- >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- dev-python/watchdog[${PYTHON_USEDEP}]
- libcloud? (
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/aiosignal[${PYTHON_USEDEP}]
- >=dev-python/apache-libcloud-2.5.0[${PYTHON_USEDEP}]
- dev-python/async-timeout[${PYTHON_USEDEP}]
- )
- mako? ( dev-python/mako[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- libvirt? (
- dev-python/libvirt-python[${PYTHON_USEDEP}]
- )
- openssl? (
- dev-libs/openssl:0=[-bindist(-)]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
- raet? (
- >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
- >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
- cheetah? ( >=dev-python/cheetah3-3.2.2[${PYTHON_USEDEP}] )
- genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
- mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
- keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
- redis? ( dev-python/redis[${PYTHON_USEDEP}] )
- selinux? ( sec-policy/selinux-salt )
- nova? (
- >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]
- )
- neutron? (
- >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]
- )
- gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
- profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )
- zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- dev-python/apache-libcloud[${PYTHON_USEDEP}]
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- dev-python/mako[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/moto-2.0.0[${PYTHON_USEDEP}]
- dev-python/passlib
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- >=dev-python/pytest-7.0.1[${PYTHON_USEDEP}]
- >=dev-python/pytest-salt-factories-1.0.0_rc17[${PYTHON_USEDEP}]
- dev-python/pytest-tempdir[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- dev-python/pytest-subtests[${PYTHON_USEDEP}]
- dev-python/pytest-shell-utilities[${PYTHON_USEDEP}]
- dev-python/pytest-skip-markers[${PYTHON_USEDEP}]
- dev-python/pytest-system-statistics[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- net-dns/bind-tools
- >=dev-python/virtualenv-20.3.0[${PYTHON_USEDEP}]
- dev-util/yamllint[${PYTHON_USEDEP}]
- !x86? ( >=dev-python/boto3-1.17.67[${PYTHON_USEDEP}] )
- )
-"
-
-DOCS=( README.rst AUTHORS )
-
-REQUIRED_USE="|| ( raet zeromq )
- test? ( cheetah genshi )"
-RESTRICT="!test? ( test ) x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch"
- "${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
- "${FILESDIR}/salt-3002-tests.patch"
- "${FILESDIR}/salt-3003.1-tests.patch"
- "${FILESDIR}/salt-3005-relax-pyzmq-dep.patch"
- "${FILESDIR}/salt-3005-tests.patch"
- "${FILESDIR}/salt-3005.1-no-entry-points.patch"
- "${FILESDIR}/salt-3005.1-importlib-metadata-5-r1.patch"
- "${FILESDIR}/salt-3005.1-tests.patch"
- "${FILESDIR}/salt-3005.1-modules-file-python-3.11-host.patch"
-)
-
-python_prepare_all() {
- # remove tests with external dependencies that may not be available, and
- # tests that don't work in sandbox
- rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die
- rm tests/unit/modules/test_boto_{vpc,secgroup,elb}.py || die
- rm tests/unit/states/test_boto_vpc.py || die
- rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
- rm tests/pytests/functional/transport/server/test_req_channel.py || die
- rm tests/pytests/functional/utils/test_async_event_publisher.py || die
- rm tests/pytests/functional/runners/test_winrepo.py || die
-
- # tests that require network access
- rm tests/unit/{states,modules}/test_zcbuildout.py || die
- rm -r tests/integration/cloud || die
- rm -r tests/kitchen/tests/wordpress/tests || die
- rm tests/kitchen/test_kitchen.py || die
- rm tests/unit/modules/test_network.py || die
- rm tests/pytests/functional/modules/test_pip.py || die
- rm tests/pytests/unit/client/ssh/test_ssh.py || die
- rm -r tests/pytests/{integration,functional}/netapi tests/integration/netapi || die
-
- # tests require root access
- rm tests/integration/pillar/test_git_pillar.py || die
- rm tests/integration/states/test_supervisord.py || die
-
- # removes contextvars, see bug: https://bugs.gentoo.org/799431
- sed -i '/^contextvars/d' requirements/base.txt || die
-
- # make sure pkg_resources doesn't bomb because pycrypto isn't installed
- find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
- # pycryptodome rather than pycryptodomex
- find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
-
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- local svc
- USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
- for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
- newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
- systemd_dounit "${FILESDIR}"/salt-${svc}.service
- done
-
- insinto /etc/${PN}
- doins -r conf/*
-}
-
-python_test() {
- # testsuite likes lots of files
- ulimit -n 4096 || die
-
- local -a disable_tests=(
- # doesn't like the distutils warning
- batch_retcode
- multiple_modules_in_batch
- # hangs indefinitely
- master_type_disable
- # needs root
- runas_env_sudo_group
- # don't like sandbox
- split_multibyte_characters_{shiftjis,unicode}
- # doesn't like sandbox env
- log_sanitize
- )
- local textexpr
- testexpr=$(printf 'not %s and ' "${disable_tests[@]}")
-
- # ${T} is too long a path for the tests to work
- local TMPDIR
- TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)" || die
- (
- export TMPDIR
- cleanup() { rm -rf "${TMPDIR}" || die; }
-
- trap cleanup EXIT
-
- addwrite "${TMPDIR}"
-
- USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
- "${EPYTHON}" -m pytest -vv -k "${testexpr%and }" \
- || die "testing failed with ${EPYTHON}"
- )
-}
diff --git a/app-admin/salt/salt-3005.3.ebuild b/app-admin/salt/salt-3005.3.ebuild
deleted file mode 100644
index 2d5c18e2ca63..000000000000
--- a/app-admin/salt/salt-3005.3.ebuild
+++ /dev/null
@@ -1,235 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_10 )
-
-DISTUTILS_USE_PEP517=setuptools
-inherit systemd distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="https://www.saltstack.com/resources/community/
- https://github.com/saltstack"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
-else
- inherit pypi
- KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="
- cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
- mongodb neutron nova openssl portage profile redis selinux test raet
- +zeromq vim-syntax
-"
-
-RDEPEND="
- sys-apps/pciutils
- >=dev-python/distro-1.5[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
- dev-python/jmespath[${PYTHON_USEDEP}]
- dev-python/libnacl[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.0.0[${PYTHON_USEDEP}]
- >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
- >=dev-python/markupsafe-2.1.2[${PYTHON_USEDEP}]
- >=dev-python/requests-2.31.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- dev-python/watchdog[${PYTHON_USEDEP}]
- libcloud? (
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/aiosignal[${PYTHON_USEDEP}]
- >=dev-python/apache-libcloud-2.5.0[${PYTHON_USEDEP}]
- dev-python/async-timeout[${PYTHON_USEDEP}]
- )
- mako? ( dev-python/mako[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- libvirt? (
- dev-python/libvirt-python[${PYTHON_USEDEP}]
- )
- openssl? (
- dev-libs/openssl:0=[-bindist(-)]
- >=dev-python/pyopenssl-23.2.0[${PYTHON_USEDEP}]
- )
- raet? (
- >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
- >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
- cheetah? ( >=dev-python/cheetah3-3.2.2[${PYTHON_USEDEP}] )
- genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
- mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
- keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
- redis? ( dev-python/redis[${PYTHON_USEDEP}] )
- selinux? ( sec-policy/selinux-salt )
- nova? (
- >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]
- )
- neutron? (
- >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]
- )
- gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
- profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )
- zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- dev-python/apache-libcloud[${PYTHON_USEDEP}]
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- >=dev-python/certifi-2023.07.22[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- dev-python/mako[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/moto-2.0.0[${PYTHON_USEDEP}]
- dev-python/passlib[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-23.0.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-7.2.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-salt-factories-1.0.0_rc17[${PYTHON_USEDEP}]
- dev-python/pytest-tempdir[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- dev-python/pytest-subtests[${PYTHON_USEDEP}]
- dev-python/pytest-shell-utilities[${PYTHON_USEDEP}]
- dev-python/pytest-skip-markers[${PYTHON_USEDEP}]
- dev-python/pytest-system-statistics[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- net-dns/bind-tools
- >=dev-python/virtualenv-20.3.0[${PYTHON_USEDEP}]
- dev-util/yamllint[${PYTHON_USEDEP}]
- !x86? ( >=dev-python/boto3-1.17.67[${PYTHON_USEDEP}] )
- )
-"
-
-DOCS=( README.rst AUTHORS )
-
-REQUIRED_USE="|| ( raet zeromq )
- test? ( cheetah genshi )"
-RESTRICT="!test? ( test ) x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch"
- "${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
- "${FILESDIR}/salt-3002-tests.patch"
- "${FILESDIR}/salt-3003.1-tests.patch"
- "${FILESDIR}/salt-3005-tests.patch"
- "${FILESDIR}/salt-3005.1-no-entry-points.patch"
- "${FILESDIR}/salt-3005.1-importlib-metadata-5-r1.patch"
- "${FILESDIR}/salt-3005.1-tests.patch"
- "${FILESDIR}/salt-3005.1-modules-file-python-3.11-host.patch"
- "${FILESDIR}/salt-3006.2-tests.patch"
-)
-
-python_prepare_all() {
- # remove tests with external dependencies that may not be available, and
- # tests that don't work in sandbox
- rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die
- rm tests/unit/modules/test_boto_{vpc,secgroup,elb}.py || die
- rm tests/unit/states/test_boto_vpc.py || die
- rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
- rm tests/pytests/functional/transport/server/test_req_channel.py || die
- rm tests/pytests/functional/utils/test_async_event_publisher.py || die
- rm tests/pytests/functional/runners/test_winrepo.py || die
-
- # tests that require network access
- rm tests/unit/{states,modules}/test_zcbuildout.py || die
- rm -r tests/integration/cloud || die
- rm -r tests/kitchen/tests/wordpress/tests || die
- rm tests/kitchen/test_kitchen.py || die
- rm tests/unit/modules/test_network.py || die
- rm tests/pytests/functional/modules/test_pip.py || die
- rm tests/pytests/unit/client/ssh/test_ssh.py || die
- rm -r tests/pytests/{integration,functional}/netapi tests/integration/netapi || die
-
- # tests require root access
- rm tests/integration/pillar/test_git_pillar.py || die
- rm tests/integration/states/test_supervisord.py || die
-
- # removes contextvars, see bug: https://bugs.gentoo.org/799431
- sed -i '/^contextvars/d' requirements/base.txt || die
-
- # make sure pkg_resources doesn't bomb because pycrypto isn't installed
- find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
- # pycryptodome rather than pycryptodomex
- find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
-
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- local svc
- USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
- for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
- newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
- systemd_dounit "${FILESDIR}"/salt-${svc}.service
- done
-
- insinto /etc/${PN}
- doins -r conf/*
-}
-
-python_test() {
- local -a EPYTEST_DESELECT=(
- # doesn't like the distutils warning
- tests/pytests/integration/cli/test_batch.py::test_batch_retcode
- tests/pytests/integration/cli/test_batch.py::test_multiple_modules_in_batch
- # hangs indefinitely
- tests/pytests/unit/test_minion.py::test_master_type_disable
- # needs root
- tests/pytests/unit/modules/test_cmdmod.py::test_runas_env_sudo_group
- # don't like sandbox
- tests/unit/cloud/clouds/test_joyent.py::JoyentTestCase::test_query_instance_has_ip
- tests/unit/cloud/clouds/test_joyent.py::JoyentTestCase::test_query_instance_init
- tests/unit/cloud/clouds/test_joyent.py::JoyentTestCase::test_query_instance_ready
- tests/unit/modules/test_win_ip.py::WinShadowTestCase::test_disable
- tests/unit/modules/test_win_ip.py::WinShadowTestCase::test_enable
- tests/unit/netapi/rest_tornado/test_saltnado.py::TestDisbatchLocal::test_when_is_finished_is_set_before_events_return_then_no_data_should_be_returned
- tests/unit/netapi/rest_tornado/test_saltnado.py::TestDisbatchLocal::test_when_is_finished_then_all_collected_data_should_be_returned
- tests/unit/netapi/rest_tornado/test_saltnado.py::TestDisbatchLocal::test_when_is_timed_out_is_set_before_other_events_are_completed_then_result_should_be_empty_dictionary
- tests/unit/netapi/rest_tornado/test_saltnado.py::TestDisbatchLocal::test_when_is_timed_out_then_all_collected_data_should_be_returned
- tests/unit/netapi/rest_tornado/test_saltnado.py::TestDisbatchLocal::test_when_min_wait_time_has_not_passed_then_disbatch_should_not_return_expected_data_until_time_has_passed
- tests/unit/netapi/rest_tornado/test_saltnado.py::TestDisbatchLocal::test_when_minions_all_return_then_all_collected_data_should_be_returned
- tests/unit/utils/test_vt.py::VTTestCase::test_split_multibyte_characters_shiftjis
- tests/unit/utils/test_vt.py::VTTestCase::test_split_multibyte_characters_unicode
- tests/pytests/unit/utils/test_vt.py::test_log_sanitize
- tests/pytests/unit/test_master.py::test_fileserver_duration
- tests/pytests/unit/modules/test_aptpkg.py::test_call_apt_dpkg_lock
- tests/unit/utils/test_schema.py::ConfigTestCase::test_anyof_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_dict_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_hostname_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_not_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_oneof_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_optional_requirements_config_validation
- )
-
- # testsuite likes lots of files
- ulimit -n 4096 || die
-
- # ${T} is too long a path for the tests to work
- local TMPDIR
- TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)" || die
- (
- export TMPDIR
- cleanup() { rm -rf "${TMPDIR}" || die; }
-
- trap cleanup EXIT
-
- addwrite "${TMPDIR}"
-
- USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
- epytest
- )
-}
diff --git a/app-admin/salt/salt-3005.4.ebuild b/app-admin/salt/salt-3005.4.ebuild
deleted file mode 100644
index 2d5c18e2ca63..000000000000
--- a/app-admin/salt/salt-3005.4.ebuild
+++ /dev/null
@@ -1,235 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_10 )
-
-DISTUTILS_USE_PEP517=setuptools
-inherit systemd distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="https://www.saltstack.com/resources/community/
- https://github.com/saltstack"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
-else
- inherit pypi
- KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="
- cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
- mongodb neutron nova openssl portage profile redis selinux test raet
- +zeromq vim-syntax
-"
-
-RDEPEND="
- sys-apps/pciutils
- >=dev-python/distro-1.5[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
- dev-python/jmespath[${PYTHON_USEDEP}]
- dev-python/libnacl[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.0.0[${PYTHON_USEDEP}]
- >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
- >=dev-python/markupsafe-2.1.2[${PYTHON_USEDEP}]
- >=dev-python/requests-2.31.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- dev-python/watchdog[${PYTHON_USEDEP}]
- libcloud? (
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/aiosignal[${PYTHON_USEDEP}]
- >=dev-python/apache-libcloud-2.5.0[${PYTHON_USEDEP}]
- dev-python/async-timeout[${PYTHON_USEDEP}]
- )
- mako? ( dev-python/mako[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- libvirt? (
- dev-python/libvirt-python[${PYTHON_USEDEP}]
- )
- openssl? (
- dev-libs/openssl:0=[-bindist(-)]
- >=dev-python/pyopenssl-23.2.0[${PYTHON_USEDEP}]
- )
- raet? (
- >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
- >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
- cheetah? ( >=dev-python/cheetah3-3.2.2[${PYTHON_USEDEP}] )
- genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
- mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
- keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
- redis? ( dev-python/redis[${PYTHON_USEDEP}] )
- selinux? ( sec-policy/selinux-salt )
- nova? (
- >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]
- )
- neutron? (
- >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]
- )
- gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
- profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )
- zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- dev-python/apache-libcloud[${PYTHON_USEDEP}]
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- >=dev-python/certifi-2023.07.22[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- dev-python/mako[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/moto-2.0.0[${PYTHON_USEDEP}]
- dev-python/passlib[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-23.0.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-7.2.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-salt-factories-1.0.0_rc17[${PYTHON_USEDEP}]
- dev-python/pytest-tempdir[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- dev-python/pytest-subtests[${PYTHON_USEDEP}]
- dev-python/pytest-shell-utilities[${PYTHON_USEDEP}]
- dev-python/pytest-skip-markers[${PYTHON_USEDEP}]
- dev-python/pytest-system-statistics[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- net-dns/bind-tools
- >=dev-python/virtualenv-20.3.0[${PYTHON_USEDEP}]
- dev-util/yamllint[${PYTHON_USEDEP}]
- !x86? ( >=dev-python/boto3-1.17.67[${PYTHON_USEDEP}] )
- )
-"
-
-DOCS=( README.rst AUTHORS )
-
-REQUIRED_USE="|| ( raet zeromq )
- test? ( cheetah genshi )"
-RESTRICT="!test? ( test ) x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch"
- "${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
- "${FILESDIR}/salt-3002-tests.patch"
- "${FILESDIR}/salt-3003.1-tests.patch"
- "${FILESDIR}/salt-3005-tests.patch"
- "${FILESDIR}/salt-3005.1-no-entry-points.patch"
- "${FILESDIR}/salt-3005.1-importlib-metadata-5-r1.patch"
- "${FILESDIR}/salt-3005.1-tests.patch"
- "${FILESDIR}/salt-3005.1-modules-file-python-3.11-host.patch"
- "${FILESDIR}/salt-3006.2-tests.patch"
-)
-
-python_prepare_all() {
- # remove tests with external dependencies that may not be available, and
- # tests that don't work in sandbox
- rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die
- rm tests/unit/modules/test_boto_{vpc,secgroup,elb}.py || die
- rm tests/unit/states/test_boto_vpc.py || die
- rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die
- rm tests/pytests/functional/transport/server/test_req_channel.py || die
- rm tests/pytests/functional/utils/test_async_event_publisher.py || die
- rm tests/pytests/functional/runners/test_winrepo.py || die
-
- # tests that require network access
- rm tests/unit/{states,modules}/test_zcbuildout.py || die
- rm -r tests/integration/cloud || die
- rm -r tests/kitchen/tests/wordpress/tests || die
- rm tests/kitchen/test_kitchen.py || die
- rm tests/unit/modules/test_network.py || die
- rm tests/pytests/functional/modules/test_pip.py || die
- rm tests/pytests/unit/client/ssh/test_ssh.py || die
- rm -r tests/pytests/{integration,functional}/netapi tests/integration/netapi || die
-
- # tests require root access
- rm tests/integration/pillar/test_git_pillar.py || die
- rm tests/integration/states/test_supervisord.py || die
-
- # removes contextvars, see bug: https://bugs.gentoo.org/799431
- sed -i '/^contextvars/d' requirements/base.txt || die
-
- # make sure pkg_resources doesn't bomb because pycrypto isn't installed
- find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
- # pycryptodome rather than pycryptodomex
- find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
-
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- local svc
- USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
- for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
- newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
- systemd_dounit "${FILESDIR}"/salt-${svc}.service
- done
-
- insinto /etc/${PN}
- doins -r conf/*
-}
-
-python_test() {
- local -a EPYTEST_DESELECT=(
- # doesn't like the distutils warning
- tests/pytests/integration/cli/test_batch.py::test_batch_retcode
- tests/pytests/integration/cli/test_batch.py::test_multiple_modules_in_batch
- # hangs indefinitely
- tests/pytests/unit/test_minion.py::test_master_type_disable
- # needs root
- tests/pytests/unit/modules/test_cmdmod.py::test_runas_env_sudo_group
- # don't like sandbox
- tests/unit/cloud/clouds/test_joyent.py::JoyentTestCase::test_query_instance_has_ip
- tests/unit/cloud/clouds/test_joyent.py::JoyentTestCase::test_query_instance_init
- tests/unit/cloud/clouds/test_joyent.py::JoyentTestCase::test_query_instance_ready
- tests/unit/modules/test_win_ip.py::WinShadowTestCase::test_disable
- tests/unit/modules/test_win_ip.py::WinShadowTestCase::test_enable
- tests/unit/netapi/rest_tornado/test_saltnado.py::TestDisbatchLocal::test_when_is_finished_is_set_before_events_return_then_no_data_should_be_returned
- tests/unit/netapi/rest_tornado/test_saltnado.py::TestDisbatchLocal::test_when_is_finished_then_all_collected_data_should_be_returned
- tests/unit/netapi/rest_tornado/test_saltnado.py::TestDisbatchLocal::test_when_is_timed_out_is_set_before_other_events_are_completed_then_result_should_be_empty_dictionary
- tests/unit/netapi/rest_tornado/test_saltnado.py::TestDisbatchLocal::test_when_is_timed_out_then_all_collected_data_should_be_returned
- tests/unit/netapi/rest_tornado/test_saltnado.py::TestDisbatchLocal::test_when_min_wait_time_has_not_passed_then_disbatch_should_not_return_expected_data_until_time_has_passed
- tests/unit/netapi/rest_tornado/test_saltnado.py::TestDisbatchLocal::test_when_minions_all_return_then_all_collected_data_should_be_returned
- tests/unit/utils/test_vt.py::VTTestCase::test_split_multibyte_characters_shiftjis
- tests/unit/utils/test_vt.py::VTTestCase::test_split_multibyte_characters_unicode
- tests/pytests/unit/utils/test_vt.py::test_log_sanitize
- tests/pytests/unit/test_master.py::test_fileserver_duration
- tests/pytests/unit/modules/test_aptpkg.py::test_call_apt_dpkg_lock
- tests/unit/utils/test_schema.py::ConfigTestCase::test_anyof_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_dict_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_hostname_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_not_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_oneof_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_optional_requirements_config_validation
- )
-
- # testsuite likes lots of files
- ulimit -n 4096 || die
-
- # ${T} is too long a path for the tests to work
- local TMPDIR
- TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)" || die
- (
- export TMPDIR
- cleanup() { rm -rf "${TMPDIR}" || die; }
-
- trap cleanup EXIT
-
- addwrite "${TMPDIR}"
-
- USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
- epytest
- )
-}
diff --git a/app-admin/salt/salt-3005.5.ebuild b/app-admin/salt/salt-3005.5-r1.ebuild
similarity index 97%
rename from app-admin/salt/salt-3005.5.ebuild
rename to app-admin/salt/salt-3005.5-r1.ebuild
index a107b8846f17..00992ac88f15 100644
--- a/app-admin/salt/salt-3005.5.ebuild
+++ b/app-admin/salt/salt-3005.5-r1.ebuild
@@ -86,7 +86,6 @@ BDEPEND="
test? (
${RDEPEND}
dev-python/apache-libcloud[${PYTHON_USEDEP}]
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
>=dev-python/certifi-2023.07.22[${PYTHON_USEDEP}]
dev-python/cherrypy[${PYTHON_USEDEP}]
>=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
@@ -119,7 +118,6 @@ REQUIRED_USE="|| ( raet zeromq )
RESTRICT="!test? ( test ) x86? ( test )"
PATCHES=(
- "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch"
"${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
"${FILESDIR}/salt-3002-tests.patch"
"${FILESDIR}/salt-3003.1-tests.patch"
@@ -191,7 +189,9 @@ python_prepare_all() {
tests/pytests/integration/cli/test_salt_deltaproxy.py
tests/pytests/integration/cli/test_salt_proxy.py
tests/pytests/integration/master/test_clear_funcs.py
+ tests/pytests/integration/modules/test_state.py
tests/pytests/integration/proxy/test_simple.py
+ tests/pytests/integration/runners/state/orchestrate/test_events.py
tests/pytests/integration/wheel/test_pillar_roots.py
tests/pytests/unit/client/ssh/test_ssh.py
tests/pytests/unit/cloud/test_map.py
@@ -204,6 +204,8 @@ python_prepare_all() {
tests/pytests/{integration,functional}/netapi tests/integration/netapi
tests/unit/cloud/clouds/test_joyent.py
tests/unit/config/schemas/test_ssh.py
+ tests/unit/modules/test_boto3_elasticsearch.py
+ tests/unit/modules/test_boto3_route53.py
tests/unit/modules/test_network.py
tests/unit/netapi/rest_tornado/test_saltnado.py
tests/unit/{states,modules}/test_zcbuildout.py
@@ -215,6 +217,9 @@ python_prepare_all() {
rm -r "${remove_test_files[@]}" || die
+ # axe the boto dep (bug #888235)
+ find "${S}/tests" -name 'test_boto_*.py' -delete || die
+
# removes contextvars, see bug: https://bugs.gentoo.org/799431
sed -i '/^contextvars/d' requirements/base.txt || die
@@ -265,6 +270,7 @@ python_test() {
# need root
tests/pytests/unit/modules/test_cmdmod.py::test_runas_env_sudo_group
)
+
# https://bugs.gentoo.org/924377
has_version 'sys-apps/systemd' || EPYTEST_DESELECT+=(
tests/pytests/unit/modules/test_aptpkg.py::test_autoremove
diff --git a/app-admin/salt/salt-3006.2.ebuild b/app-admin/salt/salt-3006.2.ebuild
deleted file mode 100644
index 031e12b522fb..000000000000
--- a/app-admin/salt/salt-3006.2.ebuild
+++ /dev/null
@@ -1,232 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_10 )
-
-DISTUTILS_USE_PEP517=setuptools
-inherit systemd distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="https://www.saltstack.com/resources/community/
- https://github.com/saltstack"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
-else
- inherit pypi
- KEYWORDS="~amd64 ~riscv ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="
- cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
- mongodb neutron nova openssl portage profile redis selinux test raet
- +zeromq vim-syntax
-"
-
-RDEPEND="
- sys-apps/pciutils
- >=dev-python/cryptography-41.0.3[${PYTHON_USEDEP}]
- >=dev-python/distro-1.5[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
- dev-python/jmespath[${PYTHON_USEDEP}]
- dev-python/libnacl[${PYTHON_USEDEP}]
- dev-python/looseversion[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.0.0[${PYTHON_USEDEP}]
- >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
- >=dev-python/markupsafe-2.1.2[${PYTHON_USEDEP}]
- >=dev-python/requests-2.31.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- dev-python/watchdog[${PYTHON_USEDEP}]
- libcloud? (
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/aiosignal[${PYTHON_USEDEP}]
- >=dev-python/apache-libcloud-2.5.0[${PYTHON_USEDEP}]
- dev-python/async-timeout[${PYTHON_USEDEP}]
- )
- mako? ( dev-python/mako[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- libvirt? (
- dev-python/libvirt-python[${PYTHON_USEDEP}]
- )
- openssl? (
- dev-libs/openssl:0=[-bindist(-)]
- >=dev-python/pyopenssl-23.2.0[${PYTHON_USEDEP}]
- )
- raet? (
- >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
- >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
- cheetah? ( >=dev-python/cheetah3-3.2.2[${PYTHON_USEDEP}] )
- genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
- mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
- keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
- redis? ( dev-python/redis[${PYTHON_USEDEP}] )
- selinux? ( sec-policy/selinux-salt )
- nova? (
- >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]
- )
- neutron? (
- >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]
- )
- gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
- profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )
- zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- dev-python/build[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- dev-python/apache-libcloud[${PYTHON_USEDEP}]
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- >=dev-python/certifi-2023.07.22[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- dev-python/mako[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/moto-2.0.0[${PYTHON_USEDEP}]
- dev-python/passlib[${PYTHON_USEDEP}]
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-23.0.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-7.2.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-salt-factories-1.0.0_rc25[${PYTHON_USEDEP}]
- dev-python/pytest-tempdir[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- dev-python/pytest-subtests[${PYTHON_USEDEP}]
- dev-python/pytest-shell-utilities[${PYTHON_USEDEP}]
- dev-python/pytest-skip-markers[${PYTHON_USEDEP}]
- dev-python/pytest-system-statistics[${PYTHON_USEDEP}]
- dev-python/pytest-custom-exit-code[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- net-dns/bind-tools
- >=dev-python/virtualenv-20.3.0[${PYTHON_USEDEP}]
- dev-util/yamllint[${PYTHON_USEDEP}]
- !x86? ( >=dev-python/boto3-1.21.46[${PYTHON_USEDEP}] )
- )
-"
-
-DOCS=( README.rst AUTHORS )
-
-REQUIRED_USE="|| ( raet zeromq )
- test? ( cheetah genshi )"
-RESTRICT="!test? ( test ) x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
- "${FILESDIR}/salt-3005.1-no-entry-points.patch"
- "${FILESDIR}/salt-3006-skip-tests-that-oom-machine.patch"
- "${FILESDIR}/salt-3006-tests.patch"
- "${FILESDIR}/salt-3006.2-tests.patch"
-)
-
-python_prepare_all() {
- # remove tests with external dependencies that may not be available, and
- # tests that don't work in sandbox
- rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die
- rm tests/unit/modules/test_boto_{vpc,secgroup,elb}.py || die
- rm tests/unit/states/test_boto_vpc.py || die
-
- #rm tests/support/gitfs.py || die
- rm tests/pytests/functional/transport/server/test_req_channel.py || die
- rm tests/pytests/functional/utils/test_async_event_publisher.py || die
- rm tests/pytests/functional/runners/test_winrepo.py || die
- rm tests/unit/netapi/rest_tornado/test_saltnado.py || die
-
- # tests that require network access
- rm tests/unit/{states,modules}/test_zcbuildout.py || die
- rm -r tests/integration/cloud || die
- rm -r tests/kitchen/tests/wordpress/tests || die
- rm tests/kitchen/test_kitchen.py || die
- rm tests/unit/modules/test_network.py || die
- rm tests/pytests/functional/modules/test_pip.py || die
- rm tests/pytests/unit/client/ssh/test_ssh.py || die
- rm -r tests/pytests/{integration,functional}/netapi tests/integration/netapi || die
-
- # tests require root access
- rm tests/integration/pillar/test_git_pillar.py || die
- rm tests/integration/states/test_supervisord.py || die
-
- # removes contextvars, see bug: https://bugs.gentoo.org/799431
- sed -i '/^contextvars/d' requirements/base.txt || die
-
- # make sure pkg_resources doesn't bomb because pycrypto isn't installed
- find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
- # pycryptodome rather than pycryptodomex
- find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
-
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- local svc
- USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
- for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
- newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
- systemd_dounit "${FILESDIR}"/salt-${svc}.service
- done
-
- insinto /etc/${PN}
- doins -r conf/*
-}
-
-python_test() {
- local -a EPYTEST_DESELECT=(
- # doesn't like the distutils warning
- tests/pytests/integration/cli/test_batch.py::test_batch_retcode
- tests/pytests/integration/cli/test_batch.py::test_multiple_modules_in_batch
- # hangs indefinitely
- tests/pytests/unit/test_minion.py::test_master_type_disable
- # needs root
- tests/pytests/unit/modules/test_cmdmod.py::test_runas_env_sudo_group
- # don't like sandbox
- tests/pytests/functional/cli/test_salt.py::test_versions_report
- tests/unit/utils/test_vt.py::test_split_multibyte_characters_unicode
- tests/unit/utils/test_vt.py::test_split_multibyte_characters_shiftjis
- tests/pytests/unit/utils/test_vt.py::test_log_sanitize
- tests/pytests/unit/client/ssh/test_single.py::test_run_with_pre_flight_args
- tests/pytests/unit/modules/test_aptpkg.py::test_call_apt_dpkg_lock
- tests/pytests/unit/test_template.py::test_compile_template_str_mkstemp_cleanup
- tests/pytests/unit/_logging/handlers/test_deferred_stream_handler.py::test_deferred_write_on_flush
- tests/pytests/unit/_logging/handlers/test_deferred_stream_handler.py::test_sync_with_handlers
- tests/pytests/unit/modules/test_portage_config.py::test_enforce_nice_config
- tests/unit/utils/test_schema.py::ConfigTestCase::test_anyof_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_dict_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_hostname_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_not_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_oneof_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_optional_requirements_config_validation
- )
-
- # testsuite likes lots of files
- ulimit -n 4096 || die
-
- # ${T} is too long a path for the tests to work
- local TMPDIR
- TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)" || die
- (
- export TMPDIR
- cleanup() { rm -rf "${TMPDIR}" || die; }
-
- trap cleanup EXIT
-
- addwrite "${TMPDIR}"
-
- USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
- epytest
- )
-}
diff --git a/app-admin/salt/salt-3006.3.ebuild b/app-admin/salt/salt-3006.3.ebuild
deleted file mode 100644
index af77b214d420..000000000000
--- a/app-admin/salt/salt-3006.3.ebuild
+++ /dev/null
@@ -1,237 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_10 )
-
-DISTUTILS_USE_PEP517=setuptools
-inherit systemd distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="https://www.saltstack.com/resources/community/
- https://github.com/saltstack"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
-else
- inherit pypi
- KEYWORDS="~amd64 ~riscv ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="
- cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
- mongodb neutron nova openssl portage profile redis selinux test raet
- +zeromq vim-syntax
-"
-
-RDEPEND="
- sys-apps/pciutils
- >=dev-python/cryptography-41.0.3[${PYTHON_USEDEP}]
- >=dev-python/distro-1.5[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
- dev-python/jmespath[${PYTHON_USEDEP}]
- dev-python/libnacl[${PYTHON_USEDEP}]
- dev-python/looseversion[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.0.0[${PYTHON_USEDEP}]
- >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
- >=dev-python/markupsafe-2.1.2[${PYTHON_USEDEP}]
- >=dev-python/requests-2.31.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- dev-python/watchdog[${PYTHON_USEDEP}]
- libcloud? (
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/aiosignal[${PYTHON_USEDEP}]
- >=dev-python/apache-libcloud-2.5.0[${PYTHON_USEDEP}]
- dev-python/async-timeout[${PYTHON_USEDEP}]
- )
- mako? ( dev-python/mako[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- libvirt? (
- dev-python/libvirt-python[${PYTHON_USEDEP}]
- )
- openssl? (
- dev-libs/openssl:0=[-bindist(-)]
- >=dev-python/pyopenssl-23.2.0[${PYTHON_USEDEP}]
- )
- raet? (
- >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
- >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
- cheetah? ( >=dev-python/cheetah3-3.2.2[${PYTHON_USEDEP}] )
- genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
- mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
- keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
- redis? ( dev-python/redis[${PYTHON_USEDEP}] )
- selinux? ( sec-policy/selinux-salt )
- nova? (
- >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]
- )
- neutron? (
- >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]
- )
- gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
- profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )
- zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- dev-python/build[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- dev-python/apache-libcloud[${PYTHON_USEDEP}]
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- >=dev-python/certifi-2023.07.22[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- dev-python/mako[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/moto-2.0.0[${PYTHON_USEDEP}]
- dev-python/passlib[${PYTHON_USEDEP}]
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-23.0.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-7.2.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-salt-factories-1.0.0_rc25[${PYTHON_USEDEP}]
- dev-python/pytest-tempdir[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- dev-python/pytest-subtests[${PYTHON_USEDEP}]
- dev-python/pytest-shell-utilities[${PYTHON_USEDEP}]
- dev-python/pytest-skip-markers[${PYTHON_USEDEP}]
- dev-python/pytest-system-statistics[${PYTHON_USEDEP}]
- dev-python/pytest-custom-exit-code[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- net-dns/bind-tools
- >=dev-python/virtualenv-20.3.0[${PYTHON_USEDEP}]
- dev-util/yamllint[${PYTHON_USEDEP}]
- !x86? ( >=dev-python/boto3-1.21.46[${PYTHON_USEDEP}] )
- )
-"
-
-DOCS=( README.rst AUTHORS )
-
-REQUIRED_USE="|| ( raet zeromq )
- test? ( cheetah genshi )"
-RESTRICT="!test? ( test ) x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
- "${FILESDIR}/salt-3005.1-no-entry-points.patch"
- "${FILESDIR}/salt-3006-skip-tests-that-oom-machine.patch"
- "${FILESDIR}/salt-3006.2-tests.patch"
- "${FILESDIR}/salt-3006.3-tests.patch"
-)
-
-python_prepare_all() {
- # remove tests with external dependencies that may not be available, and
- # tests that don't work in sandbox
- rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die
- rm tests/unit/modules/test_boto_{vpc,secgroup,elb}.py || die
- rm tests/unit/states/test_boto_vpc.py || die
-
- #rm tests/support/gitfs.py || die
- rm tests/pytests/functional/transport/server/test_req_channel.py || die
- rm tests/pytests/functional/utils/test_async_event_publisher.py || die
- rm tests/pytests/functional/runners/test_winrepo.py || die
- rm tests/unit/netapi/rest_tornado/test_saltnado.py || die
-
- # tests that require network access
- rm tests/unit/{states,modules}/test_zcbuildout.py || die
- rm -r tests/integration/cloud || die
- rm -r tests/kitchen/tests/wordpress/tests || die
- rm tests/kitchen/test_kitchen.py || die
- rm tests/unit/modules/test_network.py || die
- rm tests/pytests/functional/modules/test_pip.py || die
- rm tests/pytests/unit/client/ssh/test_ssh.py || die
- rm -r tests/pytests/{integration,functional}/netapi tests/integration/netapi || die
-
- # tests require root access
- rm tests/integration/pillar/test_git_pillar.py || die
- rm tests/integration/states/test_supervisord.py || die
-
- # removes contextvars, see bug: https://bugs.gentoo.org/799431
- sed -i '/^contextvars/d' requirements/base.txt || die
-
- # make sure pkg_resources doesn't bomb because pycrypto isn't installed
- find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
- # pycryptodome rather than pycryptodomex
- find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
- # called_once should be assert_called_once_with
- find "${S}/tests" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:[.]called_once:.assert_called_once:g' -- || die
-
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- local svc
- USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
- for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
- newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
- systemd_dounit "${FILESDIR}"/salt-${svc}.service
- done
-
- insinto /etc/${PN}
- doins -r conf/*
-}
-
-python_test() {
- local -a EPYTEST_DESELECT=(
- # doesn't like the distutils warning
- tests/pytests/integration/cli/test_batch.py::test_batch_retcode
- tests/pytests/integration/cli/test_batch.py::test_multiple_modules_in_batch
- # hangs indefinitely
- tests/pytests/unit/test_minion.py::test_master_type_disable
- # needs root
- tests/pytests/unit/modules/test_cmdmod.py::test_runas_env_sudo_group
- # don't like sandbox
- tests/pytests/functional/cli/test_salt.py::test_versions_report
- tests/unit/utils/test_vt.py::test_split_multibyte_characters_unicode
- tests/unit/utils/test_vt.py::test_split_multibyte_characters_shiftjis
- tests/pytests/unit/utils/test_vt.py::test_log_sanitize
- tests/pytests/unit/client/ssh/test_single.py::test_run_with_pre_flight_args
- tests/pytests/unit/modules/test_aptpkg.py::test_call_apt_dpkg_lock
- tests/pytests/unit/test_master.py::test_fileserver_duration
- tests/pytests/unit/test_template.py::test_compile_template_str_mkstemp_cleanup
- tests/pytests/unit/_logging/handlers/test_deferred_stream_handler.py::test_deferred_write_on_flush
- tests/pytests/unit/_logging/handlers/test_deferred_stream_handler.py::test_sync_with_handlers
- tests/pytests/unit/modules/test_portage_config.py::test_enforce_nice_config
- tests/pytests/unit/modules/test_msteams.py::test_post_card
- tests/pytests/unit/states/test_file.py::test_file_recurse_directory_test
- tests/unit/utils/test_schema.py::ConfigTestCase::test_anyof_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_dict_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_hostname_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_not_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_oneof_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_optional_requirements_config_validation
- )
-
- # testsuite likes lots of files
- ulimit -n 4096 || die
-
- # ${T} is too long a path for the tests to work
- local TMPDIR
- TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)" || die
- (
- export TMPDIR
- cleanup() { rm -rf "${TMPDIR}" || die; }
-
- trap cleanup EXIT
-
- addwrite "${TMPDIR}"
-
- USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
- epytest
- )
-}
diff --git a/app-admin/salt/salt-3006.4.ebuild b/app-admin/salt/salt-3006.4.ebuild
deleted file mode 100644
index 5de5f5a464f7..000000000000
--- a/app-admin/salt/salt-3006.4.ebuild
+++ /dev/null
@@ -1,235 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_10 )
-
-DISTUTILS_USE_PEP517=setuptools
-inherit systemd distutils-r1
-
-DESCRIPTION="Salt is a remote execution and configuration manager"
-HOMEPAGE="https://www.saltstack.com/resources/community/
- https://github.com/saltstack"
-
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
-else
- inherit pypi
- KEYWORDS="~amd64 ~riscv ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="
- cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
- mongodb neutron nova openssl portage profile redis selinux test raet
- +zeromq vim-syntax
-"
-
-RDEPEND="
- sys-apps/pciutils
- >=dev-python/cryptography-41.0.3[${PYTHON_USEDEP}]
- >=dev-python/distro-1.5[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
- dev-python/jmespath[${PYTHON_USEDEP}]
- dev-python/libnacl[${PYTHON_USEDEP}]
- dev-python/looseversion[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.0.0[${PYTHON_USEDEP}]
- >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
- >=dev-python/markupsafe-2.1.2[${PYTHON_USEDEP}]
- >=dev-python/requests-2.31.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- dev-python/watchdog[${PYTHON_USEDEP}]
- libcloud? (
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/aiosignal[${PYTHON_USEDEP}]
- >=dev-python/apache-libcloud-2.5.0[${PYTHON_USEDEP}]
- dev-python/async-timeout[${PYTHON_USEDEP}]
- )
- mako? ( dev-python/mako[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- libvirt? (
- dev-python/libvirt-python[${PYTHON_USEDEP}]
- )
- openssl? (
- dev-libs/openssl:0=[-bindist(-)]
- >=dev-python/pyopenssl-23.2.0[${PYTHON_USEDEP}]
- )
- raet? (
- >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
- >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
- cheetah? ( >=dev-python/cheetah3-3.2.2[${PYTHON_USEDEP}] )
- genshi? ( dev-python/genshi[${PYTHON_USEDEP}] )
- mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
- portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
- keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
- redis? ( dev-python/redis[${PYTHON_USEDEP}] )
- selinux? ( sec-policy/selinux-salt )
- nova? (
- >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]
- )
- neutron? (
- >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]
- )
- gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
- profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )
- zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- dev-python/build[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- dev-python/apache-libcloud[${PYTHON_USEDEP}]
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- >=dev-python/certifi-2023.07.22[${PYTHON_USEDEP}]
- dev-python/cherrypy[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- dev-python/mako[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/moto-2.0.0[${PYTHON_USEDEP}]
- dev-python/passlib[${PYTHON_USEDEP}]
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-23.0.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-7.2.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-salt-factories-1.0.0_rc25[${PYTHON_USEDEP}]
- dev-python/pytest-tempdir[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- dev-python/pytest-subtests[${PYTHON_USEDEP}]
- dev-python/pytest-shell-utilities[${PYTHON_USEDEP}]
- dev-python/pytest-skip-markers[${PYTHON_USEDEP}]
- dev-python/pytest-system-statistics[${PYTHON_USEDEP}]
- dev-python/pytest-custom-exit-code[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- net-dns/bind-tools
- >=dev-python/virtualenv-20.3.0[${PYTHON_USEDEP}]
- dev-util/yamllint[${PYTHON_USEDEP}]
- !x86? ( >=dev-python/boto3-1.21.46[${PYTHON_USEDEP}] )
- )
-"
-
-DOCS=( README.rst AUTHORS )
-
-REQUIRED_USE="|| ( raet zeromq )
- test? ( cheetah genshi )"
-RESTRICT="!test? ( test ) x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
- "${FILESDIR}/salt-3005.1-no-entry-points.patch"
- "${FILESDIR}/salt-3006-skip-tests-that-oom-machine.patch"
-)
-
-python_prepare_all() {
- # remove tests with external dependencies that may not be available, and
- # tests that don't work in sandbox
- rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die
- rm tests/unit/modules/test_boto_{vpc,secgroup,elb}.py || die
- rm tests/unit/states/test_boto_vpc.py || die
-
- #rm tests/support/gitfs.py || die
- rm tests/pytests/functional/transport/server/test_req_channel.py || die
- rm tests/pytests/functional/utils/test_async_event_publisher.py || die
- rm tests/pytests/functional/runners/test_winrepo.py || die
- rm tests/unit/netapi/rest_tornado/test_saltnado.py || die
-
- # tests that require network access
- rm tests/unit/{states,modules}/test_zcbuildout.py || die
- rm -r tests/integration/cloud || die
- rm -r tests/kitchen/tests/wordpress/tests || die
- rm tests/kitchen/test_kitchen.py || die
- rm tests/unit/modules/test_network.py || die
- rm tests/pytests/functional/modules/test_pip.py || die
- rm tests/pytests/unit/client/ssh/test_ssh.py || die
- rm -r tests/pytests/{integration,functional}/netapi tests/integration/netapi || die
-
- # tests require root access
- rm tests/integration/pillar/test_git_pillar.py || die
- rm tests/integration/states/test_supervisord.py || die
-
- # removes contextvars, see bug: https://bugs.gentoo.org/799431
- sed -i '/^contextvars/d' requirements/base.txt || die
-
- # make sure pkg_resources doesn't bomb because pycrypto isn't installed
- find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
- # pycryptodome rather than pycryptodomex
- find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
- # called_once should be assert_called_once_with
- find "${S}/tests" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:[.]called_once:.assert_called_once:g' -- || die
-
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- local svc
- USE_SETUPTOOLS=1 distutils-r1_python_install_all
-
- for svc in minion master syndic api; do
- newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc}
- newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
- systemd_dounit "${FILESDIR}"/salt-${svc}.service
- done
-
- insinto /etc/${PN}
- doins -r conf/*
-}
-
-python_test() {
- local -a EPYTEST_DESELECT=(
- # doesn't like the distutils warning
- tests/pytests/integration/cli/test_batch.py::test_batch_retcode
- tests/pytests/integration/cli/test_batch.py::test_multiple_modules_in_batch
- # hangs indefinitely
- tests/pytests/unit/test_minion.py::test_master_type_disable
- # needs root
- tests/pytests/unit/modules/test_cmdmod.py::test_runas_env_sudo_group
- # don't like sandbox
- tests/pytests/functional/cli/test_salt.py::test_versions_report
- tests/unit/utils/test_vt.py::test_split_multibyte_characters_unicode
- tests/unit/utils/test_vt.py::test_split_multibyte_characters_shiftjis
- tests/pytests/unit/utils/test_vt.py::test_log_sanitize
- tests/pytests/unit/client/ssh/test_single.py::test_run_with_pre_flight_args
- tests/pytests/unit/modules/test_aptpkg.py::test_call_apt_dpkg_lock
- tests/pytests/unit/test_master.py::test_fileserver_duration
- tests/pytests/unit/test_template.py::test_compile_template_str_mkstemp_cleanup
- tests/pytests/unit/_logging/handlers/test_deferred_stream_handler.py::test_deferred_write_on_flush
- tests/pytests/unit/_logging/handlers/test_deferred_stream_handler.py::test_sync_with_handlers
- tests/pytests/unit/modules/test_portage_config.py::test_enforce_nice_config
- tests/pytests/unit/modules/test_msteams.py::test_post_card
- tests/pytests/unit/states/test_file.py::test_file_recurse_directory_test
- tests/unit/utils/test_schema.py::ConfigTestCase::test_anyof_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_dict_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_hostname_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_not_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_oneof_config_validation
- tests/unit/utils/test_schema.py::ConfigTestCase::test_optional_requirements_config_validation
- )
-
- # testsuite likes lots of files
- ulimit -n 4096 || die
-
- # ${T} is too long a path for the tests to work
- local TMPDIR
- TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)" || die
- (
- export TMPDIR
- cleanup() { rm -rf "${TMPDIR}" || die; }
-
- trap cleanup EXIT
-
- addwrite "${TMPDIR}"
-
- USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \
- epytest
- )
-}
diff --git a/app-admin/salt/salt-3006.5.ebuild b/app-admin/salt/salt-3006.5-r1.ebuild
similarity index 53%
rename from app-admin/salt/salt-3006.5.ebuild
rename to app-admin/salt/salt-3006.5-r1.ebuild
index f6b28047c843..42a1f42b6498 100644
--- a/app-admin/salt/salt-3006.5.ebuild
+++ b/app-admin/salt/salt-3006.5-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -90,7 +90,7 @@ BDEPEND="
test? (
${RDEPEND}
dev-python/apache-libcloud[${PYTHON_USEDEP}]
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ dev-python/boto3[${PYTHON_USEDEP}]
>=dev-python/certifi-2023.07.22[${PYTHON_USEDEP}]
dev-python/cherrypy[${PYTHON_USEDEP}]
>=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
@@ -127,36 +127,86 @@ RESTRICT="!test? ( test ) x86? ( test )"
PATCHES=(
"${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
"${FILESDIR}/salt-3005.1-no-entry-points.patch"
- "${FILESDIR}/salt-3006-skip-tests-that-oom-machine.patch"
)
python_prepare_all() {
- # remove tests with external dependencies that may not be available, and
- # tests that don't work in sandbox
- rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die
- rm tests/unit/modules/test_boto_{vpc,secgroup,elb}.py || die
- rm tests/unit/states/test_boto_vpc.py || die
-
- #rm tests/support/gitfs.py || die
- rm tests/pytests/functional/transport/server/test_req_channel.py || die
- rm tests/pytests/functional/utils/test_async_event_publisher.py || die
- rm tests/pytests/functional/runners/test_winrepo.py || die
- rm tests/unit/netapi/rest_tornado/test_saltnado.py || die
-
- # tests that require network access
- rm tests/unit/{states,modules}/test_zcbuildout.py || die
- rm -r tests/integration/cloud || die
- rm -r tests/kitchen/tests/wordpress/tests || die
- rm tests/kitchen/test_kitchen.py || die
- rm tests/unit/modules/test_network.py || die
- rm tests/pytests/functional/modules/test_pip.py || die
- rm tests/pytests/unit/client/ssh/test_ssh.py || die
- rm -r tests/pytests/{integration,functional}/netapi tests/integration/netapi || die
-
- # tests require root access
- rm tests/integration/pillar/test_git_pillar.py || die
- rm tests/integration/states/test_supervisord.py || die
- rm tests/pytests/scenarios/performance/test_performance.py || die
+ local -a remove_test_files=(
+ # remove tests with external dependencies that may not be available, and
+ # tests that don't work in sandbox
+ tests/pytests/functional/modules/file/test_readlink.py
+ tests/pytests/functional/modules/file/test_symlink.py
+ tests/pytests/functional/modules/state/test_jinja_filters.py
+ tests/pytests/functional/modules/state/test_jinja_renderer.py
+ tests/pytests/functional/modules/state/test_mako_renderer.py
+ tests/pytests/functional/modules/state/test_pyobjects_renderer.py
+ tests/pytests/functional/pillar/test_gpg.py
+ tests/pytests/functional/runners/test_winrepo.py
+ tests/pytests/functional/states/file/test_keyvalue.py
+ tests/pytests/functional/states/file/test_patch.py
+ tests/pytests/functional/transport/server/test_req_channel.py
+ tests/pytests/functional/utils/test_async_event_publisher.py
+ tests/pytests/integration/master/test_clear_funcs.py
+ tests/pytests/integration/minion/test_reauth.py
+ tests/pytests/integration/returners/test_noop_return.py
+ tests/pytests/integration/runners/test_manage.py
+ tests/pytests/integration/states/test_ini_manage.py
+ tests/pytests/integration/states/test_state_test.py
+ tests/pytests/integration/utils/test_templates.py
+ tests/pytests/unit/loader/test_lazy.py
+ tests/pytests/unit/modules/test_aptpkg.py
+ tests/pytests/unit/roster/test_dir.py
+ tests/pytests/unit/states/file/test_keyvalue.py
+ tests/pytests/unit/utils/jinja/test_get_template.py
+ tests/pytests/unit/utils/jinja/test_salt_cache_loader.py
+ tests/unit/modules/test_boto_{vpc,secgroup,elb}.py
+ tests/unit/netapi/rest_tornado/test_saltnado.py
+ tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py
+
+ # tests that require network access
+ tests/integration/cloud
+ tests/integration/netapi
+ tests/kitchen/test_kitchen.py
+ tests/kitchen/tests/wordpress/tests
+ tests/pytests/functional/cli/test_salt_cloud.py
+ tests/pytests/functional/cli/test_salt_run_.py
+ tests/pytests/functional/modules/test_http.py
+ tests/pytests/functional/modules/test_pip.py
+ tests/pytests/integration/cli/test_salt_proxy.py
+ tests/pytests/integration/modules/state/test_state.py
+ tests/pytests/integration/modules/state/test_state_state_events.py
+ tests/pytests/integration/modules/test_jinja.py
+ tests/pytests/integration/modules/test_state.py
+ tests/pytests/integration/modules/test_test.py
+ tests/pytests/integration/pillar/cache/test_pillar_cache.py
+ tests/pytests/integration/pillar/test_pillar_include.py
+ tests/pytests/integration/proxy/test_simple.py
+ tests/pytests/integration/runners/state/orchestrate/test_events.py
+ tests/pytests/integration/wheel/test_pillar_roots.py
+ tests/pytests/unit/client/ssh/test_ssh.py
+ tests/pytests/unit/test_client.py
+ tests/pytests/{integration,functional}/netapi
+ tests/unit/modules/test_boto3_elasticsearch.py
+ tests/unit/modules/test_boto3_route53.py
+ tests/unit/modules/test_network.py
+ tests/unit/{states,modules}/test_zcbuildout.py
+
+ # tests require root access
+ tests/integration/pillar/test_git_pillar.py
+ tests/integration/states/test_supervisord.py
+ tests/pytests/functional/states/file/test_accumulated.py
+ tests/pytests/scenarios/performance/test_performance.py
+ tests/pytests/unit/cloud/test_map.py
+ tests/pytests/unit/modules/state/test_state.py
+ tests/pytests/unit/modules/state/test_top_file_merge.py
+ tests/pytests/unit/proxy/test_netmiko_px.py
+ tests/pytests/unit/proxy/test_ssh_sample.py
+ tests/pytests/unit/roster/test_sshknownhosts.py
+ )
+
+ rm -r "${remove_test_files[@]}" || die
+
+ # axe the boto dep (bug #888235)
+ find "${S}/tests" -name 'test_boto_*.py' -delete || die
# removes contextvars, see bug: https://bugs.gentoo.org/799431
sed -i '/^contextvars/d' requirements/base.txt || die
@@ -165,6 +215,7 @@ python_prepare_all() {
find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die
# pycryptodome rather than pycryptodomex
find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die
+
# called_once should be assert_called_once_with
find "${S}/tests" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:[.]called_once:.assert_called_once:g' -- || die
@@ -190,36 +241,80 @@ python_test() {
# doesn't like the distutils warning
tests/pytests/integration/cli/test_batch.py::test_batch_retcode
tests/pytests/integration/cli/test_batch.py::test_multiple_modules_in_batch
+
# hangs indefinitely
tests/pytests/unit/test_minion.py::test_master_type_disable
+
# needs root
tests/pytests/unit/modules/test_cmdmod.py::test_runas_env_sudo_group
+ tests/pytests/unit/modules/test_portage_config.py::test_enforce_nice_config
+ tests/pytests/integration/modules/test_cmdmod.py::test_long_stdout
+
# don't like sandbox
tests/pytests/functional/cli/test_salt.py::test_help_log
tests/pytests/functional/cli/test_salt.py::test_versions_report
+ tests/pytests/functional/fileserver/test_roots.py::test_symlink_list
+ tests/pytests/functional/modules/file/test_replace.py::test_append_if_not_found_content
+ tests/pytests/functional/modules/file/test_replace.py::test_append_if_not_found_empty_file
+ tests/pytests/functional/modules/file/test_replace.py::test_append_if_not_found_no_append_on_match
+ tests/pytests/functional/modules/file/test_replace.py::test_append_if_not_found_no_match_newline
+ tests/pytests/functional/modules/file/test_replace.py::test_append_if_not_found_no_match_no_newline
+ tests/pytests/functional/modules/test_defaults.py::test_defaults_get
+ tests/pytests/functional/pillar/test_top.py::test_pillar_top_compound_match
+ tests/pytests/functional/states/file/test_append.py::test_file_append_check_cmd
+ tests/pytests/functional/states/file/test_blockreplace.py::test_issue_49043
+ tests/pytests/functional/states/file/test_directory.py::test_directory_clean_require_in
+ tests/pytests/functional/states/file/test_directory.py::test_directory_clean_require_in_with_id
+ tests/pytests/functional/states/file/test_directory.py::test_directory_clean_require_with_name
+ tests/pytests/functional/states/file/test_managed.py::test_file_managed_requisites
+ tests/pytests/functional/states/file/test_managed.py::test_issue_8947_utf8_sls
+ tests/pytests/functional/states/file/test_managed.py::test_managed_escaped_file_path
+ tests/pytests/functional/states/file/test_managed.py::test_managed_file_issue_51208
+ tests/pytests/functional/states/file/test_managed.py::test_managed_file_with_grains_data
+ tests/pytests/functional/states/file/test_managed.py::test_managed_latin1_diff
+ tests/pytests/functional/states/file/test_managed.py::test_managed_source_hash_indifferent_case
+ tests/pytests/functional/states/file/test_managed.py::test_managed_unicode_jinja_with_tojson_filter
+ tests/pytests/functional/states/file/test_managed.py::test_verify_ssl_https_source[False]
+ tests/pytests/functional/states/file/test_managed.py::test_verify_ssl_https_source[True]
+ tests/pytests/functional/states/file/test_recurse.py::test_issue_2726_mode_kwarg
+ tests/pytests/functional/states/file/test_replace.py::test_file_replace_check_cmd
+ tests/pytests/functional/states/file/test_replace.py::test_file_replace_prerequired_issues_55775
+ tests/pytests/functional/utils/functools/test_namespaced_function.py::test_namespacing
tests/pytests/integration/ssh/test_pillar_compilation.py::test_gpg_pillar
tests/pytests/integration/ssh/test_pillar_compilation.py::test_saltutil_runner
- tests/unit/utils/test_vt.py::test_split_multibyte_characters_unicode
- tests/unit/utils/test_vt.py::test_split_multibyte_characters_shiftjis
- tests/pytests/unit/utils/test_vt.py::test_log_sanitize
- tests/pytests/unit/client/ssh/test_single.py::test_run_with_pre_flight_args
- tests/pytests/unit/modules/test_aptpkg.py::test_call_apt_dpkg_lock
- tests/pytests/unit/modules/test_yumpkg.py::test_get_yum_config
- tests/pytests/unit/test_master.py::test_fileserver_duration
- tests/pytests/unit/test_template.py::test_compile_template_str_mkstemp_cleanup
tests/pytests/unit/_logging/handlers/test_deferred_stream_handler.py::test_deferred_write_on_flush
tests/pytests/unit/_logging/handlers/test_deferred_stream_handler.py::test_sync_with_handlers
- tests/pytests/unit/modules/test_portage_config.py::test_enforce_nice_config
+ tests/pytests/unit/client/ssh/test_single.py::test_run_with_pre_flight_args
+ tests/pytests/unit/config/schemas/test_ssh.py::test_config_validate
+ tests/pytests/unit/modules/test_aptpkg.py::test_call_apt_dpkg_lock
tests/pytests/unit/modules/test_msteams.py::test_post_card
+ tests/pytests/unit/modules/test_portage_config.py::test_enforce_nice_config
+ tests/pytests/unit/modules/test_saltutil.py::test_clear_job_cache
+ tests/pytests/unit/modules/test_saltutil.py::test_list_extmods
+ tests/pytests/unit/modules/test_yumpkg.py::test_get_yum_config
+ tests/pytests/unit/pillar/test_pillar.py::test_pillar_get_cache_disk
tests/pytests/unit/renderers/test_yamlex.py::test_basic
tests/pytests/unit/renderers/test_yamlex.py::test_complex
tests/pytests/unit/states/test_file.py::test_file_recurse_directory_test
+ tests/pytests/unit/test_ext_importers.py::test_tornado_import_override
+ tests/pytests/unit/test_master.py::test_fileserver_duration
+ tests/pytests/unit/test_template.py::test_compile_template_str_mkstemp_cleanup
+ tests/pytests/unit/utils/test_cache.py::test_context_wrapper
+ tests/pytests/unit/utils/test_cache.py::test_refill_cache
+ tests/pytests/unit/utils/test_cache.py::test_set_cache
+ tests/pytests/unit/utils/test_http.py::test_requests_session_verify_ssl_false
+ tests/pytests/unit/utils/test_vt.py::test_log_sanitize
tests/unit/utils/test_schema.py::ConfigTestCase::test_anyof_config_validation
+ tests/unit/utils/test_schema.py::ConfigTestCase::test_array_config_validation
+ tests/unit/utils/test_schema.py::ConfigTestCase::test_array_config_validation
tests/unit/utils/test_schema.py::ConfigTestCase::test_dict_config_validation
tests/unit/utils/test_schema.py::ConfigTestCase::test_hostname_config_validation
tests/unit/utils/test_schema.py::ConfigTestCase::test_not_config_validation
tests/unit/utils/test_schema.py::ConfigTestCase::test_oneof_config_validation
tests/unit/utils/test_schema.py::ConfigTestCase::test_optional_requirements_config_validation
+ tests/unit/utils/test_vt.py::test_split_multibyte_characters_shiftjis
+ tests/unit/utils/test_vt.py::test_split_multibyte_characters_unicode
+
# tests that need network access
tests/pytests/unit/utils/test_http.py::test_query_proxy
tests/pytests/unit/utils/test_http.py::test_backends_decode_body_false
diff --git a/app-admin/salt/salt-3006.7.ebuild b/app-admin/salt/salt-3006.7-r1.ebuild
similarity index 97%
rename from app-admin/salt/salt-3006.7.ebuild
rename to app-admin/salt/salt-3006.7-r1.ebuild
index 18725f3ff3dd..e9171e89adf7 100644
--- a/app-admin/salt/salt-3006.7.ebuild
+++ b/app-admin/salt/salt-3006.7-r1.ebuild
@@ -91,7 +91,7 @@ BDEPEND="
${RDEPEND}
app-arch/zip
dev-python/apache-libcloud[${PYTHON_USEDEP}]
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ dev-python/boto3[${PYTHON_USEDEP}]
>=dev-python/certifi-2023.07.22[${PYTHON_USEDEP}]
dev-python/cherrypy[${PYTHON_USEDEP}]
>=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
@@ -129,7 +129,6 @@ RESTRICT="!test? ( test ) x86? ( test )"
PATCHES=(
"${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
"${FILESDIR}/salt-3005.1-no-entry-points.patch"
- "${FILESDIR}/salt-3006-skip-tests-that-oom-machine.patch"
)
python_prepare_all() {
@@ -144,6 +143,7 @@ python_prepare_all() {
tests/pytests/functional/modules/state/test_pyobjects_renderer.py
tests/pytests/functional/pillar/test_gpg.py
tests/pytests/functional/runners/test_winrepo.py
+ tests/pytests/functional/states/file/test_keyvalue.py
tests/pytests/functional/states/file/test_patch.py
tests/pytests/functional/transport/server/test_req_channel.py
tests/pytests/functional/utils/test_async_event_publisher.py
@@ -213,10 +213,13 @@ python_prepare_all() {
tests/pytests/pkg/integration/test_version.py
tests/pytests/pkg/upgrade/test_salt_upgrade.py
tests/pytests/unit/client/ssh/test_ssh.py
+ tests/pytests/unit/loader/test_loading_modules.py
tests/pytests/unit/test_client.py
tests/pytests/unit/utils/test_aws.py
tests/pytests/unit/utils/test_http.py
tests/pytests/{integration,functional}/netapi tests/integration/netapi
+ tests/unit/modules/test_boto3_elasticsearch.py
+ tests/unit/modules/test_boto3_route53.py
tests/unit/modules/test_network.py
tests/unit/{states,modules}/test_zcbuildout.py
@@ -236,6 +239,9 @@ python_prepare_all() {
rm -r "${remove_test_files[@]}" || die
+ # axe the boto dep (bug #888235)
+ find "${S}/tests" -name 'test_boto_*.py' -delete || die
+
# removes contextvars, see bug: https://bugs.gentoo.org/799431
sed -i '/^contextvars/d' requirements/base.txt || die
@@ -286,7 +292,6 @@ python_test() {
tests/pytests/functional/states/file/test_directory.py::test_directory_clean_require_in
tests/pytests/functional/states/file/test_directory.py::test_directory_clean_require_in_with_id
tests/pytests/functional/states/file/test_directory.py::test_directory_clean_require_with_name
- tests/pytests/functional/states/file/test_keyvalue.py::test_keyvalue
tests/pytests/functional/states/file/test_managed.py::test_file_managed_requisites
tests/pytests/functional/states/file/test_managed.py::test_issue_8947_utf8_sls
tests/pytests/functional/states/file/test_managed.py::test_managed_escaped_file_path
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/
@ 2024-08-27 19:15 Patrick McLean
0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2024-08-27 19:15 UTC (permalink / raw
To: gentoo-commits
commit: 5a6b913cd0e47de25f201bdbeacd2380bfd24d4a
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 27 19:14:20 2024 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Aug 27 19:15:01 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5a6b913c
app-admin/salt: Add patch for pam module
Also fix annoying error in logs when running under py312
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
app-admin/salt/files/salt-3006.9-pam-module.patch | 13 +++++++++++++
.../salt/{salt-3006.9-r1.ebuild => salt-3006.9-r2.ebuild} | 1 +
.../salt/{salt-3007.1.ebuild => salt-3007.1-r1.ebuild} | 9 +++++++++
3 files changed, 23 insertions(+)
diff --git a/app-admin/salt/files/salt-3006.9-pam-module.patch b/app-admin/salt/files/salt-3006.9-pam-module.patch
new file mode 100644
index 000000000000..c0af2ee5210f
--- /dev/null
+++ b/app-admin/salt/files/salt-3006.9-pam-module.patch
@@ -0,0 +1,13 @@
+diff --git a/salt/auth/pam.py b/salt/auth/pam.py
+index 6e179deb7c..935c523606 100644
+--- a/salt/auth/pam.py
++++ b/salt/auth/pam.py
+@@ -228,7 +228,7 @@ def authenticate(username, password):
+ env["SALT_PAM_PASSWORD"] = password
+ env["SALT_PAM_SERVICE"] = __opts__.get("auth.pam.service", "login")
+ env["SALT_PAM_ENCODING"] = __salt_system_encoding__
+- pyexe = pathlib.Path(__opts__.get("auth.pam.python", "/usr/bin/python3")).resolve()
++ pyexe = pathlib.Path(__opts__.get("auth.pam.python", f"/usr/bin/{os.environ['EPYTHON']}")).resolve()
+ pyfile = pathlib.Path(__file__).resolve()
+ if not pyexe.exists():
+ log.error("Error 'auth.pam.python' config value does not exist: %s", pyexe)
diff --git a/app-admin/salt/salt-3006.9-r1.ebuild b/app-admin/salt/salt-3006.9-r2.ebuild
similarity index 99%
rename from app-admin/salt/salt-3006.9-r1.ebuild
rename to app-admin/salt/salt-3006.9-r2.ebuild
index 52019c14af26..f81dd7ade71d 100644
--- a/app-admin/salt/salt-3006.9-r1.ebuild
+++ b/app-admin/salt/salt-3006.9-r2.ebuild
@@ -138,6 +138,7 @@ RESTRICT="!test? ( test ) x86? ( test )"
PATCHES=(
"${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
"${FILESDIR}/salt-3005.1-no-entry-points.patch"
+ "${FILESDIR}/salt-3006.9-pam-module.patch"
)
python_prepare_all() {
diff --git a/app-admin/salt/salt-3007.1.ebuild b/app-admin/salt/salt-3007.1-r1.ebuild
similarity index 99%
rename from app-admin/salt/salt-3007.1.ebuild
rename to app-admin/salt/salt-3007.1-r1.ebuild
index d8b9533aac5e..4a31938ecc9e 100644
--- a/app-admin/salt/salt-3007.1.ebuild
+++ b/app-admin/salt/salt-3007.1-r1.ebuild
@@ -142,6 +142,7 @@ RESTRICT="
PATCHES=(
"${FILESDIR}/salt-3003-gentoolkit-revdep.patch"
+ "${FILESDIR}/salt-3006.9-pam-module.patch"
)
python_prepare_all() {
@@ -398,6 +399,14 @@ python_prepare_all() {
distutils-r1_python_prepare_all
}
+python_prepare() {
+ if [[ ${EPYTHON#*.} -ge 12 ]]; then
+ # stop annoying warning from spamming logs
+ grep -Rl datetime.datetime.utcnow salt \
+ | xargs sed -i 's:datetime.datetime.utcnow():datetime.datetime.now(datetime.UTC):'
+ fi
+}
+
python_install_all() {
local -x USE_SETUPTOOLS=1
distutils-r1_python_install_all
^ permalink raw reply related [flat|nested] 35+ messages in thread
end of thread, other threads:[~2024-08-27 19:15 UTC | newest]
Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-31 1:28 [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/ Patrick McLean
-- strict thread matches above, loose matches on Subject: below --
2024-08-27 19:15 Patrick McLean
2024-02-28 3:07 Patrick McLean
2023-04-01 17:43 Michał Górny
2022-11-02 23:40 Patrick McLean
2022-07-25 18:52 Patrick McLean
2022-06-28 18:24 Patrick McLean
2022-06-28 18:24 Patrick McLean
2022-03-31 16:47 Patrick McLean
2022-03-31 2:23 Patrick McLean
2021-09-08 1:01 Patrick McLean
2021-06-24 18:17 Patrick McLean
2021-04-03 4:20 Patrick McLean
2021-04-03 4:20 Patrick McLean
2021-02-27 2:32 Patrick McLean
2021-01-01 0:47 Michał Górny
2020-12-17 5:45 Patrick McLean
2020-10-31 1:36 Patrick McLean
2020-07-13 22:33 Patrick McLean
2020-05-01 1:07 Patrick McLean
2020-04-30 18:59 Patrick McLean
2020-04-30 5:24 Patrick McLean
2020-04-29 20:36 Patrick McLean
2019-08-27 21:38 Patrick McLean
2019-02-28 2:45 Patrick McLean
2018-07-03 21:18 Patrick McLean
2018-04-04 22:02 Patrick McLean
2018-02-08 19:56 Patrick McLean
2017-01-31 23:22 Patrick McLean
2017-01-31 23:22 Patrick McLean
2016-12-02 0:50 Patrick McLean
2016-09-09 21:06 Patrick McLean
2016-07-29 19:12 Patrick McLean
2016-06-16 18:48 Patrick McLean
2015-09-11 1:13 Patrick McLean
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox