From 414bd196776d90ba5b5f17d7afafffe4c64e99b5 Mon Sep 17 00:00:00 2001 From: Patrick McLean Date: Tue, 25 Aug 2015 10:30:46 -0700 Subject: [PATCH] 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 +++ .../salt-2015.5.5-remove-buggy-tests.patch | 46 +++++++ app-admin/salt/salt-2015.5.5.ebuild | 119 ++++++++++++++++++ 5 files changed, 217 insertions(+) create mode 100644 app-admin/salt/files/salt-2015.5.5-auth-tests.patch create mode 100644 app-admin/salt/files/salt-2015.5.5-cron-tests.patch create mode 100644 app-admin/salt/files/salt-2015.5.5-remove-buggy-tests.patch create mode 100644 app-admin/salt/salt-2015.5.5.ebuild diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest index baf548fc0313..4b83eea56058 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 000000000000..fa092d1f3eaf --- /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 000000000000..d0c4ffc92df1 --- /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 000000000000..b36e35fb9a58 --- /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 000000000000..2ab01a5ce8b2 --- /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" +} -- 2.26.2