commit:     166dbbbb08846bbbb3156c120c070a1ba1daa318
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Jul  3 20:25:57 2018 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Jul  3 21:18:13 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=166dbbbb

app-admin/salt: Version bump to 2018.3.2, add python3.6

Move to dev-python/pycryptodome

Closes: https://bugs.gentoo.org/659026
Closes: https://bugs.gentoo.org/640252
Closes: https://bugs.gentoo.org/652844
Bug: https://bugs.gentoo.org/611576
Package-Manager: Portage-2.3.41, Repoman-2.3.9

 app-admin/salt/Manifest                            |   1 +
 ...salt-2018.3.2-skip-zeromq-test-that-hangs.patch |  79 +++++++++++
 app-admin/salt/salt-2018.3.2.ebuild                | 155 +++++++++++++++++++++
 3 files changed, 235 insertions(+)

diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index 56db125c7c7..643d0900419 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -1,3 +1,4 @@
 DIST salt-2016.11.9.tar.gz 10062996 BLAKE2B 
5176d04d07a69de21c9c136c201d334614c5675fd78e306a0160fae829b633441cd859f4ba1a0822dfbb9ae716475c53f6eb058187d4acc8a5770dd4ceace577
 SHA512 
896fd27c111e926e246b51d00b69d41c8f4d25ec0c034c9ff3dc5414f5e93592fd637cdeaecf02b3b98a4e5a7ce478bfda86b15497961078374608d76516593d
 DIST salt-2017.7.5.tar.gz 11043026 BLAKE2B 
9cae4e6ca3b0bac0dc0b9b9a5ae01e0bfb8e8b899aa029b324ac10c8c84024bbc419ace068cd0d2bff84ec6ddf1d13faf68ce34c68c19892c700c38e81da8c7c
 SHA512 
684ffde7d98c73349b386c94de3d9fc09631a78c5d74e37e6dfd90fbb0c94decc529f56b1eba1559ce9932b16083f88e6495ff6cdf071b32a23028e9db47cc3d
 DIST salt-2018.3.0.tar.gz 13448567 BLAKE2B 
9048f9e507ded238bfd54d0aabfefb56522b20ba2479c3bf5aefc47fff0b6ce516709ad6e9109441941a60596d4f06a43c1448a149225f3f87715327a190d313
 SHA512 
3d64a4d12d4ff7effe644b682b138d8f49fd00523e9cfe3e80bebff9c944a089fb41cbac92e63139633425f49c1eebeb99145290a0bdd1b4f306da86abe9b2e5
+DIST salt-2018.3.2.tar.gz 12996445 BLAKE2B 
8411fb0891e23ce8e35157662a0a45c0c5b13b62f3fd21cc4bbe5152f923a98b27cb5bee4fb8cb3e6ec5c9daed1afa27baf4b570b94f9f40eddc0891f72829e9
 SHA512 
142ebe13638d7e6dd0aecc9f0325002d30e115fe8688f5f74cbeb7ff21020327d65ded0dcd845e55362b97568b696887fa22243d66d5eadef65f97152d4775d3

diff --git 
a/app-admin/salt/files/salt-2018.3.2-skip-zeromq-test-that-hangs.patch 
b/app-admin/salt/files/salt-2018.3.2-skip-zeromq-test-that-hangs.patch
new file mode 100644
index 00000000000..7b94fafd447
--- /dev/null
+++ b/app-admin/salt/files/salt-2018.3.2-skip-zeromq-test-that-hangs.patch
@@ -0,0 +1,79 @@
+diff --git a/tests/unit/transport/test_zeromq.py 
b/tests/unit/transport/test_zeromq.py
+index ccb337462e..97d2962e5e 100644
+--- a/tests/unit/transport/test_zeromq.py
++++ b/tests/unit/transport/test_zeromq.py
+@@ -45,6 +45,10 @@ ON_SUSE = False
+ if 'SuSE' in linux_distribution(full_distribution_name=False):
+     ON_SUSE = True
+ 
++ON_GENTOO = False
++if 'Gentoo' in linux_distribution(full_distribution_name=False):
++    ON_GENTOO = True
++
+ 
+ class BaseZMQReqCase(TestCase, AdaptedConfigurationTestCaseMixin):
+     '''
+@@ -122,63 +126,6 @@ class BaseZMQReqCase(TestCase, 
AdaptedConfigurationTestCaseMixin):
+         return payload, {'fun': 'send_clear'}
+ 
+ 
+-class ClearReqTestCases(BaseZMQReqCase, ReqChannelMixin):
+-    '''
+-    Test all of the clear msg stuff
+-    '''
+-    def setUp(self):
+-        self.channel = 
salt.transport.client.ReqChannel.factory(self.minion_config, crypt='clear')
+-
+-    def tearDown(self):
+-        del self.channel
+-
+-    @classmethod
+-    @tornado.gen.coroutine
+-    def _handle_payload(cls, payload):
+-        '''
+-        TODO: something besides echo
+-        '''
+-        raise tornado.gen.Return((payload, {'fun': 'send_clear'}))
+-
+-
+-@flaky
+-@skipIf(ON_SUSE, 'Skipping until 
https://github.com/saltstack/salt/issues/32902 gets fixed')
+-class AESReqTestCases(BaseZMQReqCase, ReqChannelMixin):
+-    def setUp(self):
+-        self.channel = 
salt.transport.client.ReqChannel.factory(self.minion_config)
+-
+-    def tearDown(self):
+-        del self.channel
+-
+-    @classmethod
+-    @tornado.gen.coroutine
+-    def _handle_payload(cls, payload):
+-        '''
+-        TODO: something besides echo
+-        '''
+-        raise tornado.gen.Return((payload, {'fun': 'send'}))
+-
+-    # TODO: make failed returns have a specific framing so we can raise the 
same exception
+-    # on encrypted channels
+-    #
+-    
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+-    #
+-    # WARNING: This test will fail randomly on any system with > 1 CPU core!!!
+-    #
+-    
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+-    def test_badload(self):
+-        '''
+-        Test a variety of bad requests, make sure that we get some sort of 
error
+-        '''
+-        # TODO: This test should be re-enabled when Jenkins moves to C7.
+-        # Once the version of salt-testing is increased to something newer 
than the September
+-        # release of salt-testing, the @flaky decorator should be applied to 
this test.
+-        msgs = ['', [], tuple()]
+-        for msg in msgs:
+-            with self.assertRaises(salt.exceptions.AuthenticationError):
+-                ret = self.channel.send(msg, timeout=5)
+-
+-
+ class BaseZMQPubCase(AsyncTestCase, AdaptedConfigurationTestCaseMixin):
+     '''
+     Test the req server/client pair

diff --git a/app-admin/salt/salt-2018.3.2.ebuild 
b/app-admin/salt/salt-2018.3.2.ebuild
new file mode 100644
index 00000000000..fff0c84f2ac
--- /dev/null
+++ b/app-admin/salt/salt-2018.3.2.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_6 )
+
+inherit eutils systemd distutils-r1
+
+DESCRIPTION="Salt is a remote execution and configuration manager"
+HOMEPAGE="http://saltstack.org/";
+
+if [[ ${PV} == 9999* ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
+       EGIT_BRANCH="develop"
+       SRC_URI=""
+       KEYWORDS=""
+else
+       SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+       KEYWORDS="~x86 ~amd64"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron 
nova"
+IUSE+=" openssl portage profile redis selinux test timelib raet +zeromq 
vim-syntax"
+
+RDEPEND="sys-apps/pciutils
+       dev-python/jinja[${PYTHON_USEDEP}]
+       dev-python/libnacl[${PYTHON_USEDEP}]
+       >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
+       dev-python/pyyaml[${PYTHON_USEDEP}]
+       dev-python/markupsafe[${PYTHON_USEDEP}]
+       >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+       dev-python/setuptools[${PYTHON_USEDEP}]
+       >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
+       <www-servers/tornado-5.0[${PYTHON_USEDEP}]
+       virtual/python-futures[${PYTHON_USEDEP}]
+       libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
+       mako? ( dev-python/mako[${PYTHON_USEDEP}] )
+       ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
+       libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
+       openssl? (
+               dev-libs/openssl:*[-bindist]
+               dev-python/pyopenssl[${PYTHON_USEDEP}]
+       )
+       raet? (
+               >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
+               >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
+               >=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
+       )
+       zeromq? (
+               >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
+               dev-python/pycryptodome[${PYTHON_USEDEP}]
+       )
+       cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+       mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+       portage? (
+               || (
+                       sys-apps/portage[${PYTHON_USEDEP}]
+                       sys-apps/portage-mgorny[${PYTHON_USEDEP}]
+               )
+       )
+       keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
+       mysql? ( dev-python/mysql-python[$(python_gen_usedep 'python2*')] )
+       redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
+       selinux? ( sec-policy/selinux-salt )
+       timelib? ( dev-python/timelib[$(python_gen_usedep 'python2*')] )
+       nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
+       neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
+       gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
+       profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
+       vim-syntax? ( app-vim/salt-vim )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+       test? (
+               dev-python/pytest-salt[${PYTHON_USEDEP}]
+               dev-python/psutil[${PYTHON_USEDEP}]
+               dev-python/pytest[${PYTHON_USEDEP}]
+               dev-python/pytest-catchlog[${PYTHON_USEDEP}]
+               dev-python/pip[${PYTHON_USEDEP}]
+               dev-python/virtualenv[${PYTHON_USEDEP}]
+               >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+               dev-python/timelib[$(python_gen_usedep 'python2*')]
+               >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+               !x86? ( >=dev-python/boto3-1.2.1[${PYTHON_USEDEP}] )
+               >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+               >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
+               >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
+               ${RDEPEND}
+       )"
+
+DOCS=( README.rst AUTHORS )
+
+REQUIRED_USE="|| ( raet zeromq )"
+RESTRICT="x86? ( test )"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-2017.7.0-dont-realpath-tmpdir.patch"
+       "${FILESDIR}/${PN}-2017.7.3-tests.patch"
+       "${FILESDIR}/${PN}-2018.3.2-skip-zeromq-test-that-hangs.patch"
+)
+
+python_prepare() {
+       # remove tests with external dependencies that may not be available
+       rm tests/unit/{test_zypp_plugins.py,utils/test_extend.py} || die
+       rm tests/unit/modules/test_boto_{vpc,secgroup,elb}.py || die
+       rm tests/unit/states/test_boto_vpc.py || die
+       rm tests/unit/modules/test_{kubernetes,vsphere}.py || die
+
+       # allow the use of the renamed msgpack
+       sed -i '/^msgpack/d' requirements/base.txt || die
+}
+
+python_install_all() {
+       local svc
+       USE_SETUPTOOLS=1 distutils-r1_python_install_all
+
+       for svc in minion master syndic api; do
+               newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
+               newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
+               systemd_dounit "${FILESDIR}"/salt-${svc}.service
+       done
+
+       insinto /etc/${PN}
+       doins -r conf/*
+}
+
+python_test() {
+       local tempdir
+       # testsuite likes lots of files
+       ulimit -n 3072 || die
+
+       # ${T} is too long a path for the tests to work
+       tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
+       mkdir "${T}/$(basename "${tempdir}")"
+       mkdir 
"${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
+
+       (
+               cleanup() {
+                       rm -f "${tempdir}"
+                       rmdir 
"${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
+               }
+
+               trap cleanup EXIT
+
+               addwrite "${tempdir}"
+               ln -s "$(realpath --relative-to=/tmp "${T}/$(basename 
"${tempdir}")")" "${tempdir}"
+
+               USE_SETUPTOOLS=1 SHELL="/bin/bash" \
+                       TMPDIR="${tempdir}" \
+                       ${EPYTHON} tests/runtests.py \
+                       --unit-tests --no-report --verbose
+
+       ) || die "testing failed"
+}

Reply via email to