diff options
Diffstat (limited to 'app-admin/ansible')
-rw-r--r-- | app-admin/ansible/Manifest | 10 | ||||
-rw-r--r-- | app-admin/ansible/ansible-2.3.2.0-r2.ebuild | 65 | ||||
-rw-r--r-- | app-admin/ansible/ansible-2.4.0.0.ebuild | 59 | ||||
-rw-r--r-- | app-admin/ansible/ansible-9999.ebuild | 71 | ||||
-rw-r--r-- | app-admin/ansible/files/ansible-2.3.2.0-fix_key_error.patch | 74 | ||||
-rw-r--r-- | app-admin/ansible/metadata.xml | 29 |
6 files changed, 308 insertions, 0 deletions
diff --git a/app-admin/ansible/Manifest b/app-admin/ansible/Manifest new file mode 100644 index 000000000000..6cc09ee384fb --- /dev/null +++ b/app-admin/ansible/Manifest @@ -0,0 +1,10 @@ +AUX ansible-2.3.2.0-fix_key_error.patch 2733 SHA256 de439ac7f94ec49747ebf9531bab5c2b2d6f706f5c0327ae3b980f58ba8d10de SHA512 fc124b19d7fd2d60ab6d7f5185e23334740ca549a8d06eb093ac194e8f17ca92cb0a64735726e9313d026985182e33eea7f1c56a511aba938216cafa0810ca7e WHIRLPOOL 12d04ce7063c7e8688e49714e92fe7f9b828f119efd0abadfccc83d4199e808b6e9ce744f95a130216f7787099bd9745016921d213dc048dd6d34e8a9bcdea71 +DIST ansible-2.3.2.0-pycryptodome.patch 32472 SHA256 0e204895f8e16e030517dcda40c95c40b20cfe1641e077c15d80ff8fc4b0579a SHA512 cf2b1528176a12e8e48001155d8f2351e1c4914df56ae8b8542a48ccee4158c23ed1eda537ac500f1b71553aa84c574b8297398a82c4c0721ed6f9d08ad5257d WHIRLPOOL 24c9971b643da1cc5321ffe13f1b1ce27f42ab4c273b51ea532746564c0112ce5884072245e282d1525057c2d4117a5fe67d0d305f1a23d1feb9d3d464f1ec11 +DIST ansible-2.3.2.0.tar.gz 4319664 SHA256 0563b425279422487f12616ef719f6e558373b258dcf47e548d119be8d3168eb SHA512 458506da8ae65a80b442834c6047f02eb92acf9f7dd4465c63b4360c4c4817a0f7c48c92a614b91760a54d036ed13f417edf3524bb8a34a8a53ceb11efc928ac WHIRLPOOL 3ce907ba1a08e4d7cbca3c49429f4315f7cfea828806cb4710e2cce6d681a60514f9ca65e702da08a3ae6fc96cc969af73a17d3224e57996ec947438642693c6 +DIST ansible-2.4.0.0.tar.gz 6623856 SHA256 1a276fee7f72d4e6601a7994879e8467edb763dacc3e215258cfe71350b77c76 SHA512 78717b19599bdd46a7285b0b2a4c9d0d5b4cb86fd41dcf0b3340cf65945a55fae4508097058098fbeab871422c31d4f37ab4cd149abfd0af5add6004f65a207b WHIRLPOOL ef957f6b03558f3fd2f711b0551405b1991ec9f404e033e4d9ee074dad07735a651a01d8191d3d111f5e65017621f18711955465547966235048214b3b7bbe85 +EBUILD ansible-2.3.2.0-r2.ebuild 1676 SHA256 b25f23663e55dfaf3bf9002749e8893dacb7cc15faaa19d0a1dfea7810a9139e SHA512 51dd318154de64b19452db3fbc203b1b3bcb04a2aaca2dd92d3bcebb5401757b7e7647eb955806abebfcfa45b3927433dd59fc5bccb0ee5971960d10639631bd WHIRLPOOL 18c770bc291e34b22a80f76c33a5d0213810837a33cfdca4088c98e3c7440a2b8b984ba206441427a95fe57b2bb8b367d2706aa3c5b7a4aaa63441f7096ea007 +EBUILD ansible-2.4.0.0.ebuild 1438 SHA256 6e22a02f3eeb22f424d131da28c23a15c8d4c89578a76f279e911add2078bff1 SHA512 885de334709f35656b7876380d35cd6e834c1ed145dd1f88b8901a32add233be3d0985542c2785b211342fa63492afefd0d0408a8ada2956f2bc3d236fe03122 WHIRLPOOL 1837c096a4c947b4c908998643c1f7f8ea46c61369f885d63eb6cc84dba2db3f23247e54a56a9ea1048af856d9633dc52366efa0ee1a32cac0aef04ba702566e +EBUILD ansible-9999.ebuild 1696 SHA256 08c84153e567af00758970889bf449dc3c4a06aea6d8123c419a8fff88875ab4 SHA512 cdcae2ecd1f9257c88aa3545cb874d1992a48d0dfbfe25a599fc5cd1d60b48abf3d1f17cb992fdc750625b6916f8e264ac79776e474945ff6f6a1dec3598b372 WHIRLPOOL 9dfb579a17443a0b2ab1c4ac987da55d03ed9c58cd0d72bc2e4bc56459479ac375768c129583ed2720be5d6ac1145fbbe0a7df6366ace40ccbf60b350af9bc73 +MISC ChangeLog 9769 SHA256 199baf005e4d3f8d68566cea3ff4b6410b202cce107ab90504981dac00dd34b5 SHA512 d0f84e1dcbd3628c26e0df2d80ff829cf146f3ab8e6f355c8dc187b2ad5e4be9a1e60f22176e669548f2d355c9659dbeccafcf096de47d52c50842d1b65afac4 WHIRLPOOL b6dba8621dc6d3da894e717f48d9c5ec844c885d594976ef2a759898ba1a9e49db0172b358c0e161e615ee71ab42bc7ddf51a7b77db29e41eed6f5e768d4f5ac +MISC ChangeLog-2015 11597 SHA256 88b37db76a87a55c7ac0afd355e215dcb788a0217a70561d8a5bdac8af71415c SHA512 25b912511f5763eb335b67a5adf194800b131440c0170b7cb37772e07ee926a2df530586ab77f8963f95b1176e5309de3f5597e7bb57df80f5e025afe83969c4 WHIRLPOOL bee785f57512f313a52908c3e93984138fde5b67ed2f800e6fa7438d6a4fa9517c05aed9326f2b922e6eb89fe4e2ea2f98f4e5a44b5a55747b6ef8fbe4ed0540 +MISC metadata.xml 952 SHA256 7af861810098fe67b07c557dfbe0a898153e0ddc355ff1872550c5ca95004275 SHA512 03b75d65cd0a4b32021b34d9f7ba21b6c4c6893cf185a36dbe6fc10728e0f18c65fc5b6a4c197be8c2b1dadb7243ddce02dbe2f504034a2df1c621f8ba6e26a7 WHIRLPOOL 7f86dd2d6d69882b80b729e1eb9fccf86bca4ac8e3ba2ca46bbd4409411883fa59de0cf58b1a1f7183f88099cda2cb8eb1c6d05b661ab64a01edda7dc9ccdda3 diff --git a/app-admin/ansible/ansible-2.3.2.0-r2.ebuild b/app-admin/ansible/ansible-2.3.2.0-r2.ebuild new file mode 100644 index 000000000000..aff0f1b8ef36 --- /dev/null +++ b/app-admin/ansible/ansible-2.3.2.0-r2.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_5 ) + +inherit distutils-r1 eutils versionator + +DESCRIPTION="Model-driven deployment, config management, and command execution framework" +HOMEPAGE="http://ansible.com/" +SRC_URI="http://releases.ansible.com/${PN}/${P}.tar.gz + https://dev.gentoo.org/~prometheanfire/dist/ansible/ansible-2.3.2.0-pycryptodome.patch" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 x86 ~x64-macos" +IUSE="test" + +RDEPEND=" + dev-python/paramiko[${PYTHON_USEDEP}] + dev-python/jinja[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + || ( + dev-python/pycryptodome[${PYTHON_USEDEP}] + >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] + ) + dev-python/httplib2[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] + dev-python/netaddr[${PYTHON_USEDEP}] + net-misc/sshpass + virtual/ssh +" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + >=dev-python/packaging-16.6[${PYTHON_USEDEP}] + test? ( + ${RDEPEND} + dev-python/nose[${PYTHON_USEDEP}] + >=dev-python/mock-1.0.1[${PYTHON_USEDEP}] + <dev-python/mock-1.1[${PYTHON_USEDEP}] + dev-python/passlib[${PYTHON_USEDEP}] + dev-python/coverage[${PYTHON_USEDEP}] + dev-python/unittest2[${PYTHON_USEDEP}] + dev-vcs/git + )" + +# not included in release tarball +RESTRICT="test" + +PATCHES=( + "${DISTDIR}/${PN}-2.3.2.0-pycryptodome.patch" + "${FILESDIR}/${PN}-2.3.2.0-fix_key_error.patch" + ) + +python_test() { + nosetests -d -w test/units -v --with-coverage --cover-package=ansible --cover-branches || die +} + +python_install_all() { + distutils-r1_python_install_all + + doman docs/man/man1/*.1 +} diff --git a/app-admin/ansible/ansible-2.4.0.0.ebuild b/app-admin/ansible/ansible-2.4.0.0.ebuild new file mode 100644 index 000000000000..df9628037bd5 --- /dev/null +++ b/app-admin/ansible/ansible-2.4.0.0.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_5 ) + +inherit distutils-r1 eutils versionator + +DESCRIPTION="Model-driven deployment, config management, and command execution framework" +HOMEPAGE="http://ansible.com/" +SRC_URI="http://releases.ansible.com/${PN}/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~x64-macos" +IUSE="test" + +RDEPEND=" + dev-python/paramiko[${PYTHON_USEDEP}] + dev-python/jinja[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/httplib2[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] + dev-python/netaddr[${PYTHON_USEDEP}] + net-misc/sshpass + virtual/ssh +" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + >=dev-python/packaging-16.6[${PYTHON_USEDEP}] + test? ( + ${RDEPEND} + dev-python/nose[${PYTHON_USEDEP}] + >=dev-python/mock-1.0.1[${PYTHON_USEDEP}] + <dev-python/mock-1.1[${PYTHON_USEDEP}] + dev-python/passlib[${PYTHON_USEDEP}] + dev-python/coverage[${PYTHON_USEDEP}] + dev-python/unittest2[${PYTHON_USEDEP}] + dev-vcs/git + )" + +# not included in release tarball +RESTRICT="test" + +PATCHES=( + ) + +python_test() { + nosetests -d -w test/units -v --with-coverage --cover-package=ansible --cover-branches || die +} + +python_install_all() { + distutils-r1_python_install_all + + doman docs/man/man1/*.1 +} diff --git a/app-admin/ansible/ansible-9999.ebuild b/app-admin/ansible/ansible-9999.ebuild new file mode 100644 index 000000000000..114b173baeee --- /dev/null +++ b/app-admin/ansible/ansible-9999.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_5 python3_6 ) + +inherit distutils-r1 git-r3 + +DESCRIPTION="Model-driven deployment, config management, and command execution framework" +HOMEPAGE="https://www.ansible.com/" +EGIT_REPO_URI="https://github.com/ansible/ansible.git" +EGIT_BRANCH="devel" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="" +IUSE="test" + +RDEPEND=" + <dev-python/jinja-2.9[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/paramiko[${PYTHON_USEDEP}] + >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/httplib2[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] + dev-python/netaddr[${PYTHON_USEDEP}] + app-text/asciidoc + net-misc/sshpass + virtual/ssh +" + +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + >=dev-python/packaging-16.6[${PYTHON_USEDEP}] + test? ( + ${RDEPEND} + dev-python/nose[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/passlib[${PYTHON_USEDEP}] + dev-python/coverage[${PYTHON_USEDEP}] + dev-python/unittest2[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-vcs/git +)" + +python_prepare_all() { + rm -fv MANIFEST.in || die + distutils-r1_python_prepare_all +} + +python_test() { + sed -e "s:pwd_entry.pw_dir:os.environ['HOME']:" \ + -e "s:~%s/local:~%s/${CATEGORY}/${PF}/homedir/local:" \ + -i test/units/test_constants.py || die + + emake tests || die "Tests fail with ${EPYTHON}" +} + +python_compile_all() { + emake -j1 docs +} + +python_install_all() { + distutils-r1_python_install_all + + doman docs/man/man1/${PN}*.1 + dodoc -r examples +} diff --git a/app-admin/ansible/files/ansible-2.3.2.0-fix_key_error.patch b/app-admin/ansible/files/ansible-2.3.2.0-fix_key_error.patch new file mode 100644 index 000000000000..80b9350d3e37 --- /dev/null +++ b/app-admin/ansible/files/ansible-2.3.2.0-fix_key_error.patch @@ -0,0 +1,74 @@ +From fbe9ec58c7f48d2cef4a49ba96e84bce5933d654 Mon Sep 17 00:00:00 2001 +From: Denis Dupeyron <calchan@gentoo.org> +Date: Wed, 9 Aug 2017 12:01:31 -0500 +Subject: [PATCH] template: fix KeyError: 'undefined variable: 0 + +Fixes: https://github.com/ansible/ansible/issues/20494 + +Based on a patch by Zac Medico at: +https://github.com/zmedico/ansible/pull/1/commits/32e5613a95e525c3a25b8cd5aa1beaa75a4b0d5c +--- + lib/ansible/template/template.py | 10 ++++++++-- + lib/ansible/template/vars.py | 14 +++++++++++++- + 2 files changed, 21 insertions(+), 3 deletions(-) + +diff --git a/lib/ansible/template/template.py b/lib/ansible/template/template.py +index 55936f4..fe11471 100644 +--- a/lib/ansible/template/template.py ++++ b/lib/ansible/template/template.py +@@ -33,5 +33,11 @@ class AnsibleJ2Template(jinja2.environment.Template): + ''' + + def new_context(self, vars=None, shared=False, locals=None): +- return self.environment.context_class(self.environment, vars.add_locals(locals), self.name, self.blocks) +- ++ if vars is not None: ++ if isinstance(vars, dict): ++ vars = vars.copy() ++ if locals is not None: ++ vars.update(locals) ++ else: ++ vars = vars.add_locals(locals) ++ return self.environment.context_class(self.environment, vars, self.name, self.blocks) +diff --git a/lib/ansible/template/vars.py b/lib/ansible/template/vars.py +index fc6140c..2bf95ac 100644 +--- a/lib/ansible/template/vars.py ++++ b/lib/ansible/template/vars.py +@@ -19,6 +19,8 @@ + from __future__ import (absolute_import, division, print_function) + __metaclass__ = type + ++from collections import Mapping ++ + from ansible.compat.six import iteritems + from jinja2.utils import missing + from ansible.module_utils._text import to_native +@@ -27,7 +29,7 @@ from ansible.module_utils._text import to_native + __all__ = ['AnsibleJ2Vars'] + + +-class AnsibleJ2Vars: ++class AnsibleJ2Vars(Mapping): + ''' + Helper class to template all variable content before jinja2 sees it. This is + done by hijacking the variable storage that jinja2 uses, and overriding __contains__ +@@ -68,6 +70,16 @@ class AnsibleJ2Vars: + return True + return False + ++ def __iter__(self): ++ keys = set() ++ keys.update(self._templar._available_variables, self._locals, self._globals, *self._extras) ++ return iter(keys) ++ ++ def __len__(self): ++ keys = set() ++ keys.update(self._templar._available_variables, self._locals, self._globals, *self._extras) ++ return len(keys) ++ + def __getitem__(self, varname): + if varname not in self._templar._available_variables: + if varname in self._locals: +-- +2.13.3 + diff --git a/app-admin/ansible/metadata.xml b/app-admin/ansible/metadata.xml new file mode 100644 index 000000000000..7c4e1dffb27b --- /dev/null +++ b/app-admin/ansible/metadata.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>chainsaw@gentoo.org</email> + <name>Tony Vroon</name> + </maintainer> + <maintainer type="person"> + <email>prometheanfire@gentoo.org</email> + <name>Matthew Thode</name> + </maintainer> + <maintainer type="person"> + <email>calchan@gentoo.org</email> + <name>Denis Dupeyron</name> + </maintainer> + <maintainer type="person"> + <email>monsieurp@gentoo.org</email> + <name>Patrice Clement</name> + </maintainer> + <upstream> + <remote-id type="pypi">ansible</remote-id> + <remote-id type="github">ansible/ansible</remote-id> + <bugs-to>https://github.com/ansible/ansible/issues</bugs-to> + </upstream> + <longdescription lang="en"> +Radically simple deployment, model-driven configuration management, and +command execution framework. +</longdescription> +</pkgmetadata> |