public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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 16:47 [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  2:23 Patrick McLean
2022-03-31  1:28 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