summaryrefslogtreecommitdiff
path: root/app-admin/salt
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/salt')
-rw-r--r--app-admin/salt/Manifest8
-rw-r--r--app-admin/salt/files/salt-2018.3.4-tests.patch76
-rw-r--r--app-admin/salt/files/salt-2019.2.0-tests.patch73
-rw-r--r--app-admin/salt/salt-2018.3.4.ebuild (renamed from app-admin/salt/salt-2018.3.3.ebuild)4
-rw-r--r--app-admin/salt/salt-2019.2.0.ebuild156
5 files changed, 313 insertions, 4 deletions
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index e8acb9337aee..49514a4f1287 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -12,6 +12,8 @@ AUX salt-2016.3.4-test-nonexist-dirs.patch 1655 BLAKE2B 5e7907e0a10c4ee78b599ec9
AUX salt-2017.7.0-dont-realpath-tmpdir.patch 834 BLAKE2B e70496f3ab18b954e7cacd29dbdee6ccbe0a07f139903360312db247926867a78513cd9022f492ce370eeafcc81bc4db545359036f8f5b0d2d64d3c5bb8aefc0 SHA512 33b69954e8112c0f76654d507df74a4cdd37e8227848f2ce0652b3ecee8b847253ccad33cada0e3dd1471c54c780dcc12d5e546c4ec43868511b95b0c7f71e17
AUX salt-2017.7.8-tests.patch 3303 BLAKE2B 4bce0b82f939a997aca6da94977a261b636e410678c40a50a446813a1704608350ab6e330d3dd7dbf541b373320adcca035d3e2a70e9c626f3bd7f8216bbff6e SHA512 b5ccf399bb62325bb1cf252c9d72296138fded7dc4890695e44c2fb43c5f4f4eec852057ad427ffdfb80124be21d7b5cbe2f7497ff7d9746e09f5ed3a652aba6
AUX salt-2018.3.2-skip-zeromq-test-that-hangs.patch 2820 BLAKE2B e531bddf576322f8417e7e362bfed7aa21ce8f1edc1702074f250efc9118c755664bd2976282399b725c1f56362e37fa07064b9e4ac2a72c413a56b13d325cdd SHA512 72cbc1e7c8d59883bcbe8130fdbae6e1ccecfabe74069a7389e63f797609930036c593204ab441cff92933d3d35a24feb7db0dc76804d76608190e93a8bc6ed4
+AUX salt-2018.3.4-tests.patch 2944 BLAKE2B f41c1e53297e1828c840d0ff22a49e2d47b40932615006f1fcebf6732faf0fb79a3149cc0c1be1d6daae60ce6f93e338e7eddd7cb80e076c1fdb68d560928050 SHA512 6ab26d0ae06adeb590b0b4a77fc3d0273f3624a1e8adacbaffe1ec3ae7d1066e7be5116dcde3c4118f7008a940995665777eedf15dd17c42825d08f22a33a741
+AUX salt-2019.2.0-tests.patch 2793 BLAKE2B c609564673db7388a876902deb57f0aec70531ea26536954efdabdd8849eee314e840cc299f6e1fbd6a18740847a9ee8d217426adee38d36ae569f6e2e9c85ae SHA512 eb1d61f5410b36d0749cce5fc7dc08a8950061f7fb3497a122702eba7638ec3e635750b25ad5cacc4839d4828f13785ea122df43e8aff7635d79283be0392f02
AUX salt-api.service 166 BLAKE2B 32d28ef4ef3c60942bed3fa3a01d70a9af387705844326cdf9339d7c887238a1e6817d78ffd1cb205a6397a2138c2389ea00bf53be84a17b23bea140279bf42c SHA512 bab6b8380c965bf16e23078ebe6f38d942300829d4c89ddf23b630bd57b4d371f80687d85dd9e0cc1b669f2ca882aecde1bc8d7d82382a02ed20e493d3f04702
AUX salt-master.service 169 BLAKE2B 15e7a4f64cfa75eb8d8576a7d0b61ea0c9937c94fd2130fd6c123a82187f08b5ed533c168a7310fd94d9bd2cecf9d0ba94665c653a971ef61e5e18ffdf087a15 SHA512 87fe27fc0748f4191bd1c6883bb362c95cce8fe1f409e2679b229ddfd9de6c99438859dfa0a47b042977d659029ef56e406f1e8aa01761bff21af4784f9dd5f8
AUX salt-minion.service 162 BLAKE2B 6f7b6b72e26d1651dbcb324b1e0cfef9f4b5a794f40566297c5bc469b351587db4d9805bed124774107efb64e6ed3e25fefa899b42a38064ee6fe26fd990ae58 SHA512 99f0a5c696e38b42b283416736a23e535ccc53095928b205914cf4b69c0df931a6752205985726527f7889b01dfece78466be28448458b15064edd04aca3e5ed
@@ -20,8 +22,10 @@ AUX syndic-confd-1 188 BLAKE2B ad20094c30f9aa573397d347f9fb11acafba2f724b6c836d7
AUX syndic-initd-4 311 BLAKE2B aab3b44f65dedb30ea4eb573872c0253e4d7b438a533f22a4e887c1e6487682efce7f5b75d3bcf366ef706a9fb1578dce537ac5b50324239378cecbd0715ad5d SHA512 69cc10fa7d9f0f4a68d223272c08ee33af242a50eb9bbea919d61f6cb5baf1ce986b07d69fc0e47e2f6dffc0a11100c3bc0d836d2938c46aa364beecb47f07ef
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
+DIST salt-2019.2.0.tar.gz 14952746 BLAKE2B aa3bba4b7d9548a8d333c242fc0265a743f56ff1a259da7c8618d37b3b022e12f09ac594a09f0ceec80fd9d3a6b6b9ec35b33e879b7a124e6612f2ec2a63a01c SHA512 de5a976213d011c230e423a172952effddb87168367958b8657eaaaf8fd2a8bec8471f547b6ff9e896a17064a13d387dbc12e12c605c8a241062e3238bd19eca
EBUILD salt-2016.11.10.ebuild 4811 BLAKE2B e071af864101dc59120ba09589001c33c0cac902121246d88c3b5a4d40df58dd2609cfc3f83a8de7b0db0262f9e7b9c51427bf9936fc4941f27286047dd7fc63 SHA512 9a42a05a861868f06b4e19a7c12e7320701286f4a45b7e8cf5fad18b408f8fa5cb7d956610411eced09475307d065e673bd4ccdb33c09d570875816dc225c265
EBUILD salt-2017.7.8.ebuild 4619 BLAKE2B c7e7a0554211653869b06fe4df441b05261c2e50d5fcd3f749f55726ba0fe16d6b9b4278c8f85f83ec8d08320b7978ebeb4e2e96e759d8da5d8a4cad1c906c63 SHA512 11a6595cfb0b5216cd5a86f993779ecb595afc5378fe36ed8810f0ff1147165ec8e0e9dd9b82b1e7bc1f7560d93e32727813234c6bca6b1c6c9156616286335e
-EBUILD salt-2018.3.3.ebuild 4910 BLAKE2B af4ce229deb42386d7d4e2a608b0bbefa19e21d1856937aa3261727329e4d74c25deaf7ee998de81628c624d948f1c9d584a2f3cd938a3501e7b21cbf3d43d90 SHA512 3542d507a74d73fd383e1bebb9ad2b1ab471229e60d651c7b40334c8cf1fda6759cffafef9c1ff30e83c937aa8bdf3fb394f0a427ba75c3b141975dcffe057d2
+EBUILD salt-2018.3.4.ebuild 4910 BLAKE2B 70819b79c916db53f46759ac98d40aa1e69a58cd56bc18610652df56eb4c17c1d54e3262ef6cc36e31696329da5ff73293b974e10ff682cc0c7f8d7c8bc76fef SHA512 505feabb2b8d44a8221c65b6e1dede3a27eb9b97e6f5230f565ad77441091d74f2151879b3dffb94fce2276363c2ae2c2d9ca46973b54df607d9cb1d0eeb2643
+EBUILD salt-2019.2.0.ebuild 4978 BLAKE2B 1a0eac8d9b56c14408cd255b2439883d13dcfc7f93fe496f489a33df745ba08114f1b68f40e53fa2d652b845010a02de0e919bb8cc6834acc7a2e18a5ffd2c44 SHA512 ea20a34e1b250a898863d87866573555b6a54352b7396072aff3fbca813f6b42675972df23b2c55cd8225fe15a01cb62699c32a6e2b138897d2b3034298aacd9
MISC metadata.xml 2288 BLAKE2B dbe7f76af8cd8a97d852536684e914e3759bd1f17e4bdea3c8c16da7c6485eee08151a8d4e41919c1ae89ba4f786783f899e23147159a4bade0009c7a668f741 SHA512 fdcea2f80fc87ab2a0db1643d71dd6d54e91d898594570af6a7505343c5d9a5a0ce4803d11460d7d3f6f533509b072819f958cbe31ca9183fabf811982526969
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 000000000000..ac3dbb845348
--- /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/files/salt-2019.2.0-tests.patch b/app-admin/salt/files/salt-2019.2.0-tests.patch
new file mode 100644
index 000000000000..830fcbffe367
--- /dev/null
+++ b/app-admin/salt/files/salt-2019.2.0-tests.patch
@@ -0,0 +1,73 @@
+diff --git a/tests/unit/fileserver/test_gitfs.py b/tests/unit/fileserver/test_gitfs.py
+index 4e93df4e62..38c13efb6b 100644
+--- a/tests/unit/fileserver/test_gitfs.py
++++ b/tests/unit/fileserver/test_gitfs.py
+@@ -151,6 +151,7 @@ class GitfsConfigTestCase(TestCase, LoaderModuleMockMixin):
+ if exc.errno != errno.EEXIST:
+ raise
+
++ @skipIf(True, 'currently failing on Gentoo')
+ def test_per_saltenv_config(self):
+ opts_override = textwrap.dedent('''
+ gitfs_root: salt
+diff --git a/tests/unit/grains/test_core.py b/tests/unit/grains/test_core.py
+index 445df0c98a..17ca123172 100644
+--- a/tests/unit/grains/test_core.py
++++ b/tests/unit/grains/test_core.py
+@@ -710,6 +710,7 @@ class CoreGrainsTestCase(TestCase, LoaderModuleMockMixin):
+ )
+
+ @skipIf(not salt.utils.platform.is_linux(), 'System is not Linux')
++ @skipIf(True, 'Test assumes running under Xen')
+ def test_xen_virtual(self):
+ '''
+ Test if OS grains are parsed correctly in Ubuntu Xenial Xerus
+diff --git a/tests/unit/utils/test_asynchronous.py b/tests/unit/utils/test_asynchronous.py
+index 694a7aebfe..704f2d894f 100644
+--- a/tests/unit/utils/test_asynchronous.py
++++ b/tests/unit/utils/test_asynchronous.py
+@@ -3,6 +3,8 @@
+ # Import Python Libs
+ from __future__ import absolute_import, print_function, unicode_literals
+
++from unittest import skipIf
++
+ # Import 3rd-party libs
+ import tornado.testing
+ import tornado.gen
+@@ -35,6 +37,7 @@ class HelperB(object):
+
+
+ class TestSyncWrapper(AsyncTestCase):
++ @skipIf(True, "fails in sandbox")
+ @tornado.testing.gen_test
+ def test_helpers(self):
+ '''
+@@ -56,6 +59,7 @@ class TestSyncWrapper(AsyncTestCase):
+ ret = sync.sleep()
+ self.assertTrue(ret)
+
++ @skipIf(True, "fails in sandbox")
+ def test_double(self):
+ '''
+ Test when the asynchronous wrapper object itself creates a wrap of another thing
+@@ -67,6 +71,7 @@ class TestSyncWrapper(AsyncTestCase):
+ ret = sync.sleep()
+ self.assertFalse(ret)
+
++ @skipIf(True, "fails in sandbox")
+ def test_double_sameloop(self):
+ '''
+ Test asynchronous wrappers initiated from the same IOLoop, to ensure that
+diff --git a/tests/unit/utils/test_jinja.py b/tests/unit/utils/test_jinja.py
+index da666ef4c7..e3523049b7 100644
+--- a/tests/unit/utils/test_jinja.py
++++ b/tests/unit/utils/test_jinja.py
+@@ -1102,6 +1102,7 @@ class TestCustomExtensions(TestCase):
+ dict(opts=self.local_opts, saltenv='test', salt=self.local_salt))
+ self.assertEqual(rendered, '16777216')
+
++ @skipIf(True, 'Skipping tests that require internet access')
+ @flaky
+ def test_http_query(self):
+ '''
diff --git a/app-admin/salt/salt-2018.3.3.ebuild b/app-admin/salt/salt-2018.3.4.ebuild
index deb62df7a934..bf3224ca0de2 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"
)
diff --git a/app-admin/salt/salt-2019.2.0.ebuild b/app-admin/salt/salt-2019.2.0.ebuild
new file mode 100644
index 000000000000..7e76a85aeea1
--- /dev/null
+++ b/app-admin/salt/salt-2019.2.0.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 python3_6 )
+
+inherit eutils systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="http://saltstack.org/"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
+IUSE+=" openssl portage profile redis selinux test timelib raet +zeromq vim-syntax"
+
+RDEPEND="sys-apps/pciutils
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/libnacl[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
+ <www-servers/tornado-5.0[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+ mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+ ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+ libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
+ openssl? (
+ dev-libs/openssl:0=[-bindist]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ raet? (
+ >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+ )
+ zeromq? (
+ >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
+ dev-python/pycryptodome[${PYTHON_USEDEP}]
+ )
+ cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ portage? (
+ || (
+ sys-apps/portage[${PYTHON_USEDEP}]
+ sys-apps/portage-mgorny[${PYTHON_USEDEP}]
+ )
+ )
+ keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+ mysql? ( dev-python/mysql-python[$(python_gen_usedep 'python2*')] )
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+ selinux? ( sec-policy/selinux-salt )
+ timelib? ( dev-python/timelib[$(python_gen_usedep 'python2*')] )
+ nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
+ neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
+ gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+ profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+ vim-syntax? ( app-vim/salt-vim )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/pytest-salt-2018.12.8[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-catchlog[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+ dev-python/timelib[$(python_gen_usedep 'python2*')]
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ !x86? ( >=dev-python/boto3-1.2.1[${PYTHON_USEDEP}] )
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
+ >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
+ ${RDEPEND}
+ )"
+
+DOCS=( README.rst AUTHORS )
+
+REQUIRED_USE="|| ( raet zeromq )"
+RESTRICT="x86? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2017.7.0-dont-realpath-tmpdir.patch"
+ "${FILESDIR}/${PN}-2019.2.0-tests.patch"
+ "${FILESDIR}/${PN}-2018.3.2-skip-zeromq-test-that-hangs.patch"
+)
+
+python_prepare() {
+ # remove tests with external dependencies that may not be available
+ rm tests/unit/{test_zypp_plugins.py,utils/test_extend.py} || die
+ rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
+ rm tests/unit/states/test_boto_vpc.py || die
+ rm tests/unit/modules/test_{kubernetes,vsphere}.py || die
+
+ # allow the use of the renamed msgpack
+ sed -i '/^msgpack/d' requirements/base.txt || die
+}
+
+python_install_all() {
+ local svc
+ USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+ for svc in minion master syndic api; do
+ newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+ newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+ systemd_dounit "${FILESDIR}"/salt-${svc}.service
+ done
+
+ insinto /etc/${PN}
+ doins -r conf/*
+}
+
+python_test() {
+ local tempdir
+ # testsuite likes lots of files
+ ulimit -n 3072 || die
+
+ # ${T} is too long a path for the tests to work
+ tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
+ mkdir "${T}/$(basename "${tempdir}")"
+ mkdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
+
+ (
+ cleanup() {
+ rm -f "${tempdir}"
+ rmdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
+ }
+
+ trap cleanup EXIT
+
+ addwrite "${tempdir}"
+ ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}"
+
+ USE_SETUPTOOLS=1 SHELL="/bin/bash" \
+ TMPDIR="${tempdir}" \
+ ${EPYTHON} tests/runtests.py \
+ --unit-tests --no-report --verbose
+
+ ) || die "testing failed"
+}