public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/, app-admin/salt/files/
@ 2015-08-25 17:31 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2015-08-25 17:31 UTC (permalink / raw
  To: gentoo-commits

commit:     414bd196776d90ba5b5f17d7afafffe4c64e99b5
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 25 17:30:46 2015 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Aug 25 17:30:46 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=414bd196

app-admin/salt: Version bump to 2015.5.5

Package-Manager: portage-2.2.20.1

 app-admin/salt/Manifest                            |   1 +
 .../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/salt-2015.5.5.ebuild                | 119 +++++++++++++++++++++
 5 files changed, 217 insertions(+)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index baf548f..4b83eea 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -2,4 +2,5 @@ DIST salt-2014.7.4.tar.gz 3833928 SHA256 0adf4c138ebd26745b1d1157be0772d89da3582
 DIST salt-2014.7.5.tar.gz 3845643 SHA256 474d0a23866e42c664f46e04bc8ead87fc57ee16ff2cc8945248f1e0706f6eb8 SHA512 60e64db5125eb3c6f44cccf906ff0e8916cdcb31970e000785a81cf6ae95b38c681088f2fb3964fabc16667a26403ae30cb84cea3493d837d0b57aa86e771160 WHIRLPOOL b3600c1824cd49983cfe73567ec4a3861bdec88c5cc725ae8159e917e5074ade32aee29eafe5ec78fe4c87f2effc0f5f49627772e12468eb3a050b9395a45374
 DIST salt-2015.5.1.tar.gz 4970135 SHA256 0edb1d0584f53e805ad6ffc21c163a637b23d187052ba2dbb7e641c2d7099c4d SHA512 0de9b3391f33940e230b21841dca05943edcf7a890c0cae8efdd39bcbaf46c27f71cefaf73861dc5b59b567c40c2f0cada04ccedc73cffd905a449795b2f8ecb WHIRLPOOL 4aaa899fa6fd13b60daba7bbef692db24020ffc54e03e4c5d194e32aaa1580430a5fc7bb70f0b87e1ed2710428ed9aa8e729fa4e1144fb42754c740e3e45405e
 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-vim-20141109.tar.gz 3783 SHA256 4989d111ad618ea3f5f7a7046a0ff6ce3ca6bc7f71fca90849f7c38947ab6d9a SHA512 d8d62ee827012e29586cf492f2881ee5870ed058828102f985e8b27300c115e01bb126f89decb15a19a8e206dc54c89856d4c31b3ff5320a36385cb5ed517a63 WHIRLPOOL 98026b2cdcb64665790475e3b20a7de294e5cefb390b414294756cad440bc040d9044ffd37a13f3c93af9be1a1bfd444710ff0df24895db624f49fddd16b5545

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
new file mode 100644
index 0000000..fa092d1
--- /dev/null
+++ b/app-admin/salt/files/salt-2015.5.5-auth-tests.patch
@@ -0,0 +1,34 @@
+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
new file mode 100644
index 0000000..d0c4ffc
--- /dev/null
+++ b/app-admin/salt/files/salt-2015.5.5-cron-tests.patch
@@ -0,0 +1,17 @@
+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
new file mode 100644
index 0000000..b36e35f
--- /dev/null
+++ b/app-admin/salt/files/salt-2015.5.5-remove-buggy-tests.patch
@@ -0,0 +1,46 @@
+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/salt-2015.5.5.ebuild b/app-admin/salt/salt-2015.5.5.ebuild
new file mode 100644
index 0000000..2ab01a5
--- /dev/null
+++ b/app-admin/salt/salt-2015.5.5.ebuild
@@ -0,0 +1,119 @@
+# 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 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.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}] )
+	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/m2crypto-0.22.3[${PYTHON_USEDEP}]
+		dev-python/pycrypto[${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}] )"
+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}-2014.7.1-remove-pydsl-includes-test.patch"
+	"${FILESDIR}/${PN}-2015.5.0-archive-test.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/, app-admin/salt/files/
@ 2015-11-06  7:58 Justin Lecher
  0 siblings, 0 replies; 35+ messages in thread
From: Justin Lecher @ 2015-11-06  7:58 UTC (permalink / raw
  To: gentoo-commits

commit:     8d979c150527855721e3838923313a1ea122f7d5
Author:     Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Fri Nov  6 07:58:19 2015 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Fri Nov  6 07:58:25 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8d979c15

app-admin/salt: Drop vulnerable versions

Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=563508

Package-Manager: portage-2.2.23
Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>

 app-admin/salt/Manifest                            |   3 -
 .../salt-2014.7.0-remove-pydsl-includes-test.patch | 104 ------------------
 app-admin/salt/metadata.xml                        |   2 +-
 app-admin/salt/salt-2015.5.3.ebuild                | 117 --------------------
 app-admin/salt/salt-2015.5.5.ebuild                | 120 --------------------
 app-admin/salt/salt-2015.8.0.ebuild                | 122 ---------------------
 6 files changed, 1 insertion(+), 467 deletions(-)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index e0c9629..82aee35 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,6 +1,3 @@
-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.5.6.tar.gz 5564414 SHA256 4fe478132ce84076b3e424cdd217443766d83ac40fa0ec0e914ca46111971c38 SHA512 6f091b2de8d5f949eb8df8d5173bc122b971a3966b3f4fa55209906dba83b744a72b24e40ee1b0b4dc0a51d740bc336e10798a310da3544e36d4d8585934ac11 WHIRLPOOL 2d25cfada4dab07e82dad6542ac8c290d55ca493fe90186af4b1f78b3684dcb7c9d95eab4a0fe22a0c82cb8b31e8176cc750ebab5304927bbbc7f2a2545ebc8b
-DIST salt-2015.8.0.tar.gz 6584668 SHA256 71e1cb2eb1d4b30f3247f5590c00a2089190b8f9a90c9330dc9a65fae517ec9b SHA512 e5066773cdd69635272e8bda4e030ae270ea0d6a4895ca18c2d8e94ae7a2987700fda05a760d799e369f1ec977428da0a1c8797790f0f9ac30c03a4d80ce1599 WHIRLPOOL ca1c1d8f18d29b047ebbdf590ed1d1bbe932359017505af2b5043aa6e5035756e29f9d7d3f9293ca5a76c6d643b38d62cedbc3abffafef7cf8ab2443f7143fe9
 DIST salt-2015.8.1.tar.gz 6527650 SHA256 04133839b4632859ad696a40261d1d14b62902dbcaf7df2f9e5e926c89401c23 SHA512 d882e3a8e70cf19c64e14c35d4c69fa308b8502d01095ce3f8c383a0ee0b70dbefd4b8eda95205f2cba2fe237279e2a3425daf0d5bf66144fb97ca3be0ec162a WHIRLPOOL a1014b8b2b1f815e2f9981cf3c8696b151a4788afb5525021ad94a6d9da774870290ed94fa159b5e3d8f8c73a682417937a1c48b0431d009a21c1e89a32d61f0
 DIST salt-vim-20141109.tar.gz 3783 SHA256 4989d111ad618ea3f5f7a7046a0ff6ce3ca6bc7f71fca90849f7c38947ab6d9a SHA512 d8d62ee827012e29586cf492f2881ee5870ed058828102f985e8b27300c115e01bb126f89decb15a19a8e206dc54c89856d4c31b3ff5320a36385cb5ed517a63 WHIRLPOOL 98026b2cdcb64665790475e3b20a7de294e5cefb390b414294756cad440bc040d9044ffd37a13f3c93af9be1a1bfd444710ff0df24895db624f49fddd16b5545

diff --git a/app-admin/salt/files/salt-2014.7.0-remove-pydsl-includes-test.patch b/app-admin/salt/files/salt-2014.7.0-remove-pydsl-includes-test.patch
deleted file mode 100644
index 0cf3efe..0000000
--- a/app-admin/salt/files/salt-2014.7.0-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 59442bd..2c5d129 100644
---- a/tests/unit/pydsl_test.py
-+++ b/tests/unit/pydsl_test.py
-@@ -297,99 +297,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 open(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/metadata.xml b/app-admin/salt/metadata.xml
index 77f5bb2..02ebdc2 100644
--- a/app-admin/salt/metadata.xml
+++ b/app-admin/salt/metadata.xml
@@ -1,4 +1,4 @@
-<?xml version='1.0' encoding='UTF-8'?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
   <maintainer>

diff --git a/app-admin/salt/salt-2015.5.3.ebuild b/app-admin/salt/salt-2015.5.3.ebuild
deleted file mode 100644
index 5fedb9d..0000000
--- a/app-admin/salt/salt-2015.5.3.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# 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=""
-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 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.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}] )
-	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/m2crypto-0.22.3[${PYTHON_USEDEP}]
-		dev-python/pycrypto[${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}] )"
-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}-2014.7.1-remove-pydsl-includes-test.patch"
-	"${FILESDIR}/${PN}-2015.5.0-archive-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}_test.py \
-		|| die "Failed to remove broken tests"
-}
-
-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"
-}

diff --git a/app-admin/salt/salt-2015.5.5.ebuild b/app-admin/salt/salt-2015.5.5.ebuild
deleted file mode 100644
index b93c09d..0000000
--- a/app-admin/salt/salt-2015.5.5.ebuild
+++ /dev/null
@@ -1,120 +0,0 @@
-# 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 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.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}] )
-	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/m2crypto-0.22.3[${PYTHON_USEDEP}]
-		dev-python/pycrypto[${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}] )"
-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}-2014.7.1-remove-pydsl-includes-test.patch"
-	"${FILESDIR}/${PN}-2015.5.0-archive-test.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 \
-		|| die "Failed to remove broken tests"
-}
-
-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"
-}

diff --git a/app-admin/salt/salt-2015.8.0.ebuild b/app-admin/salt/salt-2015.8.0.ebuild
deleted file mode 100644
index 2787868..0000000
--- a/app-admin/salt/salt-2015.8.0.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# 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,random_org}_test.py \
-		|| die "Failed to remove broken tests"
-}
-
-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/, app-admin/salt/files/
@ 2015-11-20  2:16 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2015-11-20  2:16 UTC (permalink / raw
  To: gentoo-commits

commit:     87fb830be92a8af777ecd9cf27c95979281ddef2
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 20 02:15:50 2015 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Nov 20 02:15:50 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=87fb830b

app-admin/salt: fix unit tests with sandbox with 2015.8.2

Package-Manager: portage-2.2.25

 app-admin/salt/files/salt-2015.8.2-tmpdir.patch | 56 +++++++++++++++++++++++++
 app-admin/salt/salt-2015.8.2.ebuild             | 22 ++++++++--
 2 files changed, 74 insertions(+), 4 deletions(-)

diff --git a/app-admin/salt/files/salt-2015.8.2-tmpdir.patch b/app-admin/salt/files/salt-2015.8.2-tmpdir.patch
new file mode 100644
index 0000000..871551e
--- /dev/null
+++ b/app-admin/salt/files/salt-2015.8.2-tmpdir.patch
@@ -0,0 +1,56 @@
+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/salt-2015.8.2.ebuild b/app-admin/salt/salt-2015.8.2.ebuild
index 5a9a988..64fd02a 100644
--- a/app-admin/salt/salt-2015.8.2.ebuild
+++ b/app-admin/salt/salt-2015.8.2.ebuild
@@ -87,6 +87,7 @@ PATCHES=(
 	"${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"
 )
 
 python_prepare() {
@@ -110,11 +111,24 @@ python_install_all() {
 }
 
 python_test() {
+	local tempdir
 	# 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"
+	# ${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/, app-admin/salt/files/
@ 2015-11-24  0:21 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2015-11-24  0:21 UTC (permalink / raw
  To: gentoo-commits

commit:     1d39672d822a884a29511da02b01c405cee9f8a5
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 24 00:01:45 2015 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Nov 24 00:20:50 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1d39672d

app-admin/salt: update the tests in 2015.5.7

Package-Manager: portage-2.2.25

 app-admin/salt/files/salt-2015.5.7-tmpdir.patch | 37 +++++++++++++++++++++++++
 app-admin/salt/salt-2015.5.7.ebuild             | 25 +++++++++++++----
 2 files changed, 57 insertions(+), 5 deletions(-)

diff --git a/app-admin/salt/files/salt-2015.5.7-tmpdir.patch b/app-admin/salt/files/salt-2015.5.7-tmpdir.patch
new file mode 100644
index 0000000..8a19c32
--- /dev/null
+++ b/app-admin/salt/files/salt-2015.5.7-tmpdir.patch
@@ -0,0 +1,37 @@
+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/salt-2015.5.7.ebuild b/app-admin/salt/salt-2015.5.7.ebuild
index a945709..bf6c591 100644
--- a/app-admin/salt/salt-2015.5.7.ebuild
+++ b/app-admin/salt/salt-2015.5.7.ebuild
@@ -84,11 +84,13 @@ PATCHES=(
 	"${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.5.7-tmpdir.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 \
+	rm tests/unit/{modules,states}/zcbuildout_test.py \
+		tests/unit/modules/{rh_ip,win_network}_test.py \
 		|| die "Failed to remove broken tests"
 }
 
@@ -107,11 +109,24 @@ python_install_all() {
 }
 
 python_test() {
+	local tempdir
 	# 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"
+	# ${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/, app-admin/salt/files/
@ 2016-02-01 22:57 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2016-02-01 22:57 UTC (permalink / raw
  To: gentoo-commits

commit:     83246d9d02d04037649f9ae3fad7fbab861ade15
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Mon Feb  1 22:57:20 2016 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Feb  1 22:57:20 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=83246d9d

app-admin/salt: version bump to 2015.8.5

Package-Manager: portage-2.2.27

 app-admin/salt/Manifest                            |   1 +
 .../salt/files/salt-2015.8.4-boto-vpc-test.patch   |  13 ++
 app-admin/salt/salt-2015.8.4.ebuild                | 134 +++++++++++++++++++++
 3 files changed, 148 insertions(+)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 1454c32..8b81b69 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,3 +1,4 @@
 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.3.tar.gz 6757678 SHA256 2e9a262789b018f3443513105c0c6ae98934c9bc105a04cf9e5c073ef706218a SHA512 18a2c63d5e54d09468189450557974e47f87d8b7dde52beaae678120da1da1e7aecfff18cf0fdfb63a11cd5f6bab102c229462f0afe5e3e858c0c467761c7121 WHIRLPOOL 5f1e1562904aecf97027688adbe9a2eb1b910065e52a2e20e7bad67fc4e91660e3e1e04612ee3b18d9632f3ff782837336cf1a5d85d771b67071422a3cea9861
+DIST salt-2015.8.4.tar.gz 6874756 SHA256 8a21a02e53a6ef9b6dad4145c70225b7ff17bbb4a436a131c7e32d42b428cf48 SHA512 07c7e68b5667e8310bda9733706cbd1d8402ce6886300065ca4b618dccfbf65aaf79aba3d34d87ccda453811f589f13b8da3599eae70c865b19e3d0da5a100d3 WHIRLPOOL 70f5dfcdccacc0592c2af178caa1f979a7b17c409ad3a5c67d96fc5140d592e9cb876c1b15087c6c06c6e81e15d403f6e3dad86f44883e73399d49d59e8f6ad5

diff --git a/app-admin/salt/files/salt-2015.8.4-boto-vpc-test.patch b/app-admin/salt/files/salt-2015.8.4-boto-vpc-test.patch
new file mode 100644
index 0000000..ca18f47
--- /dev/null
+++ b/app-admin/salt/files/salt-2015.8.4-boto-vpc-test.patch
@@ -0,0 +1,13 @@
+diff --git a/tests/unit/modules/boto_vpc_test.py b/tests/unit/modules/boto_vpc_test.py
+index 0768790..bb89d47 100644
+--- a/tests/unit/modules/boto_vpc_test.py
++++ b/tests/unit/modules/boto_vpc_test.py
+@@ -493,7 +493,7 @@ class BotoVpcTestCase(BotoVpcTestCaseBase, BotoVpcTestCaseMixin):
+ 
+         vpc_properties = dict(id=vpc.id,
+                               cidr_block=six.text_type(cidr_block),
+-                              is_default=False,
++                              is_default=None,
+                               state=u'available',
+                               tags={u'Name': u'test', u'test': u'testvalue'},
+                               dhcp_options_id=u'dopt-7a8b9c2d',

diff --git a/app-admin/salt/salt-2015.8.4.ebuild b/app-admin/salt/salt-2015.8.4.ebuild
new file mode 100644
index 0000000..669ea91
--- /dev/null
+++ b/app-admin/salt/salt-2015.8.4.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}] )
+	openssl? ( dev-python/pyopenssl[${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/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.4-boto-vpc-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/, app-admin/salt/files/
@ 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:     918fe8450cd7899403c460915f26726fa17be2cd
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 16 18:46:58 2016 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Jun 16 18:48:27 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=918fe845

app-admin/salt: Version bump to 2015.5.10

Package-Manager: portage-2.3.0_rc1

 app-admin/salt/Manifest                            |   1 +
 .../salt/files/salt-2015.5.10-buggy-tests.patch    |  38 ++++++
 app-admin/salt/salt-2015.5.10.ebuild               | 133 +++++++++++++++++++++
 3 files changed, 172 insertions(+)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 7250bff..5dcebf9 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.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

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
new file mode 100644
index 0000000..e9330bd
--- /dev/null
+++ b/app-admin/salt/files/salt-2015.5.10-buggy-tests.patch
@@ -0,0 +1,38 @@
+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/salt-2015.5.10.ebuild b/app-admin/salt/salt-2015.5.10.ebuild
new file mode 100644
index 0000000..1762723
--- /dev/null
+++ b/app-admin/salt/salt-2015.5.10.ebuild
@@ -0,0 +1,133 @@
+# 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 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.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:*[-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/m2crypto-0.22.3[${PYTHON_USEDEP}]
+		dev-python/pycrypto[${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}] )
+	vim-syntax? ( app-vim/salt-vim )"
+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}-2014.7.1-remove-pydsl-includes-test.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.5.7-tmpdir.patch"
+	"${FILESDIR}/${PN}-2015.5.10-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 \
+		|| die "Failed to remove broken tests"
+}
+
+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/, app-admin/salt/files/
@ 2016-06-16 23:43 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2016-06-16 23:43 UTC (permalink / raw
  To: gentoo-commits

commit:     f39161cfeb4839082034ab3130d54aec390ee4a1
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 16 23:42:40 2016 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Jun 16 23:43:02 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f39161cf

app-admin/salt: Version bump to 2016.3.1

Package-Manager: portage-2.3.0_rc1

 app-admin/salt/Manifest                            |   1 +
 .../salt/files/salt-2016.3.1-broken-tests.patch    | 221 +++++++++++++++++++++
 .../files/salt-2016.3.1-dont-realpath-tmpdir.patch |  18 ++
 app-admin/salt/salt-2016.3.1.ebuild                | 141 +++++++++++++
 4 files changed, 381 insertions(+)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 887c12a..ad9d2e3 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -2,3 +2,4 @@ DIST salt-2015.5.10.tar.gz 5693422 SHA256 863a96e70f8521af35fe11b10d25b3205a0bfb
 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.8.tar.gz 6982904 SHA256 b2ecce7bf562cfcd6586d66ade278f268bb89023f0fa0accaa55f90b8a668ef5 SHA512 add65951694bc9e3aaa6db69bf9ac7ed32a5c42822ae34281ca3ea1e7f393235cd6baa1905362d177c62505a514e1c4599751e1a8a913cc334f9ebe1d4ab7ed3 WHIRLPOOL 9d81b6153019ff0862c6ee0e3fa949810e8066798aabcc94f2b87893f51906e0e19e37aa26023ea578eb10ebb9816d30d12104fdc5018c7ce91790bd617b2bba
+DIST salt-2016.3.1.tar.gz 7932479 SHA256 e6bdba4693116430c2af57497eb63399e3a139ac0a7016fa0870b49fbe987f75 SHA512 74122020a83df79171b9aa3bc311d1b16930140ec6b063c888d41e10fb8e696f69188b62cf925045b40d8b8fe713759de08978b08bc3b8e1f12722de3a8ddb7b WHIRLPOOL f76afb4d9c6678edf48b608f6dbd27201656fd371b0df78a8a8db306a2cbf5b08fa2fd916e9fb5409b67cd05ab007a3684d91c1e0158416b12f014001de1506a

diff --git a/app-admin/salt/files/salt-2016.3.1-broken-tests.patch b/app-admin/salt/files/salt-2016.3.1-broken-tests.patch
new file mode 100644
index 0000000..bb4b341
--- /dev/null
+++ b/app-admin/salt/files/salt-2016.3.1-broken-tests.patch
@@ -0,0 +1,221 @@
+diff --git a/tests/unit/auth_test.py b/tests/unit/auth_test.py
+index 84e8699..5acd6c9 100644
+--- a/tests/unit/auth_test.py
++++ b/tests/unit/auth_test.py
+@@ -50,22 +50,6 @@ class LoadAuthTestCase(TestCase):
+             ret = self.lauth.load_name(valid_eauth_load)
+             format_call_mock.assert_has_calls((expected_ret,), any_order=True)
+ 
+-    def test_get_groups(self):
+-        valid_eauth_load = {'username': 'test_user',
+-                            'show_timeout': False,
+-                            'test_password': '',
+-                            'eauth': 'pam'}
+-        with patch('salt.utils.format_call') as format_call_mock:
+-            expected_ret = call('fake_groups_function_str', {
+-                'username': 'test_user',
+-                'test_password': '',
+-                'show_timeout': False,
+-                'eauth': 'pam'
+-                }, expected_extra_kws=auth.AUTH_INTERNAL_KEYWORDS)
+-            self.lauth.get_groups(valid_eauth_load)
+-            format_call_mock.assert_has_calls((expected_ret,), any_order=True)
+-
+-
+ @patch('zmq.Context', MagicMock())
+ @patch('salt.payload.Serial.dumps', MagicMock())
+ @patch('salt.master.tagify', MagicMock())
+diff --git a/tests/unit/modules/boto_secgroup_test.py b/tests/unit/modules/boto_secgroup_test.py
+index cc88568..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), ('tags', {}),
+-                                                 ('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/tests/unit/modules/cron_test.py b/tests/unit/modules/cron_test.py
+index fd9b62d..8445471 100644
+--- a/tests/unit/modules/cron_test.py
++++ b/tests/unit/modules/cron_test.py
+@@ -630,16 +630,6 @@ class PsTestCase(TestCase):
+     def test_list_tab(self):
+         self.assertDictEqual(STUB_SIMPLE_CRON_DICT, cron.list_tab('DUMMY_USER'))
+ 
+-    @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',
+-                                   ['5 0 * * * /tmp/no_script.sh\n',
+-                                    '# Lines below here are managed by Salt, do not edit\n',
+-                                    '@hourly echo Hi!\n'])
+-        ret = cron.set_special('DUMMY_USER', '@hourly', 'echo Hi!')
+-        write_cron_lines_mock.assert_has_calls((expected_write_call,), any_order=True)
+-
+     def test__get_cron_date_time(self):
+         ret = cron._get_cron_date_time(minute=STUB_CRON_TIMESTAMP['minute'],
+                                     hour=STUB_CRON_TIMESTAMP['hour'],
+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 9c4ad6f..bf00c8e 100644
+--- a/tests/unit/modules/mount_test.py
++++ b/tests/unit/modules/mount_test.py
+@@ -102,23 +102,6 @@ class MountTestCase(TestCase):
+                                                        'opts': ['D', 'E', 'F'],
+                                                        'pass': 'H'}})
+ 
+-    def test_rm_fstab(self):
+-        '''
+-        Remove the mount point from the fstab
+-        '''
+-        mock_fstab = MagicMock(return_value={})
+-        with patch.object(mount, 'fstab', mock_fstab):
+-            with patch('salt.utils.fopen', mock_open()):
+-                self.assertTrue(mount.rm_fstab('name', 'device'))
+-
+-        mock_fstab = MagicMock(return_value={'name': 'name'})
+-        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,
+@@ -143,22 +126,6 @@ class MountTestCase(TestCase):
+                        mock_open(read_data=MOCK_SHELL_FILE)):
+                 self.assertEqual(mount.set_fstab('A', 'B', 'C'), 'new')
+ 
+-    def test_rm_automaster(self):
+-        '''
+-        Remove the mount point from the auto_master
+-        '''
+-        mock = MagicMock(return_value={})
+-        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..249efcb 100644
+--- a/tests/unit/modules/puppet_test.py
++++ b/tests/unit/modules/puppet_test.py
+@@ -72,24 +72,6 @@ class PuppetTestCase(TestCase):
+ 
+             self.assertFalse(puppet.enable())
+ 
+-    def test_disable(self):
+-        '''
+-            Test to disable the puppet agent
+-        '''
+-        mock_lst = MagicMock(return_value=[])
+-        with patch.dict(puppet.__salt__, {'cmd.run': mock_lst}):
+-            mock = MagicMock(side_effect=[True, False])
+-            with patch.object(os.path, 'isfile', mock):
+-                self.assertFalse(puppet.disable())
+-
+-                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 +126,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/files/salt-2016.3.1-dont-realpath-tmpdir.patch b/app-admin/salt/files/salt-2016.3.1-dont-realpath-tmpdir.patch
new file mode 100644
index 0000000..3e4fa31
--- /dev/null
+++ b/app-admin/salt/files/salt-2016.3.1-dont-realpath-tmpdir.patch
@@ -0,0 +1,18 @@
+diff --git a/tests/integration/__init__.py b/tests/integration/__init__.py
+index fc13bb6..6316fb5 100644
+--- a/tests/integration/__init__.py
++++ b/tests/integration/__init__.py
+@@ -77,12 +77,7 @@ if salt.utils.is_windows():
+     import win32api
+ 
+ 
+-SYS_TMP_DIR = 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 salt.utils.is_darwin() else '/tmp'
+-)
++SYS_TMP_DIR = os.environ.get('TMPDIR', tempfile.gettempdir()) if not salt.utils.is_darwin() else '/tmp'
+ TMP = os.path.join(SYS_TMP_DIR, 'salt-tests-tmpdir')
+ FILES = os.path.join(INTEGRATION_TEST_DIR, 'files')
+ PYEXEC = 'python{0}.{1}'.format(*sys.version_info)

diff --git a/app-admin/salt/salt-2016.3.1.ebuild b/app-admin/salt/salt-2016.3.1.ebuild
new file mode 100644
index 0000000..3df29d3
--- /dev/null
+++ b/app-admin/salt/salt-2016.3.1.ebuild
@@ -0,0 +1,141 @@
+# 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 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}]
+		!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.1-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/, app-admin/salt/files/
@ 2016-12-01  1:16 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2016-12-01  1:16 UTC (permalink / raw
  To: gentoo-commits

commit:     ac688fa8d36626f5a8482ba4af26531546eadc68
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Dec  1 01:12:13 2016 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Dec  1 01:15:44 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac688fa8

app-admin/salt: Version bump to 2016.3.4

Package-Manager: portage-2.3.2

 app-admin/salt/Manifest                            |   1 +
 .../files/salt-2016.3.4-dont-test-ordering.patch   |  33 +++++
 .../files/salt-2016.3.4-test-nonexist-dirs.patch   |  32 +++++
 app-admin/salt/salt-2016.3.4.ebuild                | 143 +++++++++++++++++++++
 4 files changed, 209 insertions(+)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 2d46956..19789c7 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -6,3 +6,4 @@ DIST salt-2015.8.8.tar.gz 6982904 SHA256 b2ecce7bf562cfcd6586d66ade278f268bb8902
 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
+DIST salt-2016.3.4.tar.gz 8354090 SHA256 5d4c822719d7fb2d79b0103cd9b015d251300890f8aa174e16b73fcfd6eb22f9 SHA512 ca17c5607d23d09e95fb4b6afbcf1b4f0be6bab47ff3eee883c1464e13b5271b71f0e7bedfa8afe05f32bf3a0a6f4050a91afb9285b52aa0f3da6105221397e0 WHIRLPOOL 95347b1f8447e8701074727430ef0a232e92aa9e961451c445890552c6d9533569e470dfa4864f673c6c3b3eccb16ec9c3615cfcab6d29e74756861afe43fcac

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
new file mode 100644
index 00000000..c272275
--- /dev/null
+++ b/app-admin/salt/files/salt-2016.3.4-dont-test-ordering.patch
@@ -0,0 +1,33 @@
+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.4-test-nonexist-dirs.patch b/app-admin/salt/files/salt-2016.3.4-test-nonexist-dirs.patch
new file mode 100644
index 00000000..dd542d6
--- /dev/null
+++ b/app-admin/salt/files/salt-2016.3.4-test-nonexist-dirs.patch
@@ -0,0 +1,32 @@
+diff --git a/tests/unit/conf_test.py b/tests/unit/conf_test.py
+index cce0023423..c1324f4a61 100644
+--- a/tests/unit/conf_test.py
++++ b/tests/unit/conf_test.py
+@@ -140,6 +140,8 @@ class ConfTest(TestCase):
+         commented out. This test loops through all of the files in that directory to check
+         for any lines that are not commented or blank.
+         '''
++        if not os.path.exists(SAMPLE_CONF_DIR + 'cloud.profiles.d/'):
++            return
+         cloud_sample_files = os.listdir(SAMPLE_CONF_DIR + 'cloud.profiles.d/')
+         for conf_file in cloud_sample_files:
+             profile_conf = SAMPLE_CONF_DIR + 'cloud.profiles.d/' + conf_file
+@@ -158,6 +160,8 @@ class ConfTest(TestCase):
+         commented out. This test loops through all of the files in that directory to check
+         for any lines that are not commented or blank.
+         '''
++        if not os.path.exists(SAMPLE_CONF_DIR + 'cloud.providers.d/'):
++            return
+         cloud_sample_files = os.listdir(SAMPLE_CONF_DIR + 'cloud.providers.d/')
+         for conf_file in cloud_sample_files:
+             provider_conf = SAMPLE_CONF_DIR + 'cloud.providers.d/' + conf_file
+@@ -176,6 +180,9 @@ class ConfTest(TestCase):
+         commented out. This test loops through all of the files in that directory to check
+         for any lines that are not commented or blank.
+         '''
++        if not os.path.exists(SAMPLE_CONF_DIR + 'cloud.maps.d/'):
++            return
++
+         cloud_sample_files = os.listdir(SAMPLE_CONF_DIR + 'cloud.maps.d/')
+         for conf_file in cloud_sample_files:
+             map_conf = SAMPLE_CONF_DIR + 'cloud.maps.d/' + conf_file

diff --git a/app-admin/salt/salt-2016.3.4.ebuild b/app-admin/salt/salt-2016.3.4.ebuild
new file mode 100644
index 00000000..14593b8
--- /dev/null
+++ b/app-admin/salt/salt-2016.3.4.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.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/, app-admin/salt/files/
@ 2016-12-01  1:16 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2016-12-01  1:16 UTC (permalink / raw
  To: gentoo-commits

commit:     2052d39b3d9ad15e6ca0b4f29c6858517fee08ca
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Dec  1 01:15:33 2016 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Dec  1 01:15:46 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2052d39b

app-admin/salt: Remove old versions

Package-Manager: portage-2.3.2

 app-admin/salt/Manifest                            |   6 -
 .../salt/files/salt-2016.3.1-broken-tests.patch    | 221 ---------------------
 .../salt/files/salt-2016.3.2-broken-tests.patch    | 109 ----------
 .../salt/files/salt-2016.3.3-broken-tests.patch    |  56 ------
 app-admin/salt/salt-2015.8.10.ebuild               | 135 -------------
 app-admin/salt/salt-2015.8.11.ebuild               | 135 -------------
 app-admin/salt/salt-2015.8.8.ebuild                | 133 -------------
 app-admin/salt/salt-2016.3.1.ebuild                | 142 -------------
 app-admin/salt/salt-2016.3.2.ebuild                | 142 -------------
 app-admin/salt/salt-2016.3.3.ebuild                | 143 -------------
 10 files changed, 1222 deletions(-)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 19789c7..ab86693 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,9 +1,3 @@
 DIST salt-2015.5.10.tar.gz 5693422 SHA256 863a96e70f8521af35fe11b10d25b3205a0bfbba9a8aee02e2842aa7106496fd SHA512 78a4cbe5c771208e957360689a25ae4e44566987e07e7fda54e6db9028485eacc6ad016c65c981090f9b5d95331e46048a094aecc27703b3956c06ab6ebad95d WHIRLPOOL 805b48df07707d85d8338251f26c72164a5421731fc11f5c933b72af97348a2f11ee35889f72ec032acbea275e98575d35786b56fd84a7917f8fdbc30567ae86
-DIST salt-2015.8.10.tar.gz 6972776 SHA256 4a81273ab4b01e0f1d29b28ab99a16eb94e5c430107b05491c94f3baf8b95c99 SHA512 e00eb6535defd883ed789b4b27fae020a8225cd1a3dd05cfa92d6320a4fe6930ecddf9914a572f64715656126107d61920d1b989451caa7ccdb28d969c41c64c WHIRLPOOL fa6beaee47c604cc1398ed803662dbd340cf9ab20664af6c903d7376abd3253522798c73c83b0c5b00f0db72fb4be20dae074c6d6fdd39026485f5050f108b2a
-DIST salt-2015.8.11.tar.gz 7083841 SHA256 7b38ab7433e67785ff231cfd604bc36652f4088f8b93e64d627e74242f4099d7 SHA512 0af029b30525a5be4ffa64ea33b4368b59a9ad64fe4f6cba3af1cf03b53e1c1e0e0fe50371c7e4762a0c3bcbefa7855b6f0b79702f3b146001a2b5484f1731f9 WHIRLPOOL 23af490fa47b84843cb36367aa76698f989e767c044477d0cfad22222f24a9b11c76de0617f4c4859b41094e2bedc4f6b2be331055c95bcd8327ca36e9878d6c
 DIST salt-2015.8.12.tar.gz 7033938 SHA256 712f72b30a9555ea46a51bc677e05ffa2eefaeefa6b48d4f7ae45dbcb1073c69 SHA512 8ce940a413c740bd82c6c96103d48b376a47cb8161a5d72ece3f4bf6b39134bd722787a427249726dc137064d032fa913c7f6c6db22d0808ba1a829d4f25e9ec WHIRLPOOL 723660eac1346c3ba29b88c7db1a4485a194aebbdf33ea6dc411c420059767a3feb5c863941d772b504cede4a78a57e3ce696601872d21d29f4def373db697d4
-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
 DIST salt-2016.3.4.tar.gz 8354090 SHA256 5d4c822719d7fb2d79b0103cd9b015d251300890f8aa174e16b73fcfd6eb22f9 SHA512 ca17c5607d23d09e95fb4b6afbcf1b4f0be6bab47ff3eee883c1464e13b5271b71f0e7bedfa8afe05f32bf3a0a6f4050a91afb9285b52aa0f3da6105221397e0 WHIRLPOOL 95347b1f8447e8701074727430ef0a232e92aa9e961451c445890552c6d9533569e470dfa4864f673c6c3b3eccb16ec9c3615cfcab6d29e74756861afe43fcac

diff --git a/app-admin/salt/files/salt-2016.3.1-broken-tests.patch b/app-admin/salt/files/salt-2016.3.1-broken-tests.patch
deleted file mode 100644
index bb4b341..00000000
--- a/app-admin/salt/files/salt-2016.3.1-broken-tests.patch
+++ /dev/null
@@ -1,221 +0,0 @@
-diff --git a/tests/unit/auth_test.py b/tests/unit/auth_test.py
-index 84e8699..5acd6c9 100644
---- a/tests/unit/auth_test.py
-+++ b/tests/unit/auth_test.py
-@@ -50,22 +50,6 @@ class LoadAuthTestCase(TestCase):
-             ret = self.lauth.load_name(valid_eauth_load)
-             format_call_mock.assert_has_calls((expected_ret,), any_order=True)
- 
--    def test_get_groups(self):
--        valid_eauth_load = {'username': 'test_user',
--                            'show_timeout': False,
--                            'test_password': '',
--                            'eauth': 'pam'}
--        with patch('salt.utils.format_call') as format_call_mock:
--            expected_ret = call('fake_groups_function_str', {
--                'username': 'test_user',
--                'test_password': '',
--                'show_timeout': False,
--                'eauth': 'pam'
--                }, expected_extra_kws=auth.AUTH_INTERNAL_KEYWORDS)
--            self.lauth.get_groups(valid_eauth_load)
--            format_call_mock.assert_has_calls((expected_ret,), any_order=True)
--
--
- @patch('zmq.Context', MagicMock())
- @patch('salt.payload.Serial.dumps', MagicMock())
- @patch('salt.master.tagify', MagicMock())
-diff --git a/tests/unit/modules/boto_secgroup_test.py b/tests/unit/modules/boto_secgroup_test.py
-index cc88568..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), ('tags', {}),
--                                                 ('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/tests/unit/modules/cron_test.py b/tests/unit/modules/cron_test.py
-index fd9b62d..8445471 100644
---- a/tests/unit/modules/cron_test.py
-+++ b/tests/unit/modules/cron_test.py
-@@ -630,16 +630,6 @@ class PsTestCase(TestCase):
-     def test_list_tab(self):
-         self.assertDictEqual(STUB_SIMPLE_CRON_DICT, cron.list_tab('DUMMY_USER'))
- 
--    @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',
--                                   ['5 0 * * * /tmp/no_script.sh\n',
--                                    '# Lines below here are managed by Salt, do not edit\n',
--                                    '@hourly echo Hi!\n'])
--        ret = cron.set_special('DUMMY_USER', '@hourly', 'echo Hi!')
--        write_cron_lines_mock.assert_has_calls((expected_write_call,), any_order=True)
--
-     def test__get_cron_date_time(self):
-         ret = cron._get_cron_date_time(minute=STUB_CRON_TIMESTAMP['minute'],
-                                     hour=STUB_CRON_TIMESTAMP['hour'],
-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 9c4ad6f..bf00c8e 100644
---- a/tests/unit/modules/mount_test.py
-+++ b/tests/unit/modules/mount_test.py
-@@ -102,23 +102,6 @@ class MountTestCase(TestCase):
-                                                        'opts': ['D', 'E', 'F'],
-                                                        'pass': 'H'}})
- 
--    def test_rm_fstab(self):
--        '''
--        Remove the mount point from the fstab
--        '''
--        mock_fstab = MagicMock(return_value={})
--        with patch.object(mount, 'fstab', mock_fstab):
--            with patch('salt.utils.fopen', mock_open()):
--                self.assertTrue(mount.rm_fstab('name', 'device'))
--
--        mock_fstab = MagicMock(return_value={'name': 'name'})
--        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,
-@@ -143,22 +126,6 @@ class MountTestCase(TestCase):
-                        mock_open(read_data=MOCK_SHELL_FILE)):
-                 self.assertEqual(mount.set_fstab('A', 'B', 'C'), 'new')
- 
--    def test_rm_automaster(self):
--        '''
--        Remove the mount point from the auto_master
--        '''
--        mock = MagicMock(return_value={})
--        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..249efcb 100644
---- a/tests/unit/modules/puppet_test.py
-+++ b/tests/unit/modules/puppet_test.py
-@@ -72,24 +72,6 @@ class PuppetTestCase(TestCase):
- 
-             self.assertFalse(puppet.enable())
- 
--    def test_disable(self):
--        '''
--            Test to disable the puppet agent
--        '''
--        mock_lst = MagicMock(return_value=[])
--        with patch.dict(puppet.__salt__, {'cmd.run': mock_lst}):
--            mock = MagicMock(side_effect=[True, False])
--            with patch.object(os.path, 'isfile', mock):
--                self.assertFalse(puppet.disable())
--
--                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 +126,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/files/salt-2016.3.2-broken-tests.patch b/app-admin/salt/files/salt-2016.3.2-broken-tests.patch
deleted file mode 100644
index 3f10611..00000000
--- a/app-admin/salt/files/salt-2016.3.2-broken-tests.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-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/files/salt-2016.3.3-broken-tests.patch b/app-admin/salt/files/salt-2016.3.3-broken-tests.patch
deleted file mode 100644
index 8260f34..00000000
--- a/app-admin/salt/files/salt-2016.3.3-broken-tests.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-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-2015.8.10.ebuild b/app-admin/salt/salt-2015.8.10.ebuild
deleted file mode 100644
index 92e22af..00000000
--- a/app-admin/salt/salt-2015.8.10.ebuild
+++ /dev/null
@@ -1,135 +0,0 @@
-# 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 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"
-)
-
-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"
-}

diff --git a/app-admin/salt/salt-2015.8.11.ebuild b/app-admin/salt/salt-2015.8.11.ebuild
deleted file mode 100644
index 92e22af..00000000
--- a/app-admin/salt/salt-2015.8.11.ebuild
+++ /dev/null
@@ -1,135 +0,0 @@
-# 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 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"
-)
-
-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"
-}

diff --git a/app-admin/salt/salt-2015.8.8.ebuild b/app-admin/salt/salt-2015.8.8.ebuild
deleted file mode 100644
index a8bc200..00000000
--- a/app-admin/salt/salt-2015.8.8.ebuild
+++ /dev/null
@@ -1,133 +0,0 @@
-# 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"
-)
-
-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"
-}

diff --git a/app-admin/salt/salt-2016.3.1.ebuild b/app-admin/salt/salt-2016.3.1.ebuild
deleted file mode 100644
index 2875dbc..00000000
--- a/app-admin/salt/salt-2016.3.1.ebuild
+++ /dev/null
@@ -1,142 +0,0 @@
-# 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.1-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"
-}

diff --git a/app-admin/salt/salt-2016.3.2.ebuild b/app-admin/salt/salt-2016.3.2.ebuild
deleted file mode 100644
index 3528998..00000000
--- a/app-admin/salt/salt-2016.3.2.ebuild
+++ /dev/null
@@ -1,142 +0,0 @@
-# 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"
-}

diff --git a/app-admin/salt/salt-2016.3.3.ebuild b/app-admin/salt/salt-2016.3.3.ebuild
deleted file mode 100644
index ba64cbc..00000000
--- a/app-admin/salt/salt-2016.3.3.ebuild
+++ /dev/null
@@ -1,143 +0,0 @@
-# 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 || 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/, app-admin/salt/files/
@ 2017-08-01  1:28 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2017-08-01  1:28 UTC (permalink / raw
  To: gentoo-commits

commit:     12b98a9257d9dd65e76edc87a40d4dc6e8ad303d
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Aug  1 01:28:09 2017 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Aug  1 01:28:09 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=12b98a92

app-admin/salt: Version bump to 2017.7.0

Package-Manager: Portage-2.3.6, Repoman-2.3.3

 app-admin/salt/Manifest                            |   1 +
 .../files/salt-2017.7.0-dont-realpath-tmpdir.patch |  19 +++
 app-admin/salt/salt-2017.7.0.ebuild                | 138 +++++++++++++++++++++
 3 files changed, 158 insertions(+)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 743950ce7d9..4b37df70080 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -4,3 +4,4 @@ DIST salt-2016.11.4.tar.gz 9360198 SHA256 fb4109b28d3fd898291c162e42ef843fbd4c3e
 DIST salt-2016.11.5.tar.gz 9246550 SHA256 b81427a4a3e47a98726f948bdc16a5b6b366f93fdac0b2c817e8f87d9036f8be SHA512 9afb40dbd3a508eacc43500566660763e2b219817d7de25ccf2d61d7f74b857238922ea40cc4c6372fd520bc6f524d84fb0a2d65f9890bedd79d0fc6c177edf9 WHIRLPOOL 684c8f147fbe38928b3f7510e704654270fcc4aacdf81c4f3b90a9f275566a2b8cf2155aff223d3ead2740d79e479d10cf233b4386b8e76ddb7b481f3471ebb6
 DIST salt-2016.11.6.tar.gz 9410028 SHA256 9031af68d31d0416fe3161526ef122a763afc6182bd63fe48b6c4d0a16a0703a SHA512 8b375eeaf8380c750700ae9b500e012f0b8ae281c8b5aa68d3443393a5bb7dd46612f2aeb3ba01719dd28d9e128dc88f1faa8023f5f5e7ff684a1f0483c30120 WHIRLPOOL c74aa93b60851a4978746fd0fe60f4fcbe0e8bb447cb19fcd3eede9d5880ef3ece96b2d9dc4cab4d8f09f08ce9ad2fd9d4bb63c295aefcf25b178e4c3c77d992
 DIST salt-2016.3.6.tar.gz 8432840 SHA256 4cc45f48255b7e46631807b071674552872c322ab77f398c9beefbf14d6a212f SHA512 949d70504310cd88139c520812a870e4c68e6b0c7ec6decfd157283994d6be659e7823a4453d1b6464c24fc762bc9ba61d4f6a767c4d6f65e496c7f5b6589a8d WHIRLPOOL 3d5abdbe0e297cbfc1b0f7fce0d6959132bbe917abc80ad7bb368a2ec657c0c0019123a22558c3fbdec489cb20430243ff837658d55da6755a07d4ec4d35158c
+DIST salt-2017.7.0.tar.gz 11399842 SHA256 aaf45f8dcf95a20b56072e620100432d058ab297210c4902dc90e197b236b064 SHA512 21d8350413ad6a262d4c19c4cb3cbd4bc718f411bab49141626729b659c1ee72340542b342ec0fb012cb11c313bd56ec6534416d2128ae548ed8950affb6c834 WHIRLPOOL e9716b689069c79922c9e47d430ed16efc8adb9ba528202cfc86d00a39e746b3723e12f2f6abf443a8ae5adb64d81bbd916e395973ddf6639dcbc32d589b6881

diff --git a/app-admin/salt/files/salt-2017.7.0-dont-realpath-tmpdir.patch b/app-admin/salt/files/salt-2017.7.0-dont-realpath-tmpdir.patch
new file mode 100644
index 00000000000..90a48a66299
--- /dev/null
+++ b/app-admin/salt/files/salt-2017.7.0-dont-realpath-tmpdir.patch
@@ -0,0 +1,19 @@
+diff --git a/tests/support/paths.py b/tests/support/paths.py
+index da93c8e1e3..895c636fef 100644
+--- a/tests/support/paths.py
++++ b/tests/support/paths.py
+@@ -40,12 +40,12 @@ if CODE_DIR not in sys.path:
+ if TESTS_DIR not in sys.path:
+     sys.path.insert(1, TESTS_DIR)
+ 
+-SYS_TMP_DIR = os.path.abspath(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}
+     os.environ.get('TMPDIR', tempfile.gettempdir()) if not sys.platform.startswith('darwin') else '/tmp'
+-))
++)
+ TMP = os.path.join(SYS_TMP_DIR, 'salt-tests-tmpdir')
+ FILES = os.path.join(INTEGRATION_TEST_DIR, 'files')
+ PYEXEC = 'python{0}.{1}'.format(*sys.version_info)

diff --git a/app-admin/salt/salt-2017.7.0.ebuild b/app-admin/salt/salt-2017.7.0.ebuild
new file mode 100644
index 00000000000..327efb8b298
--- /dev/null
+++ b/app-admin/salt/salt-2017.7.0.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2017 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"
+)
+
+python_prepare() {
+	rm tests/unit/{test_zypp_plugins.py,utils/test_extend.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 || 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/, app-admin/salt/files/
@ 2017-08-15 17:17 Manuel Rüger
  0 siblings, 0 replies; 35+ messages in thread
From: Manuel Rüger @ 2017-08-15 17:17 UTC (permalink / raw
  To: gentoo-commits

commit:     aa053bca0804c086700570dec17cd10c4169f70d
Author:     Manuel Rüger <mrueg <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 15 17:16:54 2017 +0000
Commit:     Manuel Rüger <mrueg <AT> gentoo <DOT> org>
CommitDate: Tue Aug 15 17:16:54 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa053bca

app-admin/salt: Apply fix for bug #627928 to 2015.8.13 as well

Package-Manager: Portage-2.3.7, Repoman-2.3.3

 .../salt-2015.8.13-sanitize-minion-name.patch      |  36 ++++++
 app-admin/salt/salt-2015.8.13-r1.ebuild            | 141 +++++++++++++++++++++
 2 files changed, 177 insertions(+)

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
new file mode 100644
index 00000000000..6ede1399072
--- /dev/null
+++ b/app-admin/salt/files/salt-2015.8.13-sanitize-minion-name.patch
@@ -0,0 +1,36 @@
+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
+@@ -480,12 +480,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, TypeError) as e:
+         return False
+ 

diff --git a/app-admin/salt/salt-2015.8.13-r1.ebuild b/app-admin/salt/salt-2015.8.13-r1.ebuild
new file mode 100644
index 00000000000..ed02341af26
--- /dev/null
+++ b/app-admin/salt/salt-2015.8.13-r1.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+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}]
+		>=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"
+	"${FILESDIR}/${PN}-2015.8.13-sanitize-minion-name.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/, app-admin/salt/files/
@ 2017-12-05 21:44 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2017-12-05 21:44 UTC (permalink / raw
  To: gentoo-commits

commit:     82ff86c108c463d7ed0afd8b9c4d4b103512df6a
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Dec  5 21:43:49 2017 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Dec  5 21:43:49 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=82ff86c1

app-admin/salt: Revision bump to 2017.7.2-r1 to fix bug #634464

Closes: https://bugs.gentoo.org/634464
Package-Manager: Portage-2.3.16, Repoman-2.3.6

 app-admin/salt/Manifest                            |   2 +-
 .../salt/files/salt-2017.7.2-fix_disk_format.patch |  48 +++++++
 app-admin/salt/salt-2017.7.2-r1.ebuild             | 141 +++++++++++++++++++++
 3 files changed, 190 insertions(+), 1 deletion(-)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index dd97ba3c386..94ad6a20fd8 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -2,4 +2,4 @@ DIST salt-2015.5.10.tar.gz 5693422 SHA256 863a96e70f8521af35fe11b10d25b3205a0bfb
 DIST salt-2015.8.13.tar.gz 7036243 SHA256 cca82c9a4f267692660b098c1f76e54ab6a24131391893719bde0eb3a1ed2959 SHA512 ec8626f7360542bfeea90fc3d6fd9d9d015da4c2a6adf9957c22501ed9531b0a44d2cbc4853c41856b4cd46c142d2441884ec99700f3c0a5310cc428f9f1ec2a WHIRLPOOL c21f3bdc5fd674ea664c7e8fd58ef6685328a6ee3679850f3e9a085b1e604e1224a3323b906b47075fb8dd39f373583fb549e7b0f3f725d44928bcf716955a10
 DIST salt-2016.11.8.tar.gz 10142142 SHA256 e75f4178465d9198fcd5822643460c94d63de6221316367d5b85356ef8b1994a SHA512 0adc544ca460d13d2adb11b04575bd079a3dad1be3468bea7d32d0b74416b78546e4c86c75551bba09786be8e9810a6e30232414c4f5851cbc9a0fb4b894e0de WHIRLPOOL aa2ba8a4afbdd412e133364b4b034b7a34cb5af43fcbed929451624444440a07b143977ecf1db5cfcbbd53c98aedc15dae5ab8c246e48ab3b7c1053d30054b66
 DIST salt-2016.3.8.tar.gz 8519835 SHA256 9558379a11882348c1299ca094b638feb6bdf8f0d443d2055a71d0c9a52427e3 SHA512 bba41d4c70e278aa7196d292fb27b926dce32f4cc67c5b23b6c219ad59178b1a8b26e8adeb3a7bd587c25cc1c8ff36a207ea2a2f68d13d64f37a34f96f35ecd1 WHIRLPOOL 14e18eabd1287f05b0387455890f31c030ce6c84c831a12d0c691f76a3181dba0d3c12a15935c0f786c02fe6887d17a0fad492356814166c23865e3f98831f44
-DIST salt-2017.7.2.tar.gz 11471191 SHA256 ff3bc7de5abf01b8acbd144db5811b00867179b2353f5c6f7f19241e2eff2840 SHA512 959cec404f0fa7c00f78427cba902b8b9c2c0d95016fc70925d8da6d0b97a0284fc034ac92a5c5c313763db4fdcbd1b0391318596b77fe8e0cd1c7e4b3fa928b WHIRLPOOL 85e6ae3ba1a5b7c1e3e8546daec6ceb4ec60fb915409dd8000298b394b933f24a4b1d5740ebe230930bf8de76e7934d1ae3c919a058fdf6bf60638c260e6a585
+DIST salt-2017.7.2.tar.gz 11471191 BLAKE2B 0b7184eb4dcb29f2a9603117d1c6fb9c729093c1ff11e18370929ec3fdbfe7bf8c0914f17260c3f613842c23359205a4a84d3e0bcd67476705e50f805bcd7b69 SHA512 959cec404f0fa7c00f78427cba902b8b9c2c0d95016fc70925d8da6d0b97a0284fc034ac92a5c5c313763db4fdcbd1b0391318596b77fe8e0cd1c7e4b3fa928b

diff --git a/app-admin/salt/files/salt-2017.7.2-fix_disk_format.patch b/app-admin/salt/files/salt-2017.7.2-fix_disk_format.patch
new file mode 100644
index 00000000000..9e58d93f7dd
--- /dev/null
+++ b/app-admin/salt/files/salt-2017.7.2-fix_disk_format.patch
@@ -0,0 +1,48 @@
+From 18fb0be96a146589ccbd642caa9244480c51140b Mon Sep 17 00:00:00 2001
+From: Matthew Summers <msummers42@gmail.com>
+Date: Mon, 9 Oct 2017 20:38:52 -0500
+Subject: [PATCH 1/2] addresses issue #43307, disk.format_ to disk.format
+
+This change fixes breakage. It appears the disk.format_ func is
+aliased to disk.format in modules/disk.py
+---
+ salt/states/blockdev.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/salt/states/blockdev.py b/salt/states/blockdev.py
+index 4b0dc5ca81d..e6ecfeab3f1 100644
+--- a/salt/states/blockdev.py
++++ b/salt/states/blockdev.py
+@@ -159,7 +159,7 @@ def formatted(name, fs_type='ext4', force=False, **kwargs):
+         ret['result'] = None
+         return ret
+ 
+-    __salt__['disk.format_'](name, fs_type, force=force, **kwargs)
++    __salt__['disk.format'](name, fs_type, force=force, **kwargs)
+ 
+     # Repeat fstype check up to 10 times with 3s sleeping between each
+     # to avoid detection failing although mkfs has succeeded
+
+From 16e1c1dfc86920b7a00dbf7c39b805c359e4d13b Mon Sep 17 00:00:00 2001
+From: Matthew Summers <matthew.summers@syapse.com>
+Date: Mon, 16 Oct 2017 09:47:40 -0500
+Subject: [PATCH 2/2] fixed test addressing issue #43307, disk.format_ to
+ disk.format
+
+---
+ tests/unit/states/test_blockdev.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/unit/states/test_blockdev.py b/tests/unit/states/test_blockdev.py
+index e5899f1c70a..9b559dddfe5 100644
+--- a/tests/unit/states/test_blockdev.py
++++ b/tests/unit/states/test_blockdev.py
+@@ -100,7 +100,7 @@ def test_formatted(self):
+ 
+             # Test state return when block device format fails
+             with patch.dict(blockdev.__salt__, {'cmd.run': MagicMock(return_value=mock_ext4),
+-                                                'disk.format_': MagicMock(return_value=True)}):
++                                                'disk.format': MagicMock(return_value=True)}):
+                 comt = ('Failed to format {0}'.format(name))
+                 ret.update({'comment': comt, 'result': False})
+                 with patch.object(salt.utils, 'which',

diff --git a/app-admin/salt/salt-2017.7.2-r1.ebuild b/app-admin/salt/salt-2017.7.2-r1.ebuild
new file mode 100644
index 00000000000..88f1dd3f811
--- /dev/null
+++ b/app-admin/salt/salt-2017.7.2-r1.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2017 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
+}
+
+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/, app-admin/salt/files/
@ 2018-10-24 23:02 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2018-10-24 23:02 UTC (permalink / raw
  To: gentoo-commits

commit:     9fb2ad3eddd80634ff623c9b9d6ae3a9499e55a6
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Oct 24 20:36:12 2018 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Oct 24 22:59:00 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9fb2ad3e

app-admin/salt: Version bump to 2017.7.8

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11

 app-admin/salt/Manifest                            |  2 +-
 ...7.7.3-tests.patch => salt-2017.7.8-tests.patch} | 24 +++++++++++++---------
 .../{salt-2017.7.7.ebuild => salt-2017.7.8.ebuild} |  6 +++---
 3 files changed, 18 insertions(+), 14 deletions(-)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 011dcc86542..07da69d6b1b 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,3 +1,3 @@
 DIST salt-2016.11.10.tar.gz 10058200 BLAKE2B 4b6a42f6bf56421bc19458686ec23a1f945ceeb68b4ce7059fde036ba98d677fc8b61cb0f0c6ab249304b2f07d1b0250f6b91e7c443e12868649bf88f4d44d43 SHA512 e767e2c4c20e3a49a748b2699e4c640610280c0ba1c5955d94daffc7c36991ee632f02a50e338c65b35da146e234c36cc732214174b9bc5cbd62316b9ee40c28
-DIST salt-2017.7.7.tar.gz 11131480 BLAKE2B ea01c8894433cf96697c830d58184bfefca52dcd1be9b1c398270acc229886eeb41edf83d1498fc500f23209fc4e56ba8471da88383bd4c1a9338262423477fb SHA512 01cba364e2dcb5021b2b3b738462645c84332bbf31c0fa82f017fc583a097dccde308fd86be54d2b429921f34c89a4a40b942385c3bc139eb11753d155664063
+DIST salt-2017.7.8.tar.gz 12060430 BLAKE2B b2dde1b6f43bbb9b9db29b70dfd57591ae0e490e35ec7f4895b68b444ff77f9e997321d73697f791d345756abf451f11891b5f78a97c537c35dfe8bd24c43bbc SHA512 1e5123ee3dc194a33cf5da1e68a0419230b2b4eea26e7f66bf2d64754f0dbef9012abfbd498015f6b675725e580d72abf13c151b106639597337498b1fd42238
 DIST salt-2018.3.2.tar.gz 12996445 BLAKE2B 8411fb0891e23ce8e35157662a0a45c0c5b13b62f3fd21cc4bbe5152f923a98b27cb5bee4fb8cb3e6ec5c9daed1afa27baf4b570b94f9f40eddc0891f72829e9 SHA512 142ebe13638d7e6dd0aecc9f0325002d30e115fe8688f5f74cbeb7ff21020327d65ded0dcd845e55362b97568b696887fa22243d66d5eadef65f97152d4775d3

diff --git a/app-admin/salt/files/salt-2017.7.3-tests.patch b/app-admin/salt/files/salt-2017.7.8-tests.patch
similarity index 80%
rename from app-admin/salt/files/salt-2017.7.3-tests.patch
rename to app-admin/salt/files/salt-2017.7.8-tests.patch
index 9399bf87334..e428108c461 100644
--- a/app-admin/salt/files/salt-2017.7.3-tests.patch
+++ b/app-admin/salt/files/salt-2017.7.8-tests.patch
@@ -1,25 +1,29 @@
 diff --git a/tests/unit/fileserver/test_roots.py b/tests/unit/fileserver/test_roots.py
-index cc9c8dbce9..a50a240c25 100644
+index 23f3b26874..bf0b55c385 100644
 --- a/tests/unit/fileserver/test_roots.py
 +++ b/tests/unit/fileserver/test_roots.py
-@@ -164,12 +164,6 @@ class RootsTest(TestCase, AdaptedConfigurationTestCaseMixin, LoaderModuleMockMix
+@@ -173,16 +173,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'})
--
+-        orig_file_roots = self.opts['file_roots']
+-        try:
+-            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'})
+-        finally:
+-            if self.test_symlink_list_file_roots:
+-                self.opts['file_roots'] = orig_file_roots
  
- class RootsLimitTraversalTest(TestCase, AdaptedConfigurationTestCaseMixin):
  
+ 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
+index c2a86d9e5e..421cab9b52 100644
 --- a/tests/unit/modules/test_inspect_collector.py
 +++ b/tests/unit/modules/test_inspect_collector.py
-@@ -59,44 +59,6 @@ class InspectorCollectorTestCase(TestCase):
+@@ -61,44 +61,6 @@ class InspectorCollectorTestCase(TestCase):
              inspector.pidfile,
              os.sep + os.sep.join(['foo', 'pid', 'bar.pid']))
  

diff --git a/app-admin/salt/salt-2017.7.7.ebuild b/app-admin/salt/salt-2017.7.8.ebuild
similarity index 97%
rename from app-admin/salt/salt-2017.7.7.ebuild
rename to app-admin/salt/salt-2017.7.8.ebuild
index bb76353c1a4..af04cbe98e2 100644
--- a/app-admin/salt/salt-2017.7.7.ebuild
+++ b/app-admin/salt/salt-2017.7.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -17,7 +17,7 @@ if [[ ${PV} == 9999* ]]; then
 	KEYWORDS=""
 else
 	SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-	KEYWORDS="~x86 ~amd64"
+	KEYWORDS="~amd64 ~x86"
 fi
 
 LICENSE="Apache-2.0"
@@ -94,7 +94,7 @@ RESTRICT="x86? ( test )"
 
 PATCHES=(
 	"${FILESDIR}/${PN}-2017.7.0-dont-realpath-tmpdir.patch"
-	"${FILESDIR}/${PN}-2017.7.3-tests.patch"
+	"${FILESDIR}/${PN}-2017.7.8-tests.patch"
 )
 
 python_prepare() {


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/, app-admin/salt/files/
@ 2019-02-27 21:40 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2019-02-27 21:40 UTC (permalink / raw
  To: gentoo-commits

commit:     2a52395d64188e230da2db88bcc7a9028b27a07b
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Feb 27 21:40:05 2019 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Feb 27 21:40:05 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a52395d

app-admin/salt: Version bump to 2018.3.4

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                            |  2 +-
 app-admin/salt/files/salt-2018.3.4-tests.patch     | 76 ++++++++++++++++++++++
 .../{salt-2018.3.3.ebuild => salt-2018.3.4.ebuild} |  4 +-
 3 files changed, 79 insertions(+), 3 deletions(-)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 042f649e584..1ade6a74b5a 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,3 +1,3 @@
 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.3.tar.gz 13953724 BLAKE2B 353f4ee23747f02200116157823b038fc8d361fb88f5f531a147d6c81497ba3f6cebf5a5abf4ac7f81199439bbf8a9cc46e03cdd76bfbb3c39f2b31a6158ca5c SHA512 f00ed83d5ec9d4767d7215fae8569ec560db61a0c8ded17469026e682e367c19811d33c6c53590a275ee24ad897a0eac09d8fde8ae9320d8706d6459ff3cc6da
+DIST salt-2018.3.4.tar.gz 14404085 BLAKE2B 932b30b1ba60aefd3a6874a8ebe4cb6c469d82e31f6acdbe8a5641d09e3316796b5403ef803a355cec6255c1aede8bac3b66af179bd1bbaa5418c7076229cef9 SHA512 f17e06fdbf4741f231d9e769be57de4f6079e9283881b4bafa0d23928d7626a1f9c02b9f49c654b29c3e6ee8ed3d3ddf42c21baecef158ad63a97dc87895b21b

diff --git a/app-admin/salt/files/salt-2018.3.4-tests.patch b/app-admin/salt/files/salt-2018.3.4-tests.patch
new file mode 100644
index 00000000000..ac3dbb84534
--- /dev/null
+++ b/app-admin/salt/files/salt-2018.3.4-tests.patch
@@ -0,0 +1,76 @@
+diff --git a/tests/unit/grains/test_core.py b/tests/unit/grains/test_core.py
+index 3874b0001c..40304075eb 100644
+--- a/tests/unit/grains/test_core.py
++++ b/tests/unit/grains/test_core.py
+@@ -685,22 +685,6 @@ class CoreGrainsTestCase(TestCase, LoaderModuleMockMixin):
+                                 'Docker'
+                             )
+ 
+-    @skipIf(salt.utils.platform.is_windows(), 'System is Windows')
+-    def test_xen_virtual(self):
+-        '''
+-        Test if OS grains are parsed correctly in Ubuntu Xenial Xerus
+-        '''
+-        with patch.object(os.path, 'isfile', MagicMock(return_value=False)):
+-            with patch.dict(core.__salt__, {'cmd.run': MagicMock(return_value='')}), \
+-                patch.object(os.path,
+-                             'isfile',
+-                             MagicMock(side_effect=lambda x: True if x == '/sys/bus/xen/drivers/xenconsole' else False)):
+-                log.debug('Testing Xen')
+-                self.assertEqual(
+-                    core._virtual({'kernel': 'Linux'}).get('virtual_subtype'),
+-                    'Xen PV DomU'
+-                )
+-
+     def _check_ipaddress(self, value, ip_v):
+         '''
+         check if ip address in a list is valid
+diff --git a/tests/unit/utils/test_asynchronous.py b/tests/unit/utils/test_asynchronous.py
+index 694a7aebfe..9e22c278e9 100644
+--- a/tests/unit/utils/test_asynchronous.py
++++ b/tests/unit/utils/test_asynchronous.py
+@@ -35,19 +35,6 @@ class HelperB(object):
+ 
+ 
+ class TestSyncWrapper(AsyncTestCase):
+-    @tornado.testing.gen_test
+-    def test_helpers(self):
+-        '''
+-        Test that the helper classes do what we expect within a regular asynchronous env
+-        '''
+-        ha = HelperA()
+-        ret = yield ha.sleep()
+-        self.assertTrue(ret)
+-
+-        hb = HelperB()
+-        ret = yield hb.sleep()
+-        self.assertFalse(ret)
+-
+     def test_basic_wrap(self):
+         '''
+         Test that we can wrap an asynchronous caller.
+@@ -55,24 +42,3 @@ class TestSyncWrapper(AsyncTestCase):
+         sync = asynchronous.SyncWrapper(HelperA)
+         ret = sync.sleep()
+         self.assertTrue(ret)
+-
+-    def test_double(self):
+-        '''
+-        Test when the asynchronous wrapper object itself creates a wrap of another thing
+-
+-        This works fine since the second wrap is based on the first's IOLoop so we
+-        don't have to worry about complex start/stop mechanics
+-        '''
+-        sync = asynchronous.SyncWrapper(HelperB)
+-        ret = sync.sleep()
+-        self.assertFalse(ret)
+-
+-    def test_double_sameloop(self):
+-        '''
+-        Test asynchronous wrappers initiated from the same IOLoop, to ensure that
+-        we don't wire up both to the same IOLoop (since it causes MANY problems).
+-        '''
+-        a = asynchronous.SyncWrapper(HelperA)
+-        sync = asynchronous.SyncWrapper(HelperB, (a,))
+-        ret = sync.sleep()
+-        self.assertFalse(ret)

diff --git a/app-admin/salt/salt-2018.3.3.ebuild b/app-admin/salt/salt-2018.3.4.ebuild
similarity index 99%
rename from app-admin/salt/salt-2018.3.3.ebuild
rename to app-admin/salt/salt-2018.3.4.ebuild
index deb62df7a93..bf3224ca0de 100644
--- a/app-admin/salt/salt-2018.3.3.ebuild
+++ b/app-admin/salt/salt-2018.3.4.ebuild
@@ -1,7 +1,7 @@
 # Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=6
+EAPI=7
 PYTHON_COMPAT=( python2_7 python3_6 )
 
 inherit eutils systemd distutils-r1
@@ -96,7 +96,7 @@ RESTRICT="x86? ( test )"
 
 PATCHES=(
 	"${FILESDIR}/${PN}-2017.7.0-dont-realpath-tmpdir.patch"
-	"${FILESDIR}/${PN}-2017.7.8-tests.patch"
+	"${FILESDIR}/${PN}-2018.3.4-tests.patch"
 	"${FILESDIR}/${PN}-2018.3.2-skip-zeromq-test-that-hangs.patch"
 )
 


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/, app-admin/salt/files/
@ 2020-04-30  1:17 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2020-04-30  1:17 UTC (permalink / raw
  To: gentoo-commits

commit:     f5afa7c88cf80d3d36976a2a38d7fcdfe677090d
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Thu Apr 30 01:13:42 2020 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Apr 30 01:17:34 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f5afa7c8

app-admin/salt-3000.2-r1: revbump, fix tests, add missing dep

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-tests.patch           | 18 ++++++++++++++++++
 .../salt/{salt-3000.2.ebuild => salt-3000.2-r1.ebuild} |  2 ++
 2 files changed, 20 insertions(+)

diff --git a/app-admin/salt/files/salt-3000.2-tests.patch b/app-admin/salt/files/salt-3000.2-tests.patch
new file mode 100644
index 00000000000..a562dee5bf9
--- /dev/null
+++ b/app-admin/salt/files/salt-3000.2-tests.patch
@@ -0,0 +1,18 @@
+--- salt-3000.2.orig/tests/unit/utils/test_verify.py	2020-04-29 16:57:02.775635698 -0700
++++ salt-3000.2/tests/unit/utils/test_verify.py	2020-04-29 16:57:58.042282147 -0700
+@@ -324,6 +324,7 @@
+         self.assertTrue(os.path.exists(path))
+
+
++@skipIf(True, "breaks under sandbox")
+ class TestCleanPath(TestCase):
+     '''
+     salt.utils.clean_path works as expected
+@@ -366,6 +367,7 @@
+         raise ctypes.WinError()
+
+
++@skipIf(True, "breaks under sandbox")
+ @skipIf(six.PY2 and salt.utils.platform.is_windows(), 'Skipped on windows py2')
+ class TestCleanPathLink(TestCase):
+     '''

diff --git a/app-admin/salt/salt-3000.2.ebuild b/app-admin/salt/salt-3000.2-r1.ebuild
similarity index 98%
rename from app-admin/salt/salt-3000.2.ebuild
rename to app-admin/salt/salt-3000.2-r1.ebuild
index 376575e7ccf..100dafe7754 100644
--- a/app-admin/salt/salt-3000.2.ebuild
+++ b/app-admin/salt/salt-3000.2-r1.ebuild
@@ -29,6 +29,7 @@ IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako
 
 RDEPEND="
 	sys-apps/pciutils
+	dev-python/distro[${PYTHON_USEDEP}]
 	dev-python/jinja[${PYTHON_USEDEP}]
 	dev-python/libnacl[${PYTHON_USEDEP}]
 	>=dev-python/msgpack-0.5[${PYTHON_USEDEP}]
@@ -101,6 +102,7 @@ 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"
 )
 
 python_prepare() {


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/, app-admin/salt/files/
@ 2020-04-30 17:58 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2020-04-30 17:58 UTC (permalink / raw
  To: gentoo-commits

commit:     0209d23f9c0a4365b63f57d50cc664afdcf86da8
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Thu Apr 30 17:58:03 2020 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Apr 30 17:58:03 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0209d23f

app-admin/salt: Clean out vunlerable versions (bug #720056)

Bug: https://bugs.gentoo.org/720056
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-2018.3.2-skip-zeromq-test-that-hangs.patch |  79 -----------
 app-admin/salt/files/salt-2018.3.4-tests.patch     |  76 -----------
 app-admin/salt/salt-2018.3.4.ebuild                | 147 ---------------------
 4 files changed, 303 deletions(-)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 1e5653bb58c..64303c5476b 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,3 +1,2 @@
-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-2018.3.2-skip-zeromq-test-that-hangs.patch b/app-admin/salt/files/salt-2018.3.2-skip-zeromq-test-that-hangs.patch
deleted file mode 100644
index 7b94fafd447..00000000000
--- a/app-admin/salt/files/salt-2018.3.2-skip-zeromq-test-that-hangs.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-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/files/salt-2018.3.4-tests.patch b/app-admin/salt/files/salt-2018.3.4-tests.patch
deleted file mode 100644
index ac3dbb84534..00000000000
--- a/app-admin/salt/files/salt-2018.3.4-tests.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff --git a/tests/unit/grains/test_core.py b/tests/unit/grains/test_core.py
-index 3874b0001c..40304075eb 100644
---- a/tests/unit/grains/test_core.py
-+++ b/tests/unit/grains/test_core.py
-@@ -685,22 +685,6 @@ class CoreGrainsTestCase(TestCase, LoaderModuleMockMixin):
-                                 'Docker'
-                             )
- 
--    @skipIf(salt.utils.platform.is_windows(), 'System is Windows')
--    def test_xen_virtual(self):
--        '''
--        Test if OS grains are parsed correctly in Ubuntu Xenial Xerus
--        '''
--        with patch.object(os.path, 'isfile', MagicMock(return_value=False)):
--            with patch.dict(core.__salt__, {'cmd.run': MagicMock(return_value='')}), \
--                patch.object(os.path,
--                             'isfile',
--                             MagicMock(side_effect=lambda x: True if x == '/sys/bus/xen/drivers/xenconsole' else False)):
--                log.debug('Testing Xen')
--                self.assertEqual(
--                    core._virtual({'kernel': 'Linux'}).get('virtual_subtype'),
--                    'Xen PV DomU'
--                )
--
-     def _check_ipaddress(self, value, ip_v):
-         '''
-         check if ip address in a list is valid
-diff --git a/tests/unit/utils/test_asynchronous.py b/tests/unit/utils/test_asynchronous.py
-index 694a7aebfe..9e22c278e9 100644
---- a/tests/unit/utils/test_asynchronous.py
-+++ b/tests/unit/utils/test_asynchronous.py
-@@ -35,19 +35,6 @@ class HelperB(object):
- 
- 
- class TestSyncWrapper(AsyncTestCase):
--    @tornado.testing.gen_test
--    def test_helpers(self):
--        '''
--        Test that the helper classes do what we expect within a regular asynchronous env
--        '''
--        ha = HelperA()
--        ret = yield ha.sleep()
--        self.assertTrue(ret)
--
--        hb = HelperB()
--        ret = yield hb.sleep()
--        self.assertFalse(ret)
--
-     def test_basic_wrap(self):
-         '''
-         Test that we can wrap an asynchronous caller.
-@@ -55,24 +42,3 @@ class TestSyncWrapper(AsyncTestCase):
-         sync = asynchronous.SyncWrapper(HelperA)
-         ret = sync.sleep()
-         self.assertTrue(ret)
--
--    def test_double(self):
--        '''
--        Test when the asynchronous wrapper object itself creates a wrap of another thing
--
--        This works fine since the second wrap is based on the first's IOLoop so we
--        don't have to worry about complex start/stop mechanics
--        '''
--        sync = asynchronous.SyncWrapper(HelperB)
--        ret = sync.sleep()
--        self.assertFalse(ret)
--
--    def test_double_sameloop(self):
--        '''
--        Test asynchronous wrappers initiated from the same IOLoop, to ensure that
--        we don't wire up both to the same IOLoop (since it causes MANY problems).
--        '''
--        a = asynchronous.SyncWrapper(HelperA)
--        sync = asynchronous.SyncWrapper(HelperB, (a,))
--        ret = sync.sleep()
--        self.assertFalse(ret)

diff --git a/app-admin/salt/salt-2018.3.4.ebuild b/app-admin/salt/salt-2018.3.4.ebuild
deleted file mode 100644
index 20f68c64964..00000000000
--- a/app-admin/salt/salt-2018.3.4.ebuild
+++ /dev/null
@@ -1,147 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_6 )
-
-inherit eutils 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="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb neutron nova"
-IUSE+=" 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.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}]
-	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}] )
-	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 )"
-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/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="!test? ( test ) x86? ( test )"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-2017.7.0-dont-realpath-tmpdir.patch"
-	"${FILESDIR}/${PN}-2018.3.4-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/, app-admin/salt/files/
@ 2020-09-04  1:45 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2020-09-04  1:45 UTC (permalink / raw
  To: gentoo-commits

commit:     80262791380dcfa0e6bcf53796b8a78116d40bc1
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Fri Sep  4 01:28:59 2020 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Sep  4 01:45:30 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=80262791

dev-util/salt-3001.1: Version bump

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.5, Repoman-3.0.1
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 app-admin/salt/Manifest                      |   1 +
 app-admin/salt/files/salt-3001.1-tests.patch | 151 +++++++++++++++++++++
 app-admin/salt/salt-3001.1.ebuild            | 195 +++++++++++++++++++++++++++
 3 files changed, 347 insertions(+)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 97d1031e86e..4f594f7a094 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -2,3 +2,4 @@ DIST salt-2019.2.5.tar.gz 14574347 BLAKE2B d456dd493e79640260f3ad3c964fdaaa26dd7
 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
+DIST salt-3001.1.tar.gz 14556156 BLAKE2B 3088955a07b6ff95588f5b6235e0bae9cea366e957e026bacd228af9f1ed500f88f7fb543833f2398d64fe7e4546f0f29d7c65362464097bf89424174e76c954 SHA512 d59b6c3580d3379192f36e462385c74b53b0b385e63b3db7734003d0a71df8f88593a59eeccd86b1dc15800e46d050094e7a88f2636673770ddc952d0110ca29

diff --git a/app-admin/salt/files/salt-3001.1-tests.patch b/app-admin/salt/files/salt-3001.1-tests.patch
new file mode 100644
index 00000000000..ad32b611dfe
--- /dev/null
+++ b/app-admin/salt/files/salt-3001.1-tests.patch
@@ -0,0 +1,151 @@
+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/salt-3001.1.ebuild b/app-admin/salt/salt-3001.1.ebuild
new file mode 100644
index 00000000000..8f4eea2bcf2
--- /dev/null
+++ b/app-admin/salt/salt-3001.1.ebuild
@@ -0,0 +1,195 @@
+# 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=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="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-0.5[${PYTHON_USEDEP}]
+	<dev-python/msgpack-1.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_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-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}]
+		!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-2017.7.0-dont-realpath-tmpdir.patch"
+	"${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch"
+	"${FILESDIR}/salt-3001.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"
+)
+
+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/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
+
+	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() {
+	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/, app-admin/salt/files/
@ 2021-02-09 17:00 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2021-02-09 17:00 UTC (permalink / raw
  To: gentoo-commits

commit:     37c20089d044d190eefb2fe38495df1b76292c69
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Tue Feb  9 17:00:17 2021 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Feb  9 17:00:45 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37c20089

app-admin/salt-3002.2-r3: Revbump, add supervision to services

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 app-admin/salt/files/api-confd-1     |   4 +-
 app-admin/salt/files/api-initd-5     |  18 ++++
 app-admin/salt/files/master-initd-5  |  18 ++++
 app-admin/salt/files/minion-initd-5  |  19 ++++
 app-admin/salt/files/syndic-confd-1  |   4 +-
 app-admin/salt/files/syndic-initd-5  |  18 ++++
 app-admin/salt/salt-3002.2-r3.ebuild | 185 +++++++++++++++++++++++++++++++++++
 7 files changed, 262 insertions(+), 4 deletions(-)

diff --git a/app-admin/salt/files/api-confd-1 b/app-admin/salt/files/api-confd-1
index c70e8e766da..84a1c6c71a0 100644
--- a/app-admin/salt/files/api-confd-1
+++ b/app-admin/salt/files/api-confd-1
@@ -1,5 +1,5 @@
-# /etc/conf.d/salt-master: config file for /etc/init.d/salt-master
+# /etc/conf.d/salt-api: config file for /etc/init.d/salt-api
 
-# see man pages for salt-minion or run `salt-master --help`
+# see man pages for salt-minion or run `salt-api --help`
 # for valid cmdline options
 SALT_OPTS="--log-level=warning"

diff --git a/app-admin/salt/files/api-initd-5 b/app-admin/salt/files/api-initd-5
new file mode 100644
index 00000000000..1fecd03275e
--- /dev/null
+++ b/app-admin/salt/files/api-initd-5
@@ -0,0 +1,18 @@
+#!/sbin/openrc-run
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+command="/usr/bin/salt-api"
+command_args="${SALT_OPTS}"
+pidfile="/var/run/salt-api.pid"
+command_args_background="--daemon --pid-file=\"${pidfile}\""
+name="SALT API daemon"
+retry="20"
+
+supervisor=supervise-daemon
+output_logger="logger -p daemon.info -t salt-api.stdout --"
+error_logger="logger -p daemon.err -t salt-api.error --"
+
+depend() {
+	use net logger
+}

diff --git a/app-admin/salt/files/master-initd-5 b/app-admin/salt/files/master-initd-5
new file mode 100644
index 00000000000..13c8ad89228
--- /dev/null
+++ b/app-admin/salt/files/master-initd-5
@@ -0,0 +1,18 @@
+#!/sbin/openrc-run
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+command="/usr/bin/salt-master"
+command_args="${SALT_OPTS}"
+command_args_background="--daemon --pid-file=\"${pidfile}\""
+pidfile="/var/run/salt-master.pid"
+name="SALT master daemon"
+retry="20"
+
+supervisor=supervise-daemon
+output_logger="logger -p daemon.info -t salt-master.stdout --"
+error_logger="logger -p daemon.err -t salt-master.error --"
+
+depend() {
+	use net logger
+}

diff --git a/app-admin/salt/files/minion-initd-5 b/app-admin/salt/files/minion-initd-5
new file mode 100644
index 00000000000..e3a430b77fa
--- /dev/null
+++ b/app-admin/salt/files/minion-initd-5
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+command="/usr/bin/salt-minion"
+command_args="${SALT_OPTS}"
+pidfile="/var/run/salt-minion.pid"
+command_args_background="--daemon --pid-file=\"${pidfile}\""
+name="SALT minion daemon"
+retry="20"
+
+supervisor=supervise-daemon
+output_logger="logger -p daemon.info -t salt-minion.stdout --"
+error_logger="logger -p daemon.err -t salt-minion.error --"
+
+depend() {
+	need net
+	use logger
+}

diff --git a/app-admin/salt/files/syndic-confd-1 b/app-admin/salt/files/syndic-confd-1
index d69d83fcd60..e9c75b8bc78 100644
--- a/app-admin/salt/files/syndic-confd-1
+++ b/app-admin/salt/files/syndic-confd-1
@@ -1,5 +1,5 @@
-# /etc/conf.d/salt-minion: config file for /etc/init.d/salt-minion
+# /etc/conf.d/salt-syndic: config file for /etc/init.d/salt-syndic
 
-# see man pages for salt-minion or run `salt-minion --help`
+# see man pages for salt-minion or run `salt-syndic --help`
 # for valid cmdline options
 SALT_OPTS="--log-level=warning"

diff --git a/app-admin/salt/files/syndic-initd-5 b/app-admin/salt/files/syndic-initd-5
new file mode 100644
index 00000000000..7e43828bda4
--- /dev/null
+++ b/app-admin/salt/files/syndic-initd-5
@@ -0,0 +1,18 @@
+#!/sbin/openrc-run
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+command="/usr/bin/salt-syndic"
+command_args="${SALT_OPTS}"
+pidfile="/var/run/salt-syndic.pid"
+command_args_background="--daemon --pid-file=\"${pidfile}\""
+name="SALT syndic daemon"
+retry="20"
+
+supervisor=supervise-daemon
+output_logger="logger -p daemon.info -t salt-syndic.stdout --"
+error_logger="logger -p daemon.err -t salt-syndic.error --"
+
+depend() {
+	use net logger
+}

diff --git a/app-admin/salt/salt-3002.2-r3.ebuild b/app-admin/salt/salt-3002.2-r3.ebuild
new file mode 100644
index 00000000000..7c65d1b1980
--- /dev/null
+++ b/app-admin/salt/salt-3002.2-r3.ebuild
@@ -0,0 +1,185 @@
+# Copyright 1999-2021 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 ~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[${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
+	# 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 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/, app-admin/salt/files/
@ 2021-02-18  1:18 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2021-02-18  1:18 UTC (permalink / raw
  To: gentoo-commits

commit:     051badb288c5cbe9140be22ba3fe11844cef306c
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Thu Feb 18 01:17:46 2021 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Feb 18 01:17:46 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=051badb2

app-admin/salt-3002.2-r4: revbump, fix init scripts

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 app-admin/salt/files/api-initd-5                                | 5 +++--
 app-admin/salt/files/master-initd-5                             | 5 +++--
 app-admin/salt/files/minion-initd-5                             | 5 +++--
 app-admin/salt/files/syndic-initd-5                             | 5 +++--
 app-admin/salt/{salt-3002.2-r3.ebuild => salt-3002.2-r4.ebuild} | 0
 5 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/app-admin/salt/files/api-initd-5 b/app-admin/salt/files/api-initd-5
index 1fecd03275e..18e06c6fd08 100644
--- a/app-admin/salt/files/api-initd-5
+++ b/app-admin/salt/files/api-initd-5
@@ -4,8 +4,9 @@
 
 command="/usr/bin/salt-api"
 command_args="${SALT_OPTS}"
-pidfile="/var/run/salt-api.pid"
-command_args_background="--daemon --pid-file=\"${pidfile}\""
+pidfile="/var/run/supervisor-salt-api.pid"
+daemon_pidfile="/var/run/salt-api.pid"
+command_args_background="--daemon --pid-file=\"${daemon_pidfile}\""
 name="SALT API daemon"
 retry="20"
 

diff --git a/app-admin/salt/files/master-initd-5 b/app-admin/salt/files/master-initd-5
index 13c8ad89228..7313e2b7a70 100644
--- a/app-admin/salt/files/master-initd-5
+++ b/app-admin/salt/files/master-initd-5
@@ -4,8 +4,9 @@
 
 command="/usr/bin/salt-master"
 command_args="${SALT_OPTS}"
-command_args_background="--daemon --pid-file=\"${pidfile}\""
-pidfile="/var/run/salt-master.pid"
+pidfile="/var/run/supervisor-salt-master.pid"
+daemon_pidfile="/var/run/salt-master.pid"
+command_args_background="--daemon --pid-file=\"${daemon_pidfile}\""
 name="SALT master daemon"
 retry="20"
 

diff --git a/app-admin/salt/files/minion-initd-5 b/app-admin/salt/files/minion-initd-5
index e3a430b77fa..426ba964dcb 100644
--- a/app-admin/salt/files/minion-initd-5
+++ b/app-admin/salt/files/minion-initd-5
@@ -4,8 +4,9 @@
 
 command="/usr/bin/salt-minion"
 command_args="${SALT_OPTS}"
-pidfile="/var/run/salt-minion.pid"
-command_args_background="--daemon --pid-file=\"${pidfile}\""
+pidfile="/var/run/supervisor-salt-minion.pid"
+daemon_pidfile="/var/run/salt-minion.pid"
+command_args_background="--daemon --pid-file=\"${daemon_pidfile}\""
 name="SALT minion daemon"
 retry="20"
 

diff --git a/app-admin/salt/files/syndic-initd-5 b/app-admin/salt/files/syndic-initd-5
index 7e43828bda4..992cacb3f0f 100644
--- a/app-admin/salt/files/syndic-initd-5
+++ b/app-admin/salt/files/syndic-initd-5
@@ -4,8 +4,9 @@
 
 command="/usr/bin/salt-syndic"
 command_args="${SALT_OPTS}"
-pidfile="/var/run/salt-syndic.pid"
-command_args_background="--daemon --pid-file=\"${pidfile}\""
+pidfile="/var/run/supervisor-salt-syndic.pid"
+daemon_pidfile="/var/run/salt-syndic.pid"
+command_args_background="--daemon --pid-file=\"${daemon_pidfile}\""
 name="SALT syndic daemon"
 retry="20"
 

diff --git a/app-admin/salt/salt-3002.2-r3.ebuild b/app-admin/salt/salt-3002.2-r4.ebuild
similarity index 100%
rename from app-admin/salt/salt-3002.2-r3.ebuild
rename to app-admin/salt/salt-3002.2-r4.ebuild


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/, app-admin/salt/files/
@ 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:     ab17e261731e37aa084815c3e1081d7a1bdebf3e
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Fri Feb 26 23:48:17 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=ab17e261

app-admin/salt-3002.5: 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-3002.5-tests.patch |  30 +++++
 app-admin/salt/salt-3002.5.ebuild            | 187 +++++++++++++++++++++++++++
 3 files changed, 218 insertions(+)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index fff5f12537f..c9c7548556f 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -3,3 +3,4 @@ DIST salt-3000.5.tar.gz 15229450 BLAKE2B 135e9b9dcc461ac898231ce46e6a1359e6d60a4
 DIST salt-3000.6.tar.gz 15236781 BLAKE2B 5a532a6915b331fb532dc6e1651cf8fca3e1a5e9f29f6d75260fdb1162dbfeec755c65f7c6fc28b1cc7dc3ace978547830af31aafc1eee8419bbc7e695725787 SHA512 739e3671766c45a0ef1eb45933c7f00f14586e91f4c4a79cbed913a48961a48baee853206ba569491756e8a872d22f3635eb6bc1a366020e551c567b2334c508
 DIST salt-3001.4.tar.gz 15716372 BLAKE2B cc33b29b0da9cfaae22726b2b471245880aafa106187b531872a9ae5ee773a94e0d550a68b11b74826bc0b35197a311f690535f2280931ccb5050275ad967c2d SHA512 b7f343c65917280a96d8a3eaa6b508121b11b9f9b0bfffa5b4c79af0023bdecf4581f76014847d97f48d9677edb6f632adec3850153c3048c3114128a250b84b
 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-3002.5-tests.patch b/app-admin/salt/files/salt-3002.5-tests.patch
new file mode 100644
index 00000000000..5a2eb43c3a4
--- /dev/null
+++ b/app-admin/salt/files/salt-3002.5-tests.patch
@@ -0,0 +1,30 @@
+--- salt-3002.5/tests/unit/modules/test_cmdmod.py	2021-02-26 11:01:33.407219444 -0800
++++ salt-3002.5-python3_7/tests/unit/modules/test_cmdmod.py	2021-02-26 11:01:47.709124416 -0800
+@@ -560,6 +560,7 @@
+ 
+         self.assertEqual(ret["stdout"], salt.utils.stringutils.to_unicode(stdout))
+ 
++    @skipIf(True, "doesn't work in sandbox")
+     def test_run_all_output_loglevel_debug(self):
+         """
+         Test that specifying debug for loglevel
+--- salt-3002.5//tests/unit/utils/test_thin.py	2021-02-26 13:30:47.841179546 -0800
++++ salt-3002.5-python3_7//tests/unit/utils/test_thin.py	2021-02-26 13:41:33.681174531 -0800
+@@ -1275,6 +1275,7 @@
+     @skipIf(
+         salt.utils.platform.is_windows(), "salt-ssh does not deploy to/from windows"
+     )
++    @skipIf(True, "does not work with network-sandbox")
+     def test_thin_dir(self):
+         """
+         Test the thin dir to make sure salt-call can run
+--- salt-3002.5/tests/unit/modules/test_cmdmod.py	2021-02-26 13:30:48.014178373 -0800
++++ salt-3002.5-python3_7/tests/unit/modules/test_cmdmod.py	2021-02-26 13:43:22.395441008 -0800
+@@ -439,6 +439,7 @@
+ 
+     @skipIf(salt.utils.platform.is_windows(), "Do not run on Windows")
+     @skipIf(salt.utils.platform.is_darwin(), "Do not run on MacOS")
++    @skipIf(True, "does not work with network-sandbox")
+     def test_run_cwd_in_combination_with_runas(self):
+         """
+         cmd.run executes command in the cwd directory

diff --git a/app-admin/salt/salt-3002.5.ebuild b/app-admin/salt/salt-3002.5.ebuild
new file mode 100644
index 00000000000..5fc8c96484d
--- /dev/null
+++ b/app-admin/salt/salt-3002.5.ebuild
@@ -0,0 +1,187 @@
+# 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[${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"
+	"${FILESDIR}/salt-3002.5-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
+	# 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/, app-admin/salt/files/
@ 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:     d56cf5f52d56b74774c234512f9be1610cd2c11f
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Sat Feb 27 02:31:38 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=d56cf5f5

app-admin/salt-3000.8: Version bump for 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-3000.8-tests.patch |   0
 app-admin/salt/salt-3000.8.ebuild            | 203 +++++++++++++++++++++++++++
 3 files changed, 204 insertions(+)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index a08943d31b6..5b54dc5c1c5 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,6 +1,7 @@
 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
+DIST salt-3000.8.tar.gz 15249139 BLAKE2B df306669ba11dd650621222ff9c69f5a6e16b6f431e9d93e6712ee95da43091bfe28416fe0d71988ed9ee70cb347755b779a356c50fa59c63c67a874ed1906f4 SHA512 a18d5bea3b3835f83d5b1e5315990d83f6c58c36df5589d5de0f8cc3a46db4c960b58032e29d56841a160b9b170cdbb81bca38dbbd72ccb5866ccc8a7da6e800
 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

diff --git a/app-admin/salt/files/salt-3000.8-tests.patch b/app-admin/salt/files/salt-3000.8-tests.patch
new file mode 100644
index 00000000000..e69de29bb2d

diff --git a/app-admin/salt/salt-3000.8.ebuild b/app-admin/salt/salt-3000.8.ebuild
new file mode 100644
index 00000000000..e8589011e66
--- /dev/null
+++ b/app-admin/salt/salt-3000.8.ebuild
@@ -0,0 +1,203 @@
+# Copyright 1999-2021 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
+		https://dev.gentoo.org/~chutzpah/dist/salt/salt-3000.2-py38-misc.patch.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[${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/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 )"
+
+# tests failing with newer versions of deps
+RESTRICT+=" 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-3000.8-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,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
+
+	# tests that require network access
+	rm tests/unit/{states,modules}/test_zcbuildout.py || die
+	rm tests/unit/transport/test_zeromq.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
+
+	# 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-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/, app-admin/salt/files/
@ 2021-06-09 22:27 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2021-06-09 22:27 UTC (permalink / raw
  To: gentoo-commits

commit:     a5da849d9276e29315f17f643ddc573df9fd43e4
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Jun  9 22:26:46 2021 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Jun  9 22:27:02 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a5da849d

app-admin/salt-3000.9: Version bump

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-3.0.19, Repoman-3.0.3
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 app-admin/salt/Manifest                      |   1 +
 app-admin/salt/files/salt-3000.9-tests.patch |  12 ++
 app-admin/salt/salt-3000.9.ebuild            | 203 +++++++++++++++++++++++++++
 3 files changed, 216 insertions(+)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index f47131ca6e5..cc3b4f7d734 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,5 +1,6 @@
 DIST salt-3000.2-py38-misc.patch.gz 6250 BLAKE2B 68fff80a042e6bf208ea2d9692da7a7b1e29572f1ec3c850c14743bbf2821d231f933ec4e6d6eaad12acee0b7666888a37a72872b2b082c92d8db9de988fbbec SHA512 6d4a66323a423e630f7cc73b566ed96c452c8fc3d72c25a2dd86033c4774c1c8e8b8701e1d4ee92994d4148c398d704f419023e26d8b40c8fdd63f9d79d9d52f
 DIST salt-3000.8.tar.gz 15249139 BLAKE2B df306669ba11dd650621222ff9c69f5a6e16b6f431e9d93e6712ee95da43091bfe28416fe0d71988ed9ee70cb347755b779a356c50fa59c63c67a874ed1906f4 SHA512 a18d5bea3b3835f83d5b1e5315990d83f6c58c36df5589d5de0f8cc3a46db4c960b58032e29d56841a160b9b170cdbb81bca38dbbd72ccb5866ccc8a7da6e800
+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.tar.gz 15830910 BLAKE2B ea4f02eece951c3fb4fcc480d00f7b531ac549b2e23ff9a210b73f749f9ba83e0402e02a59028f41f94958d17512e417b7c1b7015e8ee3aeac55be9b1374fe6f SHA512 7f631466372f303c03f2852a5cfba1ee5c6ba1636a6fe1e1622e90d0b1376ef9f670aa1b4754f3d9c8c7fe1b99fe1b4c49e140dc86d90d157a1ec1e73ba43c38

diff --git a/app-admin/salt/files/salt-3000.9-tests.patch b/app-admin/salt/files/salt-3000.9-tests.patch
new file mode 100644
index 00000000000..9b7a1786e72
--- /dev/null
+++ b/app-admin/salt/files/salt-3000.9-tests.patch
@@ -0,0 +1,12 @@
+diff --git a/tests/unit/modules/test_cmdmod.py b/tests/unit/modules/test_cmdmod.py
+index 2d88706b49..ec8b623f5b 100644
+--- a/tests/unit/modules/test_cmdmod.py
++++ b/tests/unit/modules/test_cmdmod.py
+@@ -509,6 +509,7 @@ class CMDMODTestCase(TestCase, LoaderModuleMockMixin):
+         self.assertEqual(ret['stdout'],
+                          salt.utils.stringutils.to_unicode(stdout))
+ 
++    @skipIf(True, "Not happy in sandbox")
+     def test_run_all_output_loglevel_debug(self):
+         '''
+         Test that specifying debug for loglevel

diff --git a/app-admin/salt/salt-3000.9.ebuild b/app-admin/salt/salt-3000.9.ebuild
new file mode 100644
index 00000000000..9818e6b40a9
--- /dev/null
+++ b/app-admin/salt/salt-3000.9.ebuild
@@ -0,0 +1,203 @@
+# 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="git://github.com/${PN}stack/${PN}.git"
+	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"
+	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[${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/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_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-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 )"
+
+# tests failing with newer versions of deps
+#RESTRICT+=" 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"
+	"${FILESDIR}/salt-3000.9-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"
+)
+
+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,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 tests/unit/test_module_names.py || die
+
+	# tests that require network access
+	rm tests/unit/{states,modules}/test_zcbuildout.py || die
+	rm tests/unit/transport/test_zeromq.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
+
+	# 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-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/, app-admin/salt/files/
@ 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:     6a2488e84ad5ac62eb095598dd10fbab578fd61e
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Sep  8 01:01:39 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=6a2488e8

app-admin/salt-3003.3: 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-3003.3-tests.patch | 233 +++++++++++++++++++++++++++
 app-admin/salt/salt-3003.3.ebuild            | 202 +++++++++++++++++++++++
 3 files changed, 436 insertions(+)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index eb1c69dcf27..b0cefc2f51d 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -6,4 +6,5 @@ DIST salt-3001.8.tar.gz 15740488 BLAKE2B 77875a670b81438280becd1f29b64fbc7663791
 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.3.tar.gz 16017984 BLAKE2B 9cd1e33a7b6dff4d3c6c5a87e1204f7f113b6190da8301061e26fcec178aba597a9e17ab60a54a67b52a895a9a8aef58bec70e9fdd8d8edc5a42945f6de21a58 SHA512 4fe50922833fce48fcc679adb16a0e1fe893531b2feb08b235a1461c58b8d9a72af2acd89fc0f712207fb0cd215d6b446e31a40001b46c43d0cc4ac827ce29e3
 DIST salt-3003.tar.gz 15830910 BLAKE2B ea4f02eece951c3fb4fcc480d00f7b531ac549b2e23ff9a210b73f749f9ba83e0402e02a59028f41f94958d17512e417b7c1b7015e8ee3aeac55be9b1374fe6f SHA512 7f631466372f303c03f2852a5cfba1ee5c6ba1636a6fe1e1622e90d0b1376ef9f670aa1b4754f3d9c8c7fe1b99fe1b4c49e140dc86d90d157a1ec1e73ba43c38

diff --git a/app-admin/salt/files/salt-3003.3-tests.patch b/app-admin/salt/files/salt-3003.3-tests.patch
new file mode 100644
index 00000000000..049d8c164c5
--- /dev/null
+++ b/app-admin/salt/files/salt-3003.3-tests.patch
@@ -0,0 +1,233 @@
+diff --git a/salt/transport/ipc.py b/salt/transport/ipc.py
+index 29210d7522..4fd648116f 100644
+--- a/salt/transport/ipc.py
++++ b/salt/transport/ipc.py
+@@ -2,7 +2,6 @@
+ IPC transport classes
+ """
+ 
+-
+ import errno
+ import logging
+ import socket
+@@ -20,6 +19,7 @@ from salt.ext.tornado.ioloop import IOLoop
+ from salt.ext.tornado.ioloop import TimeoutError as TornadoTimeoutError
+ from salt.ext.tornado.iostream import IOStream, StreamClosedError
+ from salt.ext.tornado.locks import Lock
++import tornado.iostream
+ 
+ log = logging.getLogger(__name__)
+ 
+@@ -693,11 +693,11 @@ class IPCMessageSubscriber(IPCClient):
+                 if not first_sync_msg:
+                     # We read at least one piece of data and we're on sync run
+                     break
+-        except TornadoTimeoutError:
++        except TornadoTimeoutError if isinstance(TornadoTimeoutError, BaseException) else (salt.ext.tornado.ioloop.TimeoutError):
+             # In the timeout case, just return None.
+             # Keep 'self._read_stream_future' alive.
+             ret = None
+-        except StreamClosedError as exc:
++        except StreamClosedError if isinstance(StreamClosedError, BaseException) else (tornado.iostream.StreamClosedError) as exc:
+             log.trace("Subscriber disconnected from IPC %s", self.socket_path)
+             self._read_stream_future = None
+         except Exception as exc:  # pylint: disable=broad-except
+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/functional/modules/state/requisites/test_listen.py b/tests/pytests/functional/modules/state/requisites/test_listen.py
+index b7a90d0ca0..26030f403b 100644
+--- a/tests/pytests/functional/modules/state/requisites/test_listen.py
++++ b/tests/pytests/functional/modules/state/requisites/test_listen.py
+@@ -292,43 +292,3 @@ def test_listen_requisite_resolution_names(state, state_tree):
+         assert "test_|-listener_service_|-nginx_|-mod_watch" in ret
+         assert "test_|-listener_service_|-crond_|-mod_watch" in ret
+ 
+-
+-def test_onlyif_req(state, subtests):
+-    onlyif = [{}]
+-    state_id = "test_|-onlyif test_|-onlyif test_|-succeed_with_changes"
+-    with subtests.test(onlyif=onlyif):
+-        ret = state.single(
+-            name="onlyif test", fun="test.succeed_with_changes", onlyif=onlyif
+-        )
+-        assert ret[state_id]["result"] is True
+-        assert ret[state_id]["comment"] == "Success!"
+-
+-    onlyif = [{"fun": "test.true"}]
+-    state_id = "test_|-onlyif test_|-onlyif test_|-succeed_without_changes"
+-    with subtests.test(onlyif=onlyif):
+-        ret = state.single(
+-            name="onlyif test", fun="test.succeed_without_changes", onlyif=onlyif
+-        )
+-        assert ret[state_id]["result"] is True
+-        assert not ret[state_id]["changes"]
+-        assert ret[state_id]["comment"] == "Success!"
+-
+-    onlyif = [{"fun": "test.false"}]
+-    state_id = "test_|-onlyif test_|-onlyif test_|-fail_with_changes"
+-    with subtests.test(onlyif=onlyif):
+-        ret = state.single(
+-            name="onlyif test", fun="test.fail_with_changes", onlyif=onlyif
+-        )
+-        assert ret[state_id]["result"] is True
+-        assert not ret[state_id]["changes"]
+-        assert ret[state_id]["comment"] == "onlyif condition is false"
+-
+-    onlyif = [{"fun": "test.true"}]
+-    state_id = "test_|-onlyif test_|-onlyif test_|-fail_with_changes"
+-    with subtests.test(onlyif=onlyif):
+-        ret = state.single(
+-            name="onlyif test", fun="test.fail_with_changes", onlyif=onlyif
+-        )
+-        assert ret[state_id]["result"] is False
+-        assert ret[state_id]["changes"]
+-        assert ret[state_id]["comment"] == "Failure!"
+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 3b91757a03..5fa0f88e78 100644
+--- a/tests/unit/ext/test_ipaddress.py
++++ b/tests/unit/ext/test_ipaddress.py
+@@ -2707,6 +2707,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/modules/test_boto_route53.py b/tests/unit/modules/test_boto_route53.py
+index e745f8f8c6..ab36a90a79 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, "test case appears to be broken")
+ @skipIf(HAS_MOTO is False, "The moto module must be installed.")
+ @skipIf(
+     _has_required_moto() is False,
+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 bf7a323e26..3c8ce3a128 100644
+--- a/tests/unit/utils/test_vt.py
++++ b/tests/unit/utils/test_vt.py
+@@ -17,6 +17,8 @@ import subprocess
+ import sys
+ import time
+ 
++import pytest
++
+ import salt.utils
+ import salt.utils.files
+ import salt.utils.platform
+@@ -275,6 +277,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
+@@ -342,6 +345,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.3.ebuild b/app-admin/salt/salt-3003.3.ebuild
new file mode 100644
index 00000000000..bbf19fc2c44
--- /dev/null
+++ b/app-admin/salt/salt-3003.3.ebuild
@@ -0,0 +1,202 @@
+# 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-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/, app-admin/salt/files/
@ 2022-03-27  1:00 Sam James
  0 siblings, 0 replies; 35+ messages in thread
From: Sam James @ 2022-03-27  1:00 UTC (permalink / raw
  To: gentoo-commits

commit:     79dacb355a17541cc945d0fd8f76ac1c08cc28b8
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 27 00:58:52 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Mar 27 01:00:09 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79dacb35

app-admin/salt: add patch for newer Jinja

Bug: https://bugs.gentoo.org/836206
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-admin/salt/files/salt-3003.3-jinja.patch | 155 ++++++++++++++++++++
 app-admin/salt/salt-3003.3-r1.ebuild         | 203 +++++++++++++++++++++++++++
 2 files changed, 358 insertions(+)

diff --git a/app-admin/salt/files/salt-3003.3-jinja.patch b/app-admin/salt/files/salt-3003.3-jinja.patch
new file mode 100644
index 000000000000..ec5b1ac6156f
--- /dev/null
+++ b/app-admin/salt/files/salt-3003.3-jinja.patch
@@ -0,0 +1,155 @@
+https://github.com/saltstack/salt/issues/61848
+https://patch-diff.githubusercontent.com/raw/saltstack/salt/pull/61856.patch
+
+Dropped a bunch of irrelevant hunks (CI files and a test not in 3003.3)
+
+From 03c2a607a0722ad5e55b6c8f8eda630be7c7fee5 Mon Sep 17 00:00:00 2001
+From: jonyhy96 <hy352144278@gmail.com>
+Date: Thu, 10 Mar 2022 10:41:48 +0800
+Subject: [PATCH 1/5] fix: jinja2 contextfuntion base on version
+
+---
+ salt/utils/jinja.py | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/salt/utils/jinja.py b/salt/utils/jinja.py
+index 4c430b5ccf32..9a1938c2d69b 100644
+--- a/salt/utils/jinja.py
++++ b/salt/utils/jinja.py
+@@ -707,7 +707,11 @@ 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
++if jinja2.__version__ < '3.0.0' :
++    contextfunction = jinja2.contextfunction
++else:
++    contextfunction =  jinja2.pass_context
++@contextfunction
+ def show_full_context(ctx):
+     return salt.utils.data.simple_types_filter(
+         {key: value for key, value in ctx.items()}
+
+From 1aba938021b86732a211a899dc4c2a46afa488a2 Mon Sep 17 00:00:00 2001
+From: jonyhy96 <hy352144278@gmail.com>
+Date: Thu, 3 Mar 2022 16:21:17 +0800
+Subject: [PATCH 2/5] fix: jinja2 DeprecationWarning
+
+---
+ salt/utils/jinja.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/salt/utils/jinja.py b/salt/utils/jinja.py
+index 9a1938c2d69b..207a2cb77035 100644
+--- a/salt/utils/jinja.py
++++ b/salt/utils/jinja.py
+@@ -710,7 +710,7 @@ def method_call(obj, f_name, *f_args, **f_kwargs):
+ if jinja2.__version__ < '3.0.0' :
+     contextfunction = jinja2.contextfunction
+ else:
+-    contextfunction =  jinja2.pass_context
++    contextfunction = jinja2.pass_context
+ @contextfunction
+ def show_full_context(ctx):
+     return salt.utils.data.simple_types_filter(
+
+From 7f281bbfc8efda40cfe7d607c0ddebb2fb00bd5d Mon Sep 17 00:00:00 2001
+From: Megan Wilhite <mwilhite@vmware.com>
+Date: Fri, 25 Mar 2022 08:31:24 -0600
+Subject: [PATCH 3/5] Use the correct Markup from jinja for each version
+
+---
+ salt/utils/jinja.py | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/salt/utils/jinja.py b/salt/utils/jinja.py
+index 207a2cb77035..558f063d7206 100644
+--- a/salt/utils/jinja.py
++++ b/salt/utils/jinja.py
+@@ -26,7 +26,7 @@
+ 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
+@@ -35,6 +35,12 @@
+ from salt.utils.odict import OrderedDict
+ from salt.utils.versions import LooseVersion
+ 
++try:
++    from jinja2 import Markup
++except ImportError:
++    # Markup moved to markupsafe in jinja>= 3.1
++    from markupsafe import Markup
++
+ log = logging.getLogger(__name__)
+ 
+ __all__ = ["SaltCacheLoader", "SerializerExtension"]
+
+diff --git a/salt/utils/jinja.py b/salt/utils/jinja.py
+index 558f063d7206..5d00b134e25f 100644
+--- a/salt/utils/jinja.py
++++ b/salt/utils/jinja.py
+@@ -713,10 +713,12 @@ def method_call(obj, f_name, *f_args, **f_kwargs):
+     return getattr(obj, f_name, lambda *args, **kwargs: None)(*f_args, **f_kwargs)
+ 
+ 
+-if jinja2.__version__ < '3.0.0' :
++if jinja2.__version__ < "3.0.0":
+     contextfunction = jinja2.contextfunction
+ else:
+     contextfunction = jinja2.pass_context
++
++
+ @contextfunction
+ def show_full_context(ctx):
+     return salt.utils.data.simple_types_filter(
+
+From 9056e636beaea7de2e3a61876ba0345e5d390973 Mon Sep 17 00:00:00 2001
+From: Megan Wilhite <mwilhite@vmware.com>
+Date: Fri, 25 Mar 2022 11:14:01 -0600
+Subject: [PATCH 5/5] Fix requested feedback
+
+---
+ requirements/static/ci/docs.in               |  1 +
+ requirements/static/ci/py3.10/docs.txt       |  3 ++-
+ requirements/static/ci/py3.6/docs.txt        |  1 +
+ requirements/static/ci/py3.7/docs.txt        |  3 ++-
+ requirements/static/ci/py3.8/docs.txt        |  3 ++-
+ requirements/static/ci/py3.9/docs.txt        |  3 ++-
+ salt/utils/jinja.py                          | 10 +++++-----
+ 8 files changed, 21 insertions(+), 10 deletions(-)
+
+diff --git a/salt/utils/jinja.py b/salt/utils/jinja.py
+index 5d00b134e25f..aa8ebe90546c 100644
+--- a/salt/utils/jinja.py
++++ b/salt/utils/jinja.py
+@@ -36,10 +36,10 @@
+ from salt.utils.versions import LooseVersion
+ 
+ try:
+-    from jinja2 import Markup
+-except ImportError:
+-    # Markup moved to markupsafe in jinja>= 3.1
+     from markupsafe import Markup
++except ImportError:
++    # jinja < 3.1
++    from jinja2 import Markup
+ 
+ log = logging.getLogger(__name__)
+ 
+@@ -713,9 +713,9 @@ def method_call(obj, f_name, *f_args, **f_kwargs):
+     return getattr(obj, f_name, lambda *args, **kwargs: None)(*f_args, **f_kwargs)
+ 
+ 
+-if jinja2.__version__ < "3.0.0":
++try:
+     contextfunction = jinja2.contextfunction
+-else:
++except AttributeError:
+     contextfunction = jinja2.pass_context
+ 
+ 

diff --git a/app-admin/salt/salt-3003.3-r1.ebuild b/app-admin/salt/salt-3003.3-r1.ebuild
new file mode 100644
index 000000000000..fbccb4248798
--- /dev/null
+++ b/app-admin/salt/salt-3003.3-r1.ebuild
@@ -0,0 +1,203 @@
+# 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
+}


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/, app-admin/salt/files/
@ 2022-03-31 16:07 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2022-03-31 16:07 UTC (permalink / raw
  To: gentoo-commits

commit:     d0eb0550a8a7fe8eff82c8f8c87b02590437d9ec
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 31 16:07:13 2022 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Mar 31 16:07:13 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d0eb0550

app-admin/salt: Revbump to 3004.1-r1, fix pyzmq dep (bug #836462)

Closes: https://bugs.gentoo.org/836462
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 app-admin/salt/files/salt-3004.1-relax-pyzmq-dep.patch       | 12 ++++++++++++
 app-admin/salt/{salt-3004.1.ebuild => salt-3004.1-r1.ebuild} |  3 ++-
 2 files changed, 14 insertions(+), 1 deletion(-)

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
new file mode 100644
index 000000000000..99d432158215
--- /dev/null
+++ b/app-admin/salt/files/salt-3004.1-relax-pyzmq-dep.patch
@@ -0,0 +1,12 @@
+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/salt-3004.1.ebuild b/app-admin/salt/salt-3004.1-r1.ebuild
similarity index 98%
rename from app-admin/salt/salt-3004.1.ebuild
rename to app-admin/salt/salt-3004.1-r1.ebuild
index 6f097cc01663..91e2f2df0e5f 100644
--- a/app-admin/salt/salt-3004.1.ebuild
+++ b/app-admin/salt/salt-3004.1-r1.ebuild
@@ -71,7 +71,7 @@ RDEPEND="
 	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}] )
+	zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] )
 "
 BDEPEND="
 	test? (
@@ -109,6 +109,7 @@ PATCHES=(
 	"${FILESDIR}/salt-3003.1-tests.patch"
 	"${FILESDIR}/salt-3004.1-jinja-3.patch"
 	"${FILESDIR}/salt-3004.1-tests.patch"
+	"${FILESDIR}/salt-3004.1-relax-pyzmq-dep.patch"
 )
 
 python_prepare_all() {


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/, app-admin/salt/files/
@ 2022-03-31 16:18 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2022-03-31 16:18 UTC (permalink / raw
  To: gentoo-commits

commit:     0d24ba7f664d5329904a8e7b1cd8358298fee1ae
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 31 16:18:18 2022 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Mar 31 16:18:18 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0d24ba7f

app-admin/salt: revbump to 3003.4 for pyzmq dep

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 app-admin/salt/files/salt-3003.4-relax-pyzmq-dep.patch       | 12 ++++++++++++
 app-admin/salt/{salt-3003.4.ebuild => salt-3003.4-r1.ebuild} |  3 ++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/app-admin/salt/files/salt-3003.4-relax-pyzmq-dep.patch b/app-admin/salt/files/salt-3003.4-relax-pyzmq-dep.patch
new file mode 100644
index 000000000000..7585af58ab11
--- /dev/null
+++ b/app-admin/salt/files/salt-3003.4-relax-pyzmq-dep.patch
@@ -0,0 +1,12 @@
+diff --git a/requirements/zeromq.txt b/requirements/zeromq.txt
+index 35d9014713..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 ; python_version < "3.9"
+-pyzmq>=19.0.2 ; python_version >= "3.9"
++pyzmq

diff --git a/app-admin/salt/salt-3003.4.ebuild b/app-admin/salt/salt-3003.4-r1.ebuild
similarity index 98%
rename from app-admin/salt/salt-3003.4.ebuild
rename to app-admin/salt/salt-3003.4-r1.ebuild
index a94b0761731f..50ee0911545b 100644
--- a/app-admin/salt/salt-3003.4.ebuild
+++ b/app-admin/salt/salt-3003.4-r1.ebuild
@@ -71,7 +71,7 @@ RDEPEND="
 	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}] )
+	zeromq? ( >=dev-python/pyzmq-19.1.0[${PYTHON_USEDEP}] )
 "
 BDEPEND="
 	test? (
@@ -110,6 +110,7 @@ PATCHES=(
 	"${FILESDIR}/salt-3003.1-tests.patch"
 	"${FILESDIR}/salt-3004.1-jinja-3.patch"
 	"${FILESDIR}/salt-3003.4-tests.patch"
+	"${FILESDIR}/salt-3003.4-relax-pyzmq-dep.patch"
 )
 
 python_prepare_all() {


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/, app-admin/salt/files/
@ 2022-04-18 17:34 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2022-04-18 17:34 UTC (permalink / raw
  To: gentoo-commits

commit:     f46615977e1e24ca348fffdc81d1011dfdf0b4d0
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 18 17:33:24 2022 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Apr 18 17:33:53 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f4661597

app-admin/salt: Revbump, fix probly with py319 (bug #839276)

Closes: https://bugs.gentoo.org/839276
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 app-admin/salt/files/salt-3004.1-py310.patch       | 53 ++++++++++++++++++++++
 ...salt-3004.1-r2.ebuild => salt-3004.1-r3.ebuild} |  1 +
 2 files changed, 54 insertions(+)

diff --git a/app-admin/salt/files/salt-3004.1-py310.patch b/app-admin/salt/files/salt-3004.1-py310.patch
new file mode 100644
index 000000000000..7e30d7687a66
--- /dev/null
+++ b/app-admin/salt/files/salt-3004.1-py310.patch
@@ -0,0 +1,53 @@
+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/salt-3004.1-r2.ebuild b/app-admin/salt/salt-3004.1-r3.ebuild
similarity index 99%
rename from app-admin/salt/salt-3004.1-r2.ebuild
rename to app-admin/salt/salt-3004.1-r3.ebuild
index 38244a2fee60..d7ded011cd0a 100644
--- a/app-admin/salt/salt-3004.1-r2.ebuild
+++ b/app-admin/salt/salt-3004.1-r3.ebuild
@@ -110,6 +110,7 @@ PATCHES=(
 	"${FILESDIR}/salt-3004.1-jinja-3.patch"
 	"${FILESDIR}/salt-3004.1-tests.patch"
 	"${FILESDIR}/salt-3004.1-relax-pyzmq-dep.patch"
+	"${FILESDIR}/salt-3004.1-py310.patch"
 )
 
 python_prepare_all() {


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/, app-admin/salt/files/
@ 2022-04-18 18:49 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2022-04-18 18:49 UTC (permalink / raw
  To: gentoo-commits

commit:     7a228496d70b4875c6379690e30fa4e6d99d7b04
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 18 18:49:18 2022 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Apr 18 18:49:32 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a228496

app-admin/salt: Revbump, fix tests

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 app-admin/salt/files/salt-3004.1-tests.patch         | 20 ++++++++++++++++++++
 .../{salt-3004.1-r3.ebuild => salt-3004.1-r4.ebuild} |  1 +
 2 files changed, 21 insertions(+)

diff --git a/app-admin/salt/files/salt-3004.1-tests.patch b/app-admin/salt/files/salt-3004.1-tests.patch
index 3a36977246f2..956cf1b0041c 100644
--- a/app-admin/salt/files/salt-3004.1-tests.patch
+++ b/app-admin/salt/files/salt-3004.1-tests.patch
@@ -289,3 +289,23 @@ index 907c67f477..3f68cfe8f3 100644
      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/salt-3004.1-r3.ebuild b/app-admin/salt/salt-3004.1-r4.ebuild
similarity index 99%
rename from app-admin/salt/salt-3004.1-r3.ebuild
rename to app-admin/salt/salt-3004.1-r4.ebuild
index d7ded011cd0a..f70d9445491a 100644
--- a/app-admin/salt/salt-3004.1-r3.ebuild
+++ b/app-admin/salt/salt-3004.1-r4.ebuild
@@ -82,6 +82,7 @@ BDEPEND="
 		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}]


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/, app-admin/salt/files/
@ 2022-06-22 11:50 Michał Górny
  0 siblings, 0 replies; 35+ messages in thread
From: Michał Górny @ 2022-06-22 11:50 UTC (permalink / raw
  To: gentoo-commits

commit:     0c9ce796e74e49c9ee48fad0443575b76933714f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 22 11:46:52 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jun 22 11:50:41 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0c9ce796

app-admin/salt: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 app-admin/salt/Manifest                            |   3 -
 .../files/salt-2017.7.0-dont-realpath-tmpdir.patch |  19 --
 .../files/salt-2019.2.8-ansible-roster-fix.patch   |  13 --
 app-admin/salt/files/salt-3000.1-tests.patch       |  58 ------
 app-admin/salt/files/salt-3000.2-py38-abc.patch    |  79 --------
 .../salt/files/salt-3000.2-py38-logwarn.patch      | 116 ------------
 app-admin/salt/files/salt-3000.2-py38.patch        |  60 ------
 app-admin/salt/files/salt-3000.2-tests.patch       |  18 --
 app-admin/salt/salt-3000.8-r1.ebuild               | 202 --------------------
 app-admin/salt/salt-3000.9-r1.ebuild               | 203 ---------------------
 10 files changed, 771 deletions(-)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index c5be9145b95b..e4b2bec60be3 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,6 +1,3 @@
-DIST salt-3000.2-py38-misc.patch.gz 6250 BLAKE2B 68fff80a042e6bf208ea2d9692da7a7b1e29572f1ec3c850c14743bbf2821d231f933ec4e6d6eaad12acee0b7666888a37a72872b2b082c92d8db9de988fbbec SHA512 6d4a66323a423e630f7cc73b566ed96c452c8fc3d72c25a2dd86033c4774c1c8e8b8701e1d4ee92994d4148c398d704f419023e26d8b40c8fdd63f9d79d9d52f
-DIST salt-3000.8.tar.gz 15249139 BLAKE2B df306669ba11dd650621222ff9c69f5a6e16b6f431e9d93e6712ee95da43091bfe28416fe0d71988ed9ee70cb347755b779a356c50fa59c63c67a874ed1906f4 SHA512 a18d5bea3b3835f83d5b1e5315990d83f6c58c36df5589d5de0f8cc3a46db4c960b58032e29d56841a160b9b170cdbb81bca38dbbd72ccb5866ccc8a7da6e800
-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

diff --git a/app-admin/salt/files/salt-2017.7.0-dont-realpath-tmpdir.patch b/app-admin/salt/files/salt-2017.7.0-dont-realpath-tmpdir.patch
deleted file mode 100644
index 90a48a662998..000000000000
--- a/app-admin/salt/files/salt-2017.7.0-dont-realpath-tmpdir.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/tests/support/paths.py b/tests/support/paths.py
-index da93c8e1e3..895c636fef 100644
---- a/tests/support/paths.py
-+++ b/tests/support/paths.py
-@@ -40,12 +40,12 @@ if CODE_DIR not in sys.path:
- if TESTS_DIR not in sys.path:
-     sys.path.insert(1, TESTS_DIR)
- 
--SYS_TMP_DIR = os.path.abspath(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}
-     os.environ.get('TMPDIR', tempfile.gettempdir()) if not sys.platform.startswith('darwin') else '/tmp'
--))
-+)
- TMP = os.path.join(SYS_TMP_DIR, 'salt-tests-tmpdir')
- FILES = os.path.join(INTEGRATION_TEST_DIR, 'files')
- PYEXEC = 'python{0}.{1}'.format(*sys.version_info)

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
deleted file mode 100644
index 597c97e87774..000000000000
--- a/app-admin/salt/files/salt-2019.2.8-ansible-roster-fix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-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/files/salt-3000.1-tests.patch b/app-admin/salt/files/salt-3000.1-tests.patch
deleted file mode 100644
index 12a2e7822b94..000000000000
--- a/app-admin/salt/files/salt-3000.1-tests.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-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/files/salt-3000.2-py38-abc.patch b/app-admin/salt/files/salt-3000.2-py38-abc.patch
deleted file mode 100644
index e9f64b664178..000000000000
--- a/app-admin/salt/files/salt-3000.2-py38-abc.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-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-logwarn.patch b/app-admin/salt/files/salt-3000.2-py38-logwarn.patch
deleted file mode 100644
index e77d2376ce1b..000000000000
--- a/app-admin/salt/files/salt-3000.2-py38-logwarn.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-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.patch b/app-admin/salt/files/salt-3000.2-py38.patch
deleted file mode 100644
index 1c543a085b10..000000000000
--- a/app-admin/salt/files/salt-3000.2-py38.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-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/files/salt-3000.2-tests.patch b/app-admin/salt/files/salt-3000.2-tests.patch
deleted file mode 100644
index a562dee5bf94..000000000000
--- a/app-admin/salt/files/salt-3000.2-tests.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- salt-3000.2.orig/tests/unit/utils/test_verify.py	2020-04-29 16:57:02.775635698 -0700
-+++ salt-3000.2/tests/unit/utils/test_verify.py	2020-04-29 16:57:58.042282147 -0700
-@@ -324,6 +324,7 @@
-         self.assertTrue(os.path.exists(path))
-
-
-+@skipIf(True, "breaks under sandbox")
- class TestCleanPath(TestCase):
-     '''
-     salt.utils.clean_path works as expected
-@@ -366,6 +367,7 @@
-         raise ctypes.WinError()
-
-
-+@skipIf(True, "breaks under sandbox")
- @skipIf(six.PY2 and salt.utils.platform.is_windows(), 'Skipped on windows py2')
- class TestCleanPathLink(TestCase):
-     '''

diff --git a/app-admin/salt/salt-3000.8-r1.ebuild b/app-admin/salt/salt-3000.8-r1.ebuild
deleted file mode 100644
index a7beec09126f..000000000000
--- a/app-admin/salt/salt-3000.8-r1.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..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="https://github.com/${PN}stack/${PN}.git"
-	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"
-	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-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_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-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 )"
-
-# tests failing with newer versions of deps
-RESTRICT+=" 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"
-)
-
-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,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
-
-	# tests that require network access
-	rm tests/unit/{states,modules}/test_zcbuildout.py || die
-	rm tests/unit/transport/test_zeromq.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
-
-	# 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-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-3000.9-r1.ebuild b/app-admin/salt/salt-3000.9-r1.ebuild
deleted file mode 100644
index 5a4ddb137b9a..000000000000
--- a/app-admin/salt/salt-3000.9-r1.ebuild
+++ /dev/null
@@ -1,203 +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
-		https://dev.gentoo.org/~chutzpah/dist/salt/salt-3000.2-py38-misc.patch.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-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_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-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 )"
-
-# tests failing with newer versions of deps
-#RESTRICT+=" 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"
-	"${FILESDIR}/salt-3000.9-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"
-)
-
-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,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 tests/unit/test_module_names.py || die
-
-	# tests that require network access
-	rm tests/unit/{states,modules}/test_zcbuildout.py || die
-	rm tests/unit/transport/test_zeromq.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
-
-	# 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-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/, app-admin/salt/files/
@ 2022-08-31 17:21 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2022-08-31 17:21 UTC (permalink / raw
  To: gentoo-commits

commit:     996b6059e81eea8dc624fb2c41b6a22c81d7e9e2
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 31 17:20:58 2022 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Aug 31 17:21:13 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=996b6059

app-admin/salt: add 3005

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 app-admin/salt/Manifest                            |   1 +
 .../salt/files/salt-3005-relax-pyzmq-dep.patch     |  12 ++
 app-admin/salt/files/salt-3005-tests.patch         |  94 ++++++++++
 app-admin/salt/salt-3005.ebuild                    | 205 +++++++++++++++++++++
 4 files changed, 312 insertions(+)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index c25bbbf6d61c..830615c9303c 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -3,3 +3,4 @@ DIST salt-3003.4.tar.gz 16031515 BLAKE2B 34902aba7ab64f4ddbacbad1b776b9b2218caf2
 DIST salt-3003.5.tar.gz 16056545 BLAKE2B ede3f0c63175f093dca07bee1bfb659cc608336ae92f532fc45868bd7eca659498c42e5d44324492744b802ade088adac869277679989550e217c1a135d6566d SHA512 ebda2056b4d6d216a0689b919d00aa78f615c355d21703d1939dbb6b00e9ad9347be4ee5b861282521f2d337bf7bf2fdc85e6942016358088a094d854fb33be9
 DIST salt-3004.1.tar.gz 17685649 BLAKE2B 64950cdc8420228f935d4a21fc20872da9ecf7c51b866ec3c59b46486b84a739b002acc44fa909eed93ce3dc6bedc9804df05d3d9ee5a9a13cd9d041ba70f876 SHA512 9353a8dc2a1c6e272318c6f35059236c5d78b6c8930f715275b701c12fca3be1fe930eb533f3f0c22933ba60967b0980300b922fe486cee9a62e6cdb568bdf91
 DIST salt-3004.2.tar.gz 17685127 BLAKE2B a42e31d8a006488b3a6f341f817cde21ff86248d2b548d9914c429c62d7570cdf46cf2b41311cbb08ced7f9518e68156c6df3eb78e55cacfd4d40a4e7a54f52b SHA512 b2fa434f1d25eabac51d65d75bb020943eb71aff113d683e6f436a0f205bd3c7682b1b7acd4d9a62bf37a47eb0561293d263f3174d5e266f0998a1652fcae2ef
+DIST salt-3005.tar.gz 17894520 BLAKE2B 67e755bdbe772991f620d09f61836f8ccfa2039722c3281ec4cfaa8ef76e34c57e4db861cc652545e37eb965ab765f6b6ba0250407d7d7448aa5d4685ad9492a SHA512 c2019a97a5a98b4810cdace826d5e0a6d2890a984da4b95109c1b9328a2fd11cafd2fb0ef9752adeea1d36f8b2a69b3a4a6a5a092b6a7f050c60ec52da314a18

diff --git a/app-admin/salt/files/salt-3005-relax-pyzmq-dep.patch b/app-admin/salt/files/salt-3005-relax-pyzmq-dep.patch
new file mode 100644
index 000000000000..ff47115af210
--- /dev/null
+++ b/app-admin/salt/files/salt-3005-relax-pyzmq-dep.patch
@@ -0,0 +1,12 @@
+diff --git a/requirements/zeromq.txt b/requirements/zeromq.txt
+index eb4d796418..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 ; python_version < "3.9"
+-pyzmq>19.0.2 ; python_version >= "3.9"
++pyzmq

diff --git a/app-admin/salt/files/salt-3005-tests.patch b/app-admin/salt/files/salt-3005-tests.patch
new file mode 100644
index 000000000000..f170ef7dcafd
--- /dev/null
+++ b/app-admin/salt/files/salt-3005-tests.patch
@@ -0,0 +1,94 @@
+diff --git a/tests/conftest.py b/tests/conftest.py
+index 24ecf57e04..babc7ced90 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -684,8 +684,6 @@ def salt_factories_config():
+     """
+     return {
+         "code_dir": str(CODE_DIR),
+-        "inject_coverage": MAYBE_RUN_COVERAGE,
+-        "inject_sitecustomize": MAYBE_RUN_COVERAGE,
+         "start_timeout": 120
+         if (os.environ.get("JENKINS_URL") or os.environ.get("CI"))
+         else 60,
+diff --git a/tests/pytests/unit/_logging/handlers/test_deferred_stream_handler.py b/tests/pytests/unit/_logging/handlers/test_deferred_stream_handler.py
+index 230da8abc8..f6f1a70ce4 100644
+--- a/tests/pytests/unit/_logging/handlers/test_deferred_stream_handler.py
++++ b/tests/pytests/unit/_logging/handlers/test_deferred_stream_handler.py
+@@ -62,6 +62,7 @@ def _deferred_write_on_flush_proc_target():
+         assert stds.stderr == "Foo\nBar\n"
+ 
+ 
++@pytest.mark.skip("doesn't work with sandbox")
+ def test_sync_with_handlers():
+     proc = multiprocessing.Process(target=_sync_with_handlers_proc_target)
+     proc.start()
+@@ -69,6 +70,7 @@ def test_sync_with_handlers():
+     assert proc.exitcode == 0
+ 
+ 
++@pytest.mark.skip("doesn't work with sandbox")
+ def test_deferred_write_on_flush():
+     proc = multiprocessing.Process(target=_deferred_write_on_flush_proc_target)
+     proc.start()
+diff --git a/tests/pytests/unit/modules/test_portage_config.py b/tests/pytests/unit/modules/test_portage_config.py
+index 5cc6b90596..f344526909 100644
+--- a/tests/pytests/unit/modules/test_portage_config.py
++++ b/tests/pytests/unit/modules/test_portage_config.py
+@@ -53,7 +53,7 @@ def test_enforce_nice_config(tmp_path):
+         ("use", ["apple", "-banana", "ananas", "orange"]),
+     ]
+ 
+-    base_path = str(tmp_path / "/package.{0}")
++    base_path = str(f"{tmp_path}/package.{{0}}")
+ 
+     def make_line(atom, addition):
+         return atom + (" " + addition if addition != "" else "") + "\n"
+@@ -72,14 +72,3 @@ def test_enforce_nice_config(tmp_path):
+             portage_config, "_merge_flags", lambda l1, l2, _: list(set(l1 + l2))
+         ):
+             portage_config.enforce_nice_config()
+-
+-    for typ, additions in supported:
+-        for atom, file_name in atoms:
+-            with salt.utils.files.fopen(
+-                base_path.format(typ) + "/" + file_name, "r"
+-            ) as fh:
+-                for line in fh:
+-                    for atom in line:
+-                        assert atom not in line
+-                    for addition in additions:
+-                        assert addition not in line
+diff --git a/tests/support/cli_scripts.py b/tests/support/cli_scripts.py
+index 270af75d4b..50c08f4ed2 100644
+--- a/tests/support/cli_scripts.py
++++ b/tests/support/cli_scripts.py
+@@ -32,8 +32,6 @@ def get_script_path(bin_dir, script_name):
+             bin_dir=bin_dir,
+             script_name=script_name,
+             code_dir=RUNTIME_VARS.CODE_DIR,
+-            inject_coverage="COVERAGE_PROCESS_START" in os.environ,
+-            inject_sitecustomize="COVERAGE_PROCESS_START" in os.environ,
+         )
+     log.info("Returning script path %r", script_path)
+     return script_path
+diff --git a/tests/unit/utils/test_schema.py b/tests/unit/utils/test_schema.py
+index 8c648f5288..ce5715a562 100644
+--- a/tests/unit/utils/test_schema.py
++++ b/tests/unit/utils/test_schema.py
+@@ -873,6 +873,7 @@ class ConfigTestCase(TestCase):
+         )
+ 
+     @skipIf(HAS_JSONSCHEMA is False, "The 'jsonschema' library is missing")
++    @skipIf(True, "Does not work with sandbox")
+     def test_hostname_config_validation(self):
+         class TestConf(schema.Schema):
+             item = schema.HostnameItem(title="Item", description="Item description")
+@@ -2099,6 +2100,7 @@ class ConfigTestCase(TestCase):
+         self.assertEqual(item.serialize(), {"not": item.item.serialize()})
+ 
+     @skipIf(HAS_JSONSCHEMA is False, "The 'jsonschema' library is missing")
++    @skipIf(True, "Does not work with sandbox")
+     def test_not_config_validation(self):
+         class TestConf(schema.Schema):
+             item = schema.ArrayItem(

diff --git a/app-admin/salt/salt-3005.ebuild b/app-admin/salt/salt-3005.ebuild
new file mode 100644
index 000000000000..08bff04ce91f
--- /dev/null
+++ b/app-admin/salt/salt-3005.ebuild
@@ -0,0 +1,205 @@
+# 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 ~riscv"
+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/toml-0.10.2[${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"
+)
+
+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}"
+	)
+}


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/, app-admin/salt/files/
@ 2023-01-10 14:15 Michał Górny
  0 siblings, 0 replies; 35+ messages in thread
From: Michał Górny @ 2023-01-10 14:15 UTC (permalink / raw
  To: gentoo-commits

commit:     4365185b4aa2bd622e9696a28a9e996c5adc56a6
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 10 14:01:34 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jan 10 14:15:19 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4365185b

app-admin/salt: Remove old requiring Python < 3.10

Closes: https://bugs.gentoo.org/887725
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 app-admin/salt/Manifest                            |   2 -
 ...salt-2019.2.0-skip-tests-that-oom-machine.patch |  20 --
 .../files/salt-3002-dont-realpath-on-tmpdir.patch  |  38 ----
 app-admin/salt/files/salt-3002.5-tests.patch       |  30 ---
 app-admin/salt/files/salt-3002.7-tests.patch       |  12 --
 .../salt/files/salt-3002.8-relax-pyzmq-dep.patch   |  11 -
 app-admin/salt/files/salt-3002.8-tests.patch       |  33 ---
 app-admin/salt/files/salt-3003.3-tests.patch       | 233 ---------------------
 .../salt/files/salt-3003.4-relax-pyzmq-dep.patch   |  12 --
 app-admin/salt/files/salt-3003.4-tests.patch       |  52 -----
 app-admin/salt/salt-3002.9-r1.ebuild               | 188 -----------------
 app-admin/salt/salt-3003.5-r2.ebuild               | 197 -----------------
 12 files changed, 828 deletions(-)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 1dedeb2a1f3e..9fc008112f31 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,5 +1,3 @@
-DIST salt-3002.9.tar.gz 15817470 BLAKE2B 31fb6dbb61a9f0ab22ca761810a934792e9fa9c78628f925e63d3d54d00fa4ea0b4aa806ba3ea92f7397ba3291281bf8989d9a288fb3114c7911cdebfc9acd6a SHA512 f34fd05960a68cba51f34cf8b7c737bd84d00472cec80628f082d16e54cf70705e191ac4b6690bf406a8a11e26c8155e4bdbdec34ede5f0721fd9b5e637a0ed1
-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-2019.2.0-skip-tests-that-oom-machine.patch b/app-admin/salt/files/salt-2019.2.0-skip-tests-that-oom-machine.patch
deleted file mode 100644
index d0172d739554..000000000000
--- a/app-admin/salt/files/salt-2019.2.0-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 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/files/salt-3002-dont-realpath-on-tmpdir.patch b/app-admin/salt/files/salt-3002-dont-realpath-on-tmpdir.patch
deleted file mode 100644
index 5ef68dcd1803..000000000000
--- a/app-admin/salt/files/salt-3002-dont-realpath-on-tmpdir.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-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.5-tests.patch b/app-admin/salt/files/salt-3002.5-tests.patch
deleted file mode 100644
index 5a2eb43c3a42..000000000000
--- a/app-admin/salt/files/salt-3002.5-tests.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- salt-3002.5/tests/unit/modules/test_cmdmod.py	2021-02-26 11:01:33.407219444 -0800
-+++ salt-3002.5-python3_7/tests/unit/modules/test_cmdmod.py	2021-02-26 11:01:47.709124416 -0800
-@@ -560,6 +560,7 @@
- 
-         self.assertEqual(ret["stdout"], salt.utils.stringutils.to_unicode(stdout))
- 
-+    @skipIf(True, "doesn't work in sandbox")
-     def test_run_all_output_loglevel_debug(self):
-         """
-         Test that specifying debug for loglevel
---- salt-3002.5//tests/unit/utils/test_thin.py	2021-02-26 13:30:47.841179546 -0800
-+++ salt-3002.5-python3_7//tests/unit/utils/test_thin.py	2021-02-26 13:41:33.681174531 -0800
-@@ -1275,6 +1275,7 @@
-     @skipIf(
-         salt.utils.platform.is_windows(), "salt-ssh does not deploy to/from windows"
-     )
-+    @skipIf(True, "does not work with network-sandbox")
-     def test_thin_dir(self):
-         """
-         Test the thin dir to make sure salt-call can run
---- salt-3002.5/tests/unit/modules/test_cmdmod.py	2021-02-26 13:30:48.014178373 -0800
-+++ salt-3002.5-python3_7/tests/unit/modules/test_cmdmod.py	2021-02-26 13:43:22.395441008 -0800
-@@ -439,6 +439,7 @@
- 
-     @skipIf(salt.utils.platform.is_windows(), "Do not run on Windows")
-     @skipIf(salt.utils.platform.is_darwin(), "Do not run on MacOS")
-+    @skipIf(True, "does not work with network-sandbox")
-     def test_run_cwd_in_combination_with_runas(self):
-         """
-         cmd.run executes command in the cwd directory

diff --git a/app-admin/salt/files/salt-3002.7-tests.patch b/app-admin/salt/files/salt-3002.7-tests.patch
deleted file mode 100644
index 828b7eee76eb..000000000000
--- a/app-admin/salt/files/salt-3002.7-tests.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-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/files/salt-3002.8-relax-pyzmq-dep.patch b/app-admin/salt/files/salt-3002.8-relax-pyzmq-dep.patch
deleted file mode 100644
index e42a22b4e8b7..000000000000
--- a/app-admin/salt/files/salt-3002.8-relax-pyzmq-dep.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-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
deleted file mode 100644
index c94a0c106347..000000000000
--- a/app-admin/salt/files/salt-3002.8-tests.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-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/files/salt-3003.3-tests.patch b/app-admin/salt/files/salt-3003.3-tests.patch
deleted file mode 100644
index 049d8c164c55..000000000000
--- a/app-admin/salt/files/salt-3003.3-tests.patch
+++ /dev/null
@@ -1,233 +0,0 @@
-diff --git a/salt/transport/ipc.py b/salt/transport/ipc.py
-index 29210d7522..4fd648116f 100644
---- a/salt/transport/ipc.py
-+++ b/salt/transport/ipc.py
-@@ -2,7 +2,6 @@
- IPC transport classes
- """
- 
--
- import errno
- import logging
- import socket
-@@ -20,6 +19,7 @@ from salt.ext.tornado.ioloop import IOLoop
- from salt.ext.tornado.ioloop import TimeoutError as TornadoTimeoutError
- from salt.ext.tornado.iostream import IOStream, StreamClosedError
- from salt.ext.tornado.locks import Lock
-+import tornado.iostream
- 
- log = logging.getLogger(__name__)
- 
-@@ -693,11 +693,11 @@ class IPCMessageSubscriber(IPCClient):
-                 if not first_sync_msg:
-                     # We read at least one piece of data and we're on sync run
-                     break
--        except TornadoTimeoutError:
-+        except TornadoTimeoutError if isinstance(TornadoTimeoutError, BaseException) else (salt.ext.tornado.ioloop.TimeoutError):
-             # In the timeout case, just return None.
-             # Keep 'self._read_stream_future' alive.
-             ret = None
--        except StreamClosedError as exc:
-+        except StreamClosedError if isinstance(StreamClosedError, BaseException) else (tornado.iostream.StreamClosedError) as exc:
-             log.trace("Subscriber disconnected from IPC %s", self.socket_path)
-             self._read_stream_future = None
-         except Exception as exc:  # pylint: disable=broad-except
-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/functional/modules/state/requisites/test_listen.py b/tests/pytests/functional/modules/state/requisites/test_listen.py
-index b7a90d0ca0..26030f403b 100644
---- a/tests/pytests/functional/modules/state/requisites/test_listen.py
-+++ b/tests/pytests/functional/modules/state/requisites/test_listen.py
-@@ -292,43 +292,3 @@ def test_listen_requisite_resolution_names(state, state_tree):
-         assert "test_|-listener_service_|-nginx_|-mod_watch" in ret
-         assert "test_|-listener_service_|-crond_|-mod_watch" in ret
- 
--
--def test_onlyif_req(state, subtests):
--    onlyif = [{}]
--    state_id = "test_|-onlyif test_|-onlyif test_|-succeed_with_changes"
--    with subtests.test(onlyif=onlyif):
--        ret = state.single(
--            name="onlyif test", fun="test.succeed_with_changes", onlyif=onlyif
--        )
--        assert ret[state_id]["result"] is True
--        assert ret[state_id]["comment"] == "Success!"
--
--    onlyif = [{"fun": "test.true"}]
--    state_id = "test_|-onlyif test_|-onlyif test_|-succeed_without_changes"
--    with subtests.test(onlyif=onlyif):
--        ret = state.single(
--            name="onlyif test", fun="test.succeed_without_changes", onlyif=onlyif
--        )
--        assert ret[state_id]["result"] is True
--        assert not ret[state_id]["changes"]
--        assert ret[state_id]["comment"] == "Success!"
--
--    onlyif = [{"fun": "test.false"}]
--    state_id = "test_|-onlyif test_|-onlyif test_|-fail_with_changes"
--    with subtests.test(onlyif=onlyif):
--        ret = state.single(
--            name="onlyif test", fun="test.fail_with_changes", onlyif=onlyif
--        )
--        assert ret[state_id]["result"] is True
--        assert not ret[state_id]["changes"]
--        assert ret[state_id]["comment"] == "onlyif condition is false"
--
--    onlyif = [{"fun": "test.true"}]
--    state_id = "test_|-onlyif test_|-onlyif test_|-fail_with_changes"
--    with subtests.test(onlyif=onlyif):
--        ret = state.single(
--            name="onlyif test", fun="test.fail_with_changes", onlyif=onlyif
--        )
--        assert ret[state_id]["result"] is False
--        assert ret[state_id]["changes"]
--        assert ret[state_id]["comment"] == "Failure!"
-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 3b91757a03..5fa0f88e78 100644
---- a/tests/unit/ext/test_ipaddress.py
-+++ b/tests/unit/ext/test_ipaddress.py
-@@ -2707,6 +2707,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/modules/test_boto_route53.py b/tests/unit/modules/test_boto_route53.py
-index e745f8f8c6..ab36a90a79 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, "test case appears to be broken")
- @skipIf(HAS_MOTO is False, "The moto module must be installed.")
- @skipIf(
-     _has_required_moto() is False,
-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 bf7a323e26..3c8ce3a128 100644
---- a/tests/unit/utils/test_vt.py
-+++ b/tests/unit/utils/test_vt.py
-@@ -17,6 +17,8 @@ import subprocess
- import sys
- import time
- 
-+import pytest
-+
- import salt.utils
- import salt.utils.files
- import salt.utils.platform
-@@ -275,6 +277,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
-@@ -342,6 +345,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/files/salt-3003.4-relax-pyzmq-dep.patch b/app-admin/salt/files/salt-3003.4-relax-pyzmq-dep.patch
deleted file mode 100644
index 7585af58ab11..000000000000
--- a/app-admin/salt/files/salt-3003.4-relax-pyzmq-dep.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/requirements/zeromq.txt b/requirements/zeromq.txt
-index 35d9014713..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 ; python_version < "3.9"
--pyzmq>=19.0.2 ; python_version >= "3.9"
-+pyzmq

diff --git a/app-admin/salt/files/salt-3003.4-tests.patch b/app-admin/salt/files/salt-3003.4-tests.patch
deleted file mode 100644
index 93fd4214021b..000000000000
--- a/app-admin/salt/files/salt-3003.4-tests.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-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-3002.9-r1.ebuild b/app-admin/salt/salt-3002.9-r1.ebuild
deleted file mode 100644
index 57cc741d1ea3..000000000000
--- a/app-admin/salt/salt-3002.9-r1.ebuild
+++ /dev/null
@@ -1,188 +0,0 @@
-# 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/tomli[${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}] )
-	<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[${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/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.2-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() {
-	:
-}

diff --git a/app-admin/salt/salt-3003.5-r2.ebuild b/app-admin/salt/salt-3003.5-r2.ebuild
deleted file mode 100644
index 32ca2ccd2aae..000000000000
--- a/app-admin/salt/salt-3003.5-r2.ebuild
+++ /dev/null
@@ -1,197 +0,0 @@
-# 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/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[${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.1.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 )"
-
-# tests currently broken
-RESTRICT+=" 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.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() {
-	# 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() {
-	:
-}


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/, app-admin/salt/files/
@ 2023-01-30  4:55 Sebastian Pipping
  0 siblings, 0 replies; 35+ messages in thread
From: Sebastian Pipping @ 2023-01-30  4:55 UTC (permalink / raw
  To: gentoo-commits

commit:     4880642564e0285f7670d186aa254c3f9202f86d
Author:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 30 04:48:57 2023 +0000
Commit:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
CommitDate: Mon Jan 30 04:53:23 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48806425

app-admin/salt: Fix importlib-metadata usage + fix salt-ssh for py3.11 hosts

The Python 3.11 issue upstream:
- https://github.com/saltstack/salt/issues/62676
- https://github.com/saltstack/salt/pull/62677

The importlib-metadata issue:
- https://github.com/saltstack/salt/issues/62851
- https://github.com/saltstack/salt/pull/62854

Patches have been extracted from pull requests as following:
- git clone https://github.com/saltstack/salt
- cd salt
- git diff b676e6338a7c094cb3335d11f851ac0e12222017^ 45b924bad865a00116d2e045fe71229f2dc3376e -- salt/utils/entrypoints.py > salt-3005.1-importlib-metadata-5-r1.patch
- git diff 00352ae6e0ed0b80a75ec65cb925dd31a625010d^ 91efaea4975f37de97a88687d40e54e774151a8b -- salt/modules/file.py | head -n 123 > salt-3005.1-modules-file-python-3.11-host.patch

Be sure to call salt-ssh with "--regen-thin" the first time
after updating, to not end up running unpatched 3005.1(-r0) code.

Closes: https://bugs.gentoo.org/875389
Closes: https://bugs.gentoo.org/883671
Signed-off-by: Sebastian Pipping <sping <AT> gentoo.org>

 .../salt-3005.1-importlib-metadata-5-r1.patch      |  29 +++
 ...salt-3005.1-modules-file-python-3.11-host.patch | 123 ++++++++++++
 app-admin/salt/salt-3005.1-r1.ebuild               | 220 +++++++++++++++++++++
 3 files changed, 372 insertions(+)

diff --git a/app-admin/salt/files/salt-3005.1-importlib-metadata-5-r1.patch b/app-admin/salt/files/salt-3005.1-importlib-metadata-5-r1.patch
new file mode 100644
index 000000000000..c4c8056c1a6a
--- /dev/null
+++ b/app-admin/salt/files/salt-3005.1-importlib-metadata-5-r1.patch
@@ -0,0 +1,29 @@
+diff --git a/salt/utils/entrypoints.py b/salt/utils/entrypoints.py
+index 3effa0b494..9452878ade 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:
++    try:
++        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)
++    except AttributeError:
++        # importlib-metadata<5.0.0
++        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:
++                    continue
++                entry_points_listing.append(entry_point)
+ 
+     return entry_points_listing
+ 

diff --git a/app-admin/salt/files/salt-3005.1-modules-file-python-3.11-host.patch b/app-admin/salt/files/salt-3005.1-modules-file-python-3.11-host.patch
new file mode 100644
index 000000000000..2e9be8db18c0
--- /dev/null
+++ b/app-admin/salt/files/salt-3005.1-modules-file-python-3.11-host.patch
@@ -0,0 +1,123 @@
+diff --git a/salt/modules/file.py b/salt/modules/file.py
+index f39d618203..93eeaf312e 100644
+--- a/salt/modules/file.py
++++ b/salt/modules/file.py
+@@ -16,7 +16,6 @@ import hashlib
+ import itertools
+ import logging
+ import mmap
+-import operator
+ import os
+ import re
+ import shutil
+@@ -28,7 +27,6 @@ import time
+ import urllib.parse
+ from collections import namedtuple
+ from collections.abc import Iterable, Mapping
+-from functools import reduce
+ 
+ import salt.utils.args
+ import salt.utils.atomicfile
+@@ -1622,38 +1620,38 @@ def comment_line(path, regex, char="#", cmnt=True, backup=".bak"):
+ 
+ def _get_flags(flags):
+     """
+-    Return an integer appropriate for use as a flag for the re module from a
+-    list of human-readable strings
++    Return the names of the Regex flags that correspond to flags
+ 
+     .. code-block:: python
+ 
+-        >>> _get_flags(['MULTILINE', 'IGNORECASE'])
+-        10
++        >>> _get_flags(['IGNORECASE', 'MULTILINE'])
++        re.IGNORECASE|re.MULTILINE
+         >>> _get_flags('MULTILINE')
+-        8
+-        >>> _get_flags(2)
+-        2
++        re.MULTILINE
++        >>> _get_flags(8)
++        re.MULTILINE
++        >>> _get_flags(re.IGNORECASE)
++        re.IGNORECASE
+     """
+-    if isinstance(flags, str):
++    if isinstance(flags, re.RegexFlag):
++        return flags
++    elif isinstance(flags, int):
++        return re.RegexFlag(flags)
++    elif isinstance(flags, str):
+         flags = [flags]
+ 
+     if isinstance(flags, Iterable) and not isinstance(flags, Mapping):
+-        _flags_acc = [0]  # An initial 0 avoids resucing on empty list, an error
++        _flags = re.RegexFlag(0)
+         for flag in flags:
+-            _flag = getattr(re, str(flag).upper())
+-
+-            if not isinstance(_flag, int):
+-                raise SaltInvocationError("Invalid re flag given: {}".format(flag))
+-
+-            _flags_acc.append(_flag)
+-
+-        return reduce(operator.__or__, _flags_acc)
+-    elif isinstance(flags, int):
+-        return flags
++            _flag = getattr(re.RegexFlag, str(flag).upper(), None)
++            if not _flag:
++                raise CommandExecutionError(f"Invalid re flag given: {flag}")
++            _flags |= _flag
++        return _flags
+     else:
+-        raise SaltInvocationError(
+-            'Invalid re flags: "{}", must be given either as a single flag '
+-            "string, a list of strings, or as an integer".format(flags)
++        raise CommandExecutionError(
++            f'Invalid re flags: "{flags}", must be given either as a single flag '
++            "string, a list of strings, as an integer, or as an re flag"
+         )
+ 
+ 
+@@ -2513,8 +2511,8 @@ def replace(
+             "Only one of append and prepend_if_not_found is permitted"
+         )
+ 
+-    flags_num = _get_flags(flags)
+-    cpattern = re.compile(salt.utils.stringutils.to_bytes(pattern), flags_num)
++    re_flags = _get_flags(flags)
++    cpattern = re.compile(salt.utils.stringutils.to_bytes(pattern), re_flags)
+     filesize = os.path.getsize(path)
+     if bufsize == "file":
+         bufsize = filesize
+@@ -2582,7 +2580,7 @@ def replace(
+                             "^{}($|(?=\r\n))".format(re.escape(content))
+                         ),
+                         r_data,
+-                        flags=flags_num,
++                        flags=re_flags,
+                     ):
+                         # Content was found, so set found.
+                         found = True
+@@ -3132,7 +3130,11 @@ def search(path, pattern, flags=8, bufsize=1, ignore_if_missing=False, multiline
+         salt '*' file.search /etc/crontab 'mymaintenance.sh'
+     """
+     if multiline:
+-        flags = _add_flags(flags, "MULTILINE")
++        re_flags = _add_flags(flags, "MULTILINE")
++    else:
++        re_flags = _get_flags(flags)
++
++    if re.RegexFlag.MULTILINE in re_flags:
+         bufsize = "file"
+ 
+     # This function wraps file.replace on purpose in order to enforce
+@@ -3142,7 +3144,7 @@ def search(path, pattern, flags=8, bufsize=1, ignore_if_missing=False, multiline
+         path,
+         pattern,
+         "",
+-        flags=flags,
++        flags=re_flags,
+         bufsize=bufsize,
+         dry_run=True,
+         search_only=True,

diff --git a/app-admin/salt/salt-3005.1-r1.ebuild b/app-admin/salt/salt-3005.1-r1.ebuild
new file mode 100644
index 000000000000..d0056bab8f71
--- /dev/null
+++ b/app-admin/salt/salt-3005.1-r1.ebuild
@@ -0,0 +1,220 @@
+# 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-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-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}"
+	)
+}


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/, app-admin/salt/files/
@ 2023-04-20 19:19 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2023-04-20 19:19 UTC (permalink / raw
  To: gentoo-commits

commit:     9601d095e13f1f0fc2d12fcf0ff1b3aaf9536d97
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 20 19:06:08 2023 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Apr 20 19:19:01 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9601d095

app-admin/salt: add 3006.0

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 app-admin/salt/Manifest                            |   1 +
 .../salt-3006-skip-tests-that-oom-machine.patch    |  21 ++
 app-admin/salt/files/salt-3006-tests.patch         |  74 +++++++
 app-admin/salt/salt-3006.0.ebuild                  | 226 +++++++++++++++++++++
 4 files changed, 322 insertions(+)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index ec9b634f59d7..1e90280e8bdf 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1 +1,2 @@
 DIST salt-3005.1.tar.gz 17914349 BLAKE2B 697c2068bf119e4a19f92a86ce880fec9375c10ba549cdcdd2182cfeaacce31c7bc4c4c91e1a609906b4c5373bb5e3120e0db47ede5b45ee20942d7b2d201e64 SHA512 391f995f0129f3d7104a0eea4fd83b18aa6ecae0fd7a2c77c1154e24b0bcd52cef4b63db12597c85737bb33ddf605e0c23370cef3bf47f9ea85af5b77d74dc50
+DIST salt-3006.0.tar.gz 20377846 BLAKE2B d39a55676f6bc5f70a558684811dd6175b633ceb5b73f4e95bd0137e7a507456f2e77099c05aca082591b9bdff1948632adc9f141e2f8ad26c4bfedd98af3d15 SHA512 999e2eb362607e1a8a0636c3bfa305fb070a5df309b837975a03a0bf02d25e4678eae38e8a1a356ea857a6d81cbb68aeb9f903a55dd221c7485d2f22b309dd77

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
new file mode 100644
index 000000000000..0b62cee96f2f
--- /dev/null
+++ b/app-admin/salt/files/salt-3006-skip-tests-that-oom-machine.patch
@@ -0,0 +1,21 @@
+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/files/salt-3006-tests.patch b/app-admin/salt/files/salt-3006-tests.patch
new file mode 100644
index 000000000000..6135ca8c0ea1
--- /dev/null
+++ b/app-admin/salt/files/salt-3006-tests.patch
@@ -0,0 +1,74 @@
+diff --git a/tests/pytests/unit/modules/test_linux_sysctl.py b/tests/pytests/unit/modules/test_linux_sysctl.py
+index 0bdd24039d..22df70c58d 100644
+--- a/tests/pytests/unit/modules/test_linux_sysctl.py
++++ b/tests/pytests/unit/modules/test_linux_sysctl.py
+@@ -215,7 +215,7 @@ def test_persist_no_conf_failure():
+         ):
+             with pytest.raises(CommandExecutionError):
+                 linux_sysctl.persist("net.ipv4.ip_forward", 42, config=None)
+-    fopen_mock.called_once()
++    fopen_mock.assert_called_once()
+ 
+ 
+ def test_persist_no_conf_success():
+diff --git a/tests/pytests/unit/modules/test_win_ip.py b/tests/pytests/unit/modules/test_win_ip.py
+index 38eb6b1ac5..94a3fe7ca9 100644
+--- a/tests/pytests/unit/modules/test_win_ip.py
++++ b/tests/pytests/unit/modules/test_win_ip.py
+@@ -151,7 +151,7 @@ def test_enable():
+     ):
+         assert win_ip.enable("Ethernet")
+ 
+-    mock_cmd.called_once_with(
++    mock_cmd.assert_called_once_with(
+         [
+             "netsh",
+             "interface",
+@@ -180,7 +180,7 @@ def test_disable():
+     ):
+         assert win_ip.disable("Ethernet")
+ 
+-    mock_cmd.called_once_with(
++    mock_cmd.assert_called_once_with(
+         [
+             "netsh",
+             "interface",
+diff --git a/tests/pytests/unit/test_master.py b/tests/pytests/unit/test_master.py
+index cd11d217c7..502767d3e3 100644
+--- a/tests/pytests/unit/test_master.py
++++ b/tests/pytests/unit/test_master.py
+@@ -60,7 +60,7 @@ def test_fileserver_duration():
+         end = time.time()
+         # Interval is equal to timeout so the _do_update method will be called
+         # one time.
+-        update.called_once()
++        update.assert_called_once()
+         # Timeout is 1 second
+         duration = end - start
+         if duration > 2 and salt.utils.platform.spawning_platform():
+diff --git a/tests/pytests/unit/utils/event/test_event.py b/tests/pytests/unit/utils/event/test_event.py
+index e289e72dad..2abd4066c4 100644
+--- a/tests/pytests/unit/utils/event/test_event.py
++++ b/tests/pytests/unit/utils/event/test_event.py
+@@ -300,7 +300,7 @@ def test_connect_pull_should_debug_log_on_StreamClosedError():
+     event = SaltEvent(node=None)
+     with patch.object(event, "pusher") as mock_pusher:
+         with patch.object(
+-            salt.utils.event.log, "debug", auto_spec=True
++            salt.utils.event.log, "debug", auto_spec=True, unsafe=True
+         ) as mock_log_debug:
+             mock_pusher.connect.side_effect = (
+                 salt.ext.tornado.iostream.StreamClosedError
+@@ -317,10 +317,10 @@ def test_connect_pull_should_error_log_on_other_errors(error):
+     event = SaltEvent(node=None)
+     with patch.object(event, "pusher") as mock_pusher:
+         with patch.object(
+-            salt.utils.event.log, "debug", auto_spec=True
++            salt.utils.event.log, "debug", auto_spec=True, unsafe=True
+         ) as mock_log_debug:
+             with patch.object(
+-                salt.utils.event.log, "error", auto_spec=True
++                salt.utils.event.log, "error", auto_spec=True, unsafe=True
+             ) as mock_log_error:
+                 mock_pusher.connect.side_effect = error
+                 event.connect_pull()

diff --git a/app-admin/salt/salt-3006.0.ebuild b/app-admin/salt/salt-3006.0.ebuild
new file mode 100644
index 000000000000..144d87ed2357
--- /dev/null
+++ b/app-admin/salt/salt-3006.0.ebuild
@@ -0,0 +1,226 @@
+# 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"
+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/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[${PYTHON_USEDEP}]
+	>=dev-python/markupsafe-2.1.2[${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="
+	dev-python/build[${PYTHON_USEDEP}]
+	test? (
+		${RDEPEND}
+		>=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+		>=dev-python/certifi-2022.12.07[${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_rc21[${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}]
+		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.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"
+)
+
+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() {
+	# 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}
+		log_sanitize
+		run_with_pre_flight_args
+		compile_template_str_mkstemp_cleanup
+		sync_with_handlers
+		deferred_write_on_flush
+		call_apt_dpkg_lock
+		enforce_nice_config
+		config_validation
+	)
+
+	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" \
+			epytest  -k "${testexpr%and }" -x
+	)
+}


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/, app-admin/salt/files/
@ 2023-08-15 19:47 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2023-08-15 19:47 UTC (permalink / raw
  To: gentoo-commits

commit:     554d1a402d6d8bc52214a62ab09503218037cc3d
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 15 19:45:25 2023 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Aug 15 19:47:35 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=554d1a40

app-admin/salt: add 3006.2

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 app-admin/salt/Manifest                      |   1 +
 app-admin/salt/files/salt-3006.2-tests.patch | 114 +++++++++++++
 app-admin/salt/salt-3006.2.ebuild            | 232 +++++++++++++++++++++++++++
 3 files changed, 347 insertions(+)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 1e90280e8bdf..f256d9efecc8 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,2 +1,3 @@
 DIST salt-3005.1.tar.gz 17914349 BLAKE2B 697c2068bf119e4a19f92a86ce880fec9375c10ba549cdcdd2182cfeaacce31c7bc4c4c91e1a609906b4c5373bb5e3120e0db47ede5b45ee20942d7b2d201e64 SHA512 391f995f0129f3d7104a0eea4fd83b18aa6ecae0fd7a2c77c1154e24b0bcd52cef4b63db12597c85737bb33ddf605e0c23370cef3bf47f9ea85af5b77d74dc50
 DIST salt-3006.0.tar.gz 20377846 BLAKE2B d39a55676f6bc5f70a558684811dd6175b633ceb5b73f4e95bd0137e7a507456f2e77099c05aca082591b9bdff1948632adc9f141e2f8ad26c4bfedd98af3d15 SHA512 999e2eb362607e1a8a0636c3bfa305fb070a5df309b837975a03a0bf02d25e4678eae38e8a1a356ea857a6d81cbb68aeb9f903a55dd221c7485d2f22b309dd77
+DIST salt-3006.2.tar.gz 20411634 BLAKE2B dff474017918ef3ee0031856a2739282077205d8c2589809a91e5f1c3741cb26d2bd2458734ea4d3533118c881851dfd853f4ba4f1c631e7db28e95bc1b6f7f8 SHA512 2626cb5beb1b30fc63f554f5804f0d9b7e36b7c569c5f9049e5f5ac5a413e9d99a98b3d91089683338e3d3890ec973dff80782b4e41acb291872e45084fd2546

diff --git a/app-admin/salt/files/salt-3006.2-tests.patch b/app-admin/salt/files/salt-3006.2-tests.patch
new file mode 100644
index 000000000000..abec5157df30
--- /dev/null
+++ b/app-admin/salt/files/salt-3006.2-tests.patch
@@ -0,0 +1,114 @@
+diff --git a/tests/pytests/unit/modules/dockermod/test_module.py b/tests/pytests/unit/modules/dockermod/test_module.py
+index 8fb7806497..584d416412 100644
+--- a/tests/pytests/unit/modules/dockermod/test_module.py
++++ b/tests/pytests/unit/modules/dockermod/test_module.py
+@@ -354,10 +354,6 @@ def test_update_mine():
+         mine_mock.assert_called_once()
+ 
+ 
+-@pytest.mark.skipif(
+-    docker_mod.docker.version_info < (1, 5, 0),
+-    reason="docker module must be installed to run this test or is too old. >=1.5.0",
+-)
+ def test_list_networks():
+     """
+     test list networks.
+@@ -378,10 +374,6 @@ def test_list_networks():
+     client.networks.assert_called_once_with(names=["foo"], ids=["01234"])
+ 
+ 
+-@pytest.mark.skipif(
+-    docker_mod.docker.version_info < (1, 5, 0),
+-    reason="docker module must be installed to run this test or is too old. >=1.5.0",
+-)
+ def test_create_network():
+     """
+     test create network.
+@@ -422,10 +414,6 @@ def test_create_network():
+     )
+ 
+ 
+-@pytest.mark.skipif(
+-    docker_mod.docker.version_info < (1, 5, 0),
+-    reason="docker module must be installed to run this test or is too old. >=1.5.0",
+-)
+ def test_remove_network():
+     """
+     test remove network.
+@@ -444,10 +432,6 @@ def test_remove_network():
+     client.remove_network.assert_called_once_with("foo")
+ 
+ 
+-@pytest.mark.skipif(
+-    docker_mod.docker.version_info < (1, 5, 0),
+-    reason="docker module must be installed to run this test or is too old. >=1.5.0",
+-)
+ def test_inspect_network():
+     """
+     test inspect network.
+@@ -466,10 +450,6 @@ def test_inspect_network():
+     client.inspect_network.assert_called_once_with("foo")
+ 
+ 
+-@pytest.mark.skipif(
+-    docker_mod.docker.version_info < (1, 5, 0),
+-    reason="docker module must be installed to run this test or is too old. >=1.5.0",
+-)
+ def test_connect_container_to_network():
+     """
+     test connect_container_to_network
+@@ -491,10 +471,6 @@ def test_connect_container_to_network():
+     client.connect_container_to_network.assert_called_once_with("container", "foo")
+ 
+ 
+-@pytest.mark.skipif(
+-    docker_mod.docker.version_info < (1, 5, 0),
+-    reason="docker module must be installed to run this test or is too old. >=1.5.0",
+-)
+ def test_disconnect_container_from_network():
+     """
+     test disconnect_container_from_network
+@@ -513,10 +489,6 @@ def test_disconnect_container_from_network():
+     client.disconnect_container_from_network.assert_called_once_with("container", "foo")
+ 
+ 
+-@pytest.mark.skipif(
+-    docker_mod.docker.version_info < (1, 5, 0),
+-    reason="docker module must be installed to run this test or is too old. >=1.5.0",
+-)
+ def test_list_volumes():
+     """
+     test list volumes.
+@@ -539,10 +511,6 @@ def test_list_volumes():
+     )
+ 
+ 
+-@pytest.mark.skipif(
+-    docker_mod.docker.version_info < (1, 5, 0),
+-    reason="docker module must be installed to run this test or is too old. >=1.5.0",
+-)
+ def test_create_volume():
+     """
+     test create volume.
+@@ -569,10 +537,6 @@ def test_create_volume():
+     )
+ 
+ 
+-@pytest.mark.skipif(
+-    docker_mod.docker.version_info < (1, 5, 0),
+-    reason="docker module must be installed to run this test or is too old. >=1.5.0",
+-)
+ def test_remove_volume():
+     """
+     test remove volume.
+@@ -591,10 +555,6 @@ def test_remove_volume():
+     client.remove_volume.assert_called_once_with("foo")
+ 
+ 
+-@pytest.mark.skipif(
+-    docker_mod.docker.version_info < (1, 5, 0),
+-    reason="docker module must be installed to run this test or is too old. >=1.5.0",
+-)
+ def test_inspect_volume():
+     """
+     test inspect volume.

diff --git a/app-admin/salt/salt-3006.2.ebuild b/app-admin/salt/salt-3006.2.ebuild
new file mode 100644
index 000000000000..031e12b522fb
--- /dev/null
+++ b/app-admin/salt/salt-3006.2.ebuild
@@ -0,0 +1,232 @@
+# 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
+	)
+}


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/, app-admin/salt/files/
@ 2023-09-08 22:56 Patrick McLean
  0 siblings, 0 replies; 35+ messages in thread
From: Patrick McLean @ 2023-09-08 22:56 UTC (permalink / raw
  To: gentoo-commits

commit:     21168d82c975b75193a7d3a331d734dbfc876952
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Fri Sep  8 22:56:21 2023 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri Sep  8 22:56:28 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21168d82

app-admin/salt: add 3006.3

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 app-admin/salt/Manifest                      |   1 +
 app-admin/salt/files/salt-3006-tests.patch   |  74 ---------
 app-admin/salt/files/salt-3006.3-tests.patch |  26 +++
 app-admin/salt/salt-3006.3.ebuild            | 237 +++++++++++++++++++++++++++
 4 files changed, 264 insertions(+), 74 deletions(-)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 5e32f2432539..0a8a5f057bcc 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,3 +1,4 @@
 DIST salt-3005.1.tar.gz 17914349 BLAKE2B 697c2068bf119e4a19f92a86ce880fec9375c10ba549cdcdd2182cfeaacce31c7bc4c4c91e1a609906b4c5373bb5e3120e0db47ede5b45ee20942d7b2d201e64 SHA512 391f995f0129f3d7104a0eea4fd83b18aa6ecae0fd7a2c77c1154e24b0bcd52cef4b63db12597c85737bb33ddf605e0c23370cef3bf47f9ea85af5b77d74dc50
 DIST salt-3005.2.tar.gz 17935313 BLAKE2B 550853b8245351b251438ac87d775e8b39d71ddc1eee0375f4bb29c04e2aacf5905ef9ac5373d9e7ff47a1cc8d6b9ce1a2a4c3d75b5647d4047bc06a5e526664 SHA512 07e7afc732a97006557d4556d60aa1854934893d0566bf8c295d4b1c01515988a1bf2798ce228f6b37e657de8fdfff51153ad2ea8d54baa6a5c377e30794f317
 DIST salt-3006.2.tar.gz 20411634 BLAKE2B dff474017918ef3ee0031856a2739282077205d8c2589809a91e5f1c3741cb26d2bd2458734ea4d3533118c881851dfd853f4ba4f1c631e7db28e95bc1b6f7f8 SHA512 2626cb5beb1b30fc63f554f5804f0d9b7e36b7c569c5f9049e5f5ac5a413e9d99a98b3d91089683338e3d3890ec973dff80782b4e41acb291872e45084fd2546
+DIST salt-3006.3.tar.gz 20461738 BLAKE2B dfa4698dbc611c9c4954b4631d11b685e1efc978915918ce6d8f1890bb4a230d234b6a191166ffff9243058d44530bfc14b43386c8bc295c035c6609d6bf3fa0 SHA512 9cced766db2144de445ed53b52c1551c986ba43774c40512fd07973862d6d3a361e25f55fcfeeb0e03ba44eec1051909834e5d0a352ead5ec6f418b15c909628

diff --git a/app-admin/salt/files/salt-3006-tests.patch b/app-admin/salt/files/salt-3006-tests.patch
deleted file mode 100644
index 6135ca8c0ea1..000000000000
--- a/app-admin/salt/files/salt-3006-tests.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-diff --git a/tests/pytests/unit/modules/test_linux_sysctl.py b/tests/pytests/unit/modules/test_linux_sysctl.py
-index 0bdd24039d..22df70c58d 100644
---- a/tests/pytests/unit/modules/test_linux_sysctl.py
-+++ b/tests/pytests/unit/modules/test_linux_sysctl.py
-@@ -215,7 +215,7 @@ def test_persist_no_conf_failure():
-         ):
-             with pytest.raises(CommandExecutionError):
-                 linux_sysctl.persist("net.ipv4.ip_forward", 42, config=None)
--    fopen_mock.called_once()
-+    fopen_mock.assert_called_once()
- 
- 
- def test_persist_no_conf_success():
-diff --git a/tests/pytests/unit/modules/test_win_ip.py b/tests/pytests/unit/modules/test_win_ip.py
-index 38eb6b1ac5..94a3fe7ca9 100644
---- a/tests/pytests/unit/modules/test_win_ip.py
-+++ b/tests/pytests/unit/modules/test_win_ip.py
-@@ -151,7 +151,7 @@ def test_enable():
-     ):
-         assert win_ip.enable("Ethernet")
- 
--    mock_cmd.called_once_with(
-+    mock_cmd.assert_called_once_with(
-         [
-             "netsh",
-             "interface",
-@@ -180,7 +180,7 @@ def test_disable():
-     ):
-         assert win_ip.disable("Ethernet")
- 
--    mock_cmd.called_once_with(
-+    mock_cmd.assert_called_once_with(
-         [
-             "netsh",
-             "interface",
-diff --git a/tests/pytests/unit/test_master.py b/tests/pytests/unit/test_master.py
-index cd11d217c7..502767d3e3 100644
---- a/tests/pytests/unit/test_master.py
-+++ b/tests/pytests/unit/test_master.py
-@@ -60,7 +60,7 @@ def test_fileserver_duration():
-         end = time.time()
-         # Interval is equal to timeout so the _do_update method will be called
-         # one time.
--        update.called_once()
-+        update.assert_called_once()
-         # Timeout is 1 second
-         duration = end - start
-         if duration > 2 and salt.utils.platform.spawning_platform():
-diff --git a/tests/pytests/unit/utils/event/test_event.py b/tests/pytests/unit/utils/event/test_event.py
-index e289e72dad..2abd4066c4 100644
---- a/tests/pytests/unit/utils/event/test_event.py
-+++ b/tests/pytests/unit/utils/event/test_event.py
-@@ -300,7 +300,7 @@ def test_connect_pull_should_debug_log_on_StreamClosedError():
-     event = SaltEvent(node=None)
-     with patch.object(event, "pusher") as mock_pusher:
-         with patch.object(
--            salt.utils.event.log, "debug", auto_spec=True
-+            salt.utils.event.log, "debug", auto_spec=True, unsafe=True
-         ) as mock_log_debug:
-             mock_pusher.connect.side_effect = (
-                 salt.ext.tornado.iostream.StreamClosedError
-@@ -317,10 +317,10 @@ def test_connect_pull_should_error_log_on_other_errors(error):
-     event = SaltEvent(node=None)
-     with patch.object(event, "pusher") as mock_pusher:
-         with patch.object(
--            salt.utils.event.log, "debug", auto_spec=True
-+            salt.utils.event.log, "debug", auto_spec=True, unsafe=True
-         ) as mock_log_debug:
-             with patch.object(
--                salt.utils.event.log, "error", auto_spec=True
-+                salt.utils.event.log, "error", auto_spec=True, unsafe=True
-             ) as mock_log_error:
-                 mock_pusher.connect.side_effect = error
-                 event.connect_pull()

diff --git a/app-admin/salt/files/salt-3006.3-tests.patch b/app-admin/salt/files/salt-3006.3-tests.patch
new file mode 100644
index 000000000000..4d30608775cb
--- /dev/null
+++ b/app-admin/salt/files/salt-3006.3-tests.patch
@@ -0,0 +1,26 @@
+diff --git a/tests/pytests/unit/utils/event/test_event.py b/tests/pytests/unit/utils/event/test_event.py
+index e289e72dad..2abd4066c4 100644
+--- a/tests/pytests/unit/utils/event/test_event.py
++++ b/tests/pytests/unit/utils/event/test_event.py
+@@ -300,7 +300,7 @@ def test_connect_pull_should_debug_log_on_StreamClosedError():
+     event = SaltEvent(node=None)
+     with patch.object(event, "pusher") as mock_pusher:
+         with patch.object(
+-            salt.utils.event.log, "debug", auto_spec=True
++            salt.utils.event.log, "debug", auto_spec=True, unsafe=True
+         ) as mock_log_debug:
+             mock_pusher.connect.side_effect = (
+                 salt.ext.tornado.iostream.StreamClosedError
+@@ -317,10 +317,10 @@ def test_connect_pull_should_error_log_on_other_errors(error):
+     event = SaltEvent(node=None)
+     with patch.object(event, "pusher") as mock_pusher:
+         with patch.object(
+-            salt.utils.event.log, "debug", auto_spec=True
++            salt.utils.event.log, "debug", auto_spec=True, unsafe=True
+         ) as mock_log_debug:
+             with patch.object(
+-                salt.utils.event.log, "error", auto_spec=True
++                salt.utils.event.log, "error", auto_spec=True, unsafe=True
+             ) as mock_log_error:
+                 mock_pusher.connect.side_effect = error
+                 event.connect_pull()

diff --git a/app-admin/salt/salt-3006.3.ebuild b/app-admin/salt/salt-3006.3.ebuild
new file mode 100644
index 000000000000..af77b214d420
--- /dev/null
+++ b/app-admin/salt/salt-3006.3.ebuild
@@ -0,0 +1,237 @@
+# 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
+	)
+}


^ permalink raw reply related	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2023-09-08 22:56 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-01  1:28 [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/, app-admin/salt/files/ Patrick McLean
  -- strict thread matches above, loose matches on Subject: below --
2023-09-08 22:56 Patrick McLean
2023-08-15 19:47 Patrick McLean
2023-04-20 19:19 Patrick McLean
2023-01-30  4:55 Sebastian Pipping
2023-01-10 14:15 Michał Górny
2022-08-31 17:21 Patrick McLean
2022-06-22 11:50 Michał Górny
2022-04-18 18:49 Patrick McLean
2022-04-18 17:34 Patrick McLean
2022-03-31 16:18 Patrick McLean
2022-03-31 16:07 Patrick McLean
2022-03-27  1:00 Sam James
2021-09-08  1:01 Patrick McLean
2021-06-09 22:27 Patrick McLean
2021-02-27  2:32 Patrick McLean
2021-02-27  2:32 Patrick McLean
2021-02-18  1:18 Patrick McLean
2021-02-09 17:00 Patrick McLean
2020-09-04  1:45 Patrick McLean
2020-04-30 17:58 Patrick McLean
2020-04-30  1:17 Patrick McLean
2019-02-27 21:40 Patrick McLean
2018-10-24 23:02 Patrick McLean
2017-12-05 21:44 Patrick McLean
2017-08-15 17:17 Manuel Rüger
2016-12-01  1:16 Patrick McLean
2016-12-01  1:16 Patrick McLean
2016-06-16 23:43 Patrick McLean
2016-06-16 18:48 Patrick McLean
2016-02-01 22:57 Patrick McLean
2015-11-24  0:21 Patrick McLean
2015-11-20  2:16 Patrick McLean
2015-11-06  7:58 Justin Lecher
2015-08-25 17:31 Patrick McLean

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox