diff options
Diffstat (limited to 'app-admin/salt')
-rw-r--r-- | app-admin/salt/Manifest | 1 | ||||
-rw-r--r-- | app-admin/salt/files/salt-2017.7.0-dont-realpath-tmpdir.patch | 19 | ||||
-rw-r--r-- | app-admin/salt/salt-2017.7.0.ebuild | 138 |
3 files changed, 158 insertions, 0 deletions
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest index 743950ce7d9c..4b37df700806 100644 --- a/app-admin/salt/Manifest +++ b/app-admin/salt/Manifest @@ -4,3 +4,4 @@ DIST salt-2016.11.4.tar.gz 9360198 SHA256 fb4109b28d3fd898291c162e42ef843fbd4c3e DIST salt-2016.11.5.tar.gz 9246550 SHA256 b81427a4a3e47a98726f948bdc16a5b6b366f93fdac0b2c817e8f87d9036f8be SHA512 9afb40dbd3a508eacc43500566660763e2b219817d7de25ccf2d61d7f74b857238922ea40cc4c6372fd520bc6f524d84fb0a2d65f9890bedd79d0fc6c177edf9 WHIRLPOOL 684c8f147fbe38928b3f7510e704654270fcc4aacdf81c4f3b90a9f275566a2b8cf2155aff223d3ead2740d79e479d10cf233b4386b8e76ddb7b481f3471ebb6 DIST salt-2016.11.6.tar.gz 9410028 SHA256 9031af68d31d0416fe3161526ef122a763afc6182bd63fe48b6c4d0a16a0703a SHA512 8b375eeaf8380c750700ae9b500e012f0b8ae281c8b5aa68d3443393a5bb7dd46612f2aeb3ba01719dd28d9e128dc88f1faa8023f5f5e7ff684a1f0483c30120 WHIRLPOOL c74aa93b60851a4978746fd0fe60f4fcbe0e8bb447cb19fcd3eede9d5880ef3ece96b2d9dc4cab4d8f09f08ce9ad2fd9d4bb63c295aefcf25b178e4c3c77d992 DIST salt-2016.3.6.tar.gz 8432840 SHA256 4cc45f48255b7e46631807b071674552872c322ab77f398c9beefbf14d6a212f SHA512 949d70504310cd88139c520812a870e4c68e6b0c7ec6decfd157283994d6be659e7823a4453d1b6464c24fc762bc9ba61d4f6a767c4d6f65e496c7f5b6589a8d WHIRLPOOL 3d5abdbe0e297cbfc1b0f7fce0d6959132bbe917abc80ad7bb368a2ec657c0c0019123a22558c3fbdec489cb20430243ff837658d55da6755a07d4ec4d35158c +DIST salt-2017.7.0.tar.gz 11399842 SHA256 aaf45f8dcf95a20b56072e620100432d058ab297210c4902dc90e197b236b064 SHA512 21d8350413ad6a262d4c19c4cb3cbd4bc718f411bab49141626729b659c1ee72340542b342ec0fb012cb11c313bd56ec6534416d2128ae548ed8950affb6c834 WHIRLPOOL e9716b689069c79922c9e47d430ed16efc8adb9ba528202cfc86d00a39e746b3723e12f2f6abf443a8ae5adb64d81bbd916e395973ddf6639dcbc32d589b6881 diff --git a/app-admin/salt/files/salt-2017.7.0-dont-realpath-tmpdir.patch b/app-admin/salt/files/salt-2017.7.0-dont-realpath-tmpdir.patch new file mode 100644 index 000000000000..90a48a662998 --- /dev/null +++ b/app-admin/salt/files/salt-2017.7.0-dont-realpath-tmpdir.patch @@ -0,0 +1,19 @@ +diff --git a/tests/support/paths.py b/tests/support/paths.py +index da93c8e1e3..895c636fef 100644 +--- a/tests/support/paths.py ++++ b/tests/support/paths.py +@@ -40,12 +40,12 @@ if CODE_DIR not in sys.path: + if TESTS_DIR not in sys.path: + sys.path.insert(1, TESTS_DIR) + +-SYS_TMP_DIR = os.path.abspath(os.path.realpath( ++SYS_TMP_DIR = os.path.abspath( + # Avoid ${TMPDIR} and gettempdir() on MacOS as they yield a base path too long + # for unix sockets: ``error: AF_UNIX path too long`` + # Gentoo Portage prefers ebuild tests are rooted in ${TMPDIR} + os.environ.get('TMPDIR', tempfile.gettempdir()) if not sys.platform.startswith('darwin') else '/tmp' +-)) ++) + TMP = os.path.join(SYS_TMP_DIR, 'salt-tests-tmpdir') + FILES = os.path.join(INTEGRATION_TEST_DIR, 'files') + PYEXEC = 'python{0}.{1}'.format(*sys.version_info) diff --git a/app-admin/salt/salt-2017.7.0.ebuild b/app-admin/salt/salt-2017.7.0.ebuild new file mode 100644 index 000000000000..327efb8b298d --- /dev/null +++ b/app-admin/salt/salt-2017.7.0.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) + +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/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}] ) + 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/pycrypto-2.6.1[${PYTHON_USEDEP}] + ) + cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] ) + mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] ) + portage? ( sys-apps/portage[${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}] ) + 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/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}] + !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" +) + +python_prepare() { + rm tests/unit/{test_zypp_plugins.py,utils/test_extend.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/* +} + +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" +} |