From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 1B21C13949B for ; Fri, 11 Sep 2015 01:13:57 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id D496E21C015; Fri, 11 Sep 2015 01:13:54 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 629C021C015 for ; Fri, 11 Sep 2015 01:13:54 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 1E94D340A9F for ; Fri, 11 Sep 2015 01:13:53 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id BEF561F2 for ; Fri, 11 Sep 2015 01:13:50 +0000 (UTC) From: "Patrick McLean" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Patrick McLean" Message-ID: <1441934018.355f2eb87303c86afe4af6916ae124a3f5c092cf.chutzpah@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-admin/salt/Manifest app-admin/salt/files/salt-2015.8.0-remove-buggy-tests.patch app-admin/salt/files/salt-2015.8.0-remove-pydsl-includes-test.patch app-admin/salt/salt-2015.8.0.ebuild X-VCS-Directories: app-admin/salt/ app-admin/salt/files/ X-VCS-Committer: chutzpah X-VCS-Committer-Name: Patrick McLean X-VCS-Revision: 355f2eb87303c86afe4af6916ae124a3f5c092cf X-VCS-Branch: master Date: Fri, 11 Sep 2015 01:13:50 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: d7d7f59d-32a3-437f-91c3-8e36bcac131d X-Archives-Hash: 86c0d945e6d71eae843c8ab90ca9f158 commit: 355f2eb87303c86afe4af6916ae124a3f5c092cf Author: Patrick McLean gentoo org> AuthorDate: Fri Sep 11 01:12:52 2015 +0000 Commit: Patrick McLean gentoo org> CommitDate: Fri Sep 11 01:13:38 2015 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=355f2eb8 app-admin/salt: Version bump. Package-Manager: portage-2.2.20.1 app-admin/salt/Manifest | 1 + .../files/salt-2015.8.0-remove-buggy-tests.patch | 56 ++++++++++ .../salt-2015.8.0-remove-pydsl-includes-test.patch | 107 ++++++++++++++++++ app-admin/salt/salt-2015.8.0.ebuild | 120 +++++++++++++++++++++ 4 files changed, 284 insertions(+) diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest index 6104f6d..ac0432a 100644 --- a/app-admin/salt/Manifest +++ b/app-admin/salt/Manifest @@ -1,3 +1,4 @@ DIST salt-2015.5.3.tar.gz 5389038 SHA256 f8b04dc8bd4b00ce803d31ce5fba033c2f20fa38cdc5a3bf54b4c47362fbe853 SHA512 61203cb9b82fe8ab84fa36d06f442aebcf5c5decfacb99f8df6b52320979699d168f9df7e9e675a13a8078feabbe9210a40e526627a213239760ea43d85f1298 WHIRLPOOL 160455263ee1a95faec1f03dfcd16f9b811e5ecb961a2db5c9545070ed74786c83592e008c1ed70a6ea358ba2491128d6081d57bf7c0a679bb99abb1555bbd21 DIST salt-2015.5.5.tar.gz 5526444 SHA256 5cd8d317616abab691a83f7fd3f8bcf9ad8aecaa95fcfdc0f6d788de87f0beeb SHA512 263f772d403c0e841957342f552389914c563add3f774f26b5d9da81efa04330ec95349223f81e192a2a4789b2d565f7a67e9e3be564296d6235a47cb6657ac3 WHIRLPOOL 7b4f71d6a12b50f4f0a92bfd68c1df2cf8992481d17db984079d4a9cadd51de56d7390ea69c9b02055e747993818756af85f82538a4640e5fb831e4a1ee1cb57 +DIST salt-2015.8.0.tar.gz 6584668 SHA256 71e1cb2eb1d4b30f3247f5590c00a2089190b8f9a90c9330dc9a65fae517ec9b SHA512 e5066773cdd69635272e8bda4e030ae270ea0d6a4895ca18c2d8e94ae7a2987700fda05a760d799e369f1ec977428da0a1c8797790f0f9ac30c03a4d80ce1599 WHIRLPOOL ca1c1d8f18d29b047ebbdf590ed1d1bbe932359017505af2b5043aa6e5035756e29f9d7d3f9293ca5a76c6d643b38d62cedbc3abffafef7cf8ab2443f7143fe9 DIST salt-vim-20141109.tar.gz 3783 SHA256 4989d111ad618ea3f5f7a7046a0ff6ce3ca6bc7f71fca90849f7c38947ab6d9a SHA512 d8d62ee827012e29586cf492f2881ee5870ed058828102f985e8b27300c115e01bb126f89decb15a19a8e206dc54c89856d4c31b3ff5320a36385cb5ed517a63 WHIRLPOOL 98026b2cdcb64665790475e3b20a7de294e5cefb390b414294756cad440bc040d9044ffd37a13f3c93af9be1a1bfd444710ff0df24895db624f49fddd16b5545 diff --git a/app-admin/salt/files/salt-2015.8.0-remove-buggy-tests.patch b/app-admin/salt/files/salt-2015.8.0-remove-buggy-tests.patch new file mode 100644 index 0000000..92ab062 --- /dev/null +++ b/app-admin/salt/files/salt-2015.8.0-remove-buggy-tests.patch @@ -0,0 +1,56 @@ +diff --git a/tests/unit/modules/mount_test.py b/tests/unit/modules/mount_test.py +index 282539d..c88a7a8 100644 +--- a/tests/unit/modules/mount_test.py ++++ b/tests/unit/modules/mount_test.py +@@ -103,12 +103,6 @@ class MountTestCase(TestCase): + self.assertTrue(mount.rm_fstab('name', 'device')) + + mock = MagicMock(return_value={'name': 'name'}) +- with patch.object(mount, 'fstab', mock): +- with patch('salt.utils.fopen', mock_open()) as m_open: +- helper_open = m_open() +- helper_open.write.assertRaises(CommandExecutionError, +- mount.rm_fstab, +- config=None) + + def test_set_fstab(self): + ''' +@@ -143,12 +137,6 @@ class MountTestCase(TestCase): + self.assertTrue(mount.rm_automaster('name', 'device')) + + mock = MagicMock(return_value={'name': 'name'}) +- with patch.object(mount, 'fstab', mock): +- with patch('salt.utils.fopen', mock_open()) as m_open: +- helper_open = m_open() +- helper_open.write.assertRaises(CommandExecutionError, +- mount.rm_automaster, +- 'name', 'device') + + def test_set_automaster(self): + ''' +diff --git a/tests/unit/modules/puppet_test.py b/tests/unit/modules/puppet_test.py +index 6a43fd4..3be039c 100644 +--- a/tests/unit/modules/puppet_test.py ++++ b/tests/unit/modules/puppet_test.py +@@ -91,10 +91,6 @@ class PuppetTestCase(TestCase): + with patch('salt.utils.fopen', mock_open()): + self.assertTrue(puppet.disable()) + +- with patch('salt.utils.fopen', mock_open()) as m_open: +- helper_open = m_open() +- helper_open.write.assertRaises(CommandExecutionError, +- puppet.disable) + + def test_status(self): + ''' +@@ -154,10 +150,6 @@ class PuppetTestCase(TestCase): + mock_open(read_data="resources: 1")): + self.assertDictEqual(puppet.summary(), {'resources': 1}) + +- with patch('salt.utils.fopen', mock_open()) as m_open: +- helper_open = m_open() +- helper_open.write.assertRaises(CommandExecutionError, +- puppet.summary) + + def test_plugin_sync(self): + ''' diff --git a/app-admin/salt/files/salt-2015.8.0-remove-pydsl-includes-test.patch b/app-admin/salt/files/salt-2015.8.0-remove-pydsl-includes-test.patch new file mode 100644 index 0000000..469e0d2 --- /dev/null +++ b/app-admin/salt/files/salt-2015.8.0-remove-pydsl-includes-test.patch @@ -0,0 +1,107 @@ +diff --git a/tests/unit/pydsl_test.py b/tests/unit/pydsl_test.py +index 2f39a41..2052f55 100644 +--- a/tests/unit/pydsl_test.py ++++ b/tests/unit/pydsl_test.py +@@ -445,102 +445,6 @@ class PyDSLRendererTestCase(CommonTestCaseBoilerplate): + shutil.rmtree(dirpath, ignore_errors=True) + + +-class PyDSLRendererIncludeTestCase(CommonTestCaseBoilerplate): +- +- def test_rendering_includes(self): +- dirpath = tempfile.mkdtemp(dir=integration.SYS_TMP_DIR) +- if not os.path.isdir(dirpath): +- self.skipTest( +- 'The temporary directory {0!r} was not created'.format( +- dirpath +- ) +- ) +- output = os.path.join(dirpath, 'output') +- try: +- write_to(os.path.join(dirpath, 'aaa.sls'), textwrap.dedent('''\ +- #!pydsl|stateconf -ps +- +- include('xxx') +- yyy = include('yyy') +- +- # ensure states in xxx are run first, then those in yyy and then those in aaa last. +- extend(state('yyy::start').stateconf.require(stateconf='xxx::goal')) +- extend(state('.start').stateconf.require(stateconf='yyy::goal')) +- +- extend(state('yyy::Y2').cmd.run('echo Y2 extended >> {0}')) +- +- __pydsl__.set(ordered=True) +- +- yyy.hello('red', 1) +- yyy.hello('green', 2) +- yyy.hello('blue', 3) +- '''.format(output))) +- +- write_to(os.path.join(dirpath, 'xxx.sls'), textwrap.dedent('''\ +- #!stateconf -os yaml . jinja +- +- include: +- - yyy +- +- extend: +- yyy::start: +- stateconf.set: +- - require: +- - stateconf: .goal +- +- yyy::Y1: +- cmd.run: +- - name: 'echo Y1 extended >> {0}' +- +- .X1: +- cmd.run: +- - name: echo X1 >> {1} +- - cwd: / +- .X2: +- cmd.run: +- - name: echo X2 >> {2} +- - cwd: / +- .X3: +- cmd.run: +- - name: echo X3 >> {3} +- - cwd: / +- +- '''.format(output, output, output, output))) +- +- write_to(os.path.join(dirpath, 'yyy.sls'), textwrap.dedent('''\ +- #!pydsl|stateconf -ps +- +- include('xxx') +- __pydsl__.set(ordered=True) +- +- state('.Y1').cmd.run('echo Y1 >> {0}', cwd='/') +- state('.Y2').cmd.run('echo Y2 >> {1}', cwd='/') +- state('.Y3').cmd.run('echo Y3 >> {2}', cwd='/') +- +- def hello(color, number): +- state(color).cmd.run('echo hello '+color+' '+str(number)+' >> {3}', cwd='/') +- '''.format(output, output, output, output))) +- +- self.state_highstate({'base': ['aaa']}, dirpath) +- expected = textwrap.dedent('''\ +- X1 +- X2 +- X3 +- Y1 extended +- Y2 extended +- Y3 +- hello red 1 +- hello green 2 +- hello blue 3 +- ''') +- +- with salt.utils.fopen(output, 'r') as f: +- self.assertEqual(sorted(f.read()), sorted(expected)) +- +- finally: +- shutil.rmtree(dirpath, ignore_errors=True) +- +- + def write_to(fpath, content): + with salt.utils.fopen(fpath, 'w') as f: + f.write(content) diff --git a/app-admin/salt/salt-2015.8.0.ebuild b/app-admin/salt/salt-2015.8.0.ebuild new file mode 100644 index 0000000..e8568ef --- /dev/null +++ b/app-admin/salt/salt-2015.8.0.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=(python2_7) + +inherit eutils systemd vim-plugin distutils-r1 + +DESCRIPTION="Salt is a remote execution and configuration manager" +HOMEPAGE="http://saltstack.org/" +SALT_VIM_HASH="20695f68e5895e5ae2b5884b78f5a2cd29897b05" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git" + EGIT_BRANCH="develop" + SRC_URI="" + KEYWORDS="" +else + SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + KEYWORDS="~x86 ~amd64" +fi + +SRC_URI+=" vim-syntax? ( https://github.com/${PN}stack/${PN}-vim/archive/${SALT_VIM_HASH}.tar.gz -> salt-vim-20141109.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova" +IUSE+=" openssl profile redis selinux test timelib raet +zeromq vim-syntax" + +RDEPEND="sys-apps/pciutils + dev-python/jinja[${PYTHON_USEDEP}] + >=dev-python/msgpack-0.3[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/markupsafe[${PYTHON_USEDEP}] + >=dev-python/requests-1.0.0[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}] + virtual/python-futures[${PYTHON_USEDEP}] + libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] ) + mako? ( dev-python/mako[${PYTHON_USEDEP}] ) + ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] ) + openssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] ) + libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] ) + raet? ( + >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}] + >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}] + >=dev-python/raet-0.6.0[${PYTHON_USEDEP}] + ) + zeromq? ( + >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}] + >=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}] + ) + cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] ) + mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] ) + keyring? ( dev-python/keyring[${PYTHON_USEDEP}] ) + mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] ) + redis? ( dev-python/redis-py[${PYTHON_USEDEP}] ) + selinux? ( sec-policy/selinux-salt ) + timelib? ( dev-python/timelib[${PYTHON_USEDEP}] ) + nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] ) + neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] ) + gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] ) + profile? ( dev-python/yappi[${PYTHON_USEDEP}] )" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + test? ( + dev-python/pip[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/timelib[${PYTHON_USEDEP}] + >=dev-python/boto-2.32.1[${PYTHON_USEDEP}] + >=dev-python/moto-0.3.6[${PYTHON_USEDEP}] + >=dev-python/SaltTesting-2015.2.16[${PYTHON_USEDEP}] + ${RDEPEND} + )" + +DOCS=(README.rst AUTHORS) + +REQUIRED_USE="|| ( raet zeromq )" + +PATCHES=( + "${FILESDIR}/${PN}-2015.8.0-remove-pydsl-includes-test.patch" + "${FILESDIR}/${PN}-2015.8.0-remove-buggy-tests.patch" + "${FILESDIR}/${PN}-2015.5.5-auth-tests.patch" + "${FILESDIR}/${PN}-2015.5.5-cron-tests.patch" + "${FILESDIR}/${PN}-2015.5.5-remove-buggy-tests.patch" +) + +python_prepare() { + # this test fails because it trys to "pip install distribute" + rm tests/unit/{modules,states}/zcbuildout_test.py tests/unit/modules/{rh_ip,win_network}_test.py +} + +python_install_all() { + local svc + USE_SETUPTOOLS=1 distutils-r1_python_install_all + + for svc in minion master syndic api; do + newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc} + newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc} + systemd_dounit "${FILESDIR}"/salt-${svc}.service + done + + insinto /etc/${PN} + doins -r conf/* + + use vim-syntax && S="${WORKDIR}/salt-vim-${SALT_VIM_HASH}" \ + vim-plugin_src_install +} + +python_test() { + # testsuite likes lots of files + ulimit -n 3072 + + # using ${T} for the TMPDIR makes some tests needs paths that exceed PATH_MAX + USE_SETUPTOOLS=1 SHELL="/bin/bash" TMPDIR="/tmp" \ + ${EPYTHON} tests/runtests.py \ + --unit-tests --no-report --verbose || die "testing failed" +}