summaryrefslogtreecommitdiff
path: root/app-admin/ansible
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/ansible')
-rw-r--r--app-admin/ansible/Manifest10
-rw-r--r--app-admin/ansible/ansible-2.3.2.0-r2.ebuild65
-rw-r--r--app-admin/ansible/ansible-2.4.0.0.ebuild59
-rw-r--r--app-admin/ansible/ansible-9999.ebuild71
-rw-r--r--app-admin/ansible/files/ansible-2.3.2.0-fix_key_error.patch74
-rw-r--r--app-admin/ansible/metadata.xml29
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>