diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-admin/salt | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'app-admin/salt')
28 files changed, 1038 insertions, 0 deletions
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest new file mode 100644 index 000000000000..baf548fc0313 --- /dev/null +++ b/app-admin/salt/Manifest @@ -0,0 +1,5 @@ +DIST salt-2014.7.4.tar.gz 3833928 SHA256 0adf4c138ebd26745b1d1157be0772d89da3582fe8a6622a8031cbe32a28e9f3 SHA512 8cbb9b26472b8980c36f0394a79bf872fd68a62bc886ba2a7fa35720db0a01c3a026e63c839a5c0dddc328c9555fa87aff4cfd71e3faaf01d6c1db01ae5bed64 WHIRLPOOL 1234c14e5fbb552cabb827d416e5ccbaccf9df03bac1ea72f32eeac33dc06d6afe0af0e83bff1682fbec0a52558a43945fccca8a9b08ace28c42a6c2c2016f01 +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-vim-20141109.tar.gz 3783 SHA256 4989d111ad618ea3f5f7a7046a0ff6ce3ca6bc7f71fca90849f7c38947ab6d9a SHA512 d8d62ee827012e29586cf492f2881ee5870ed058828102f985e8b27300c115e01bb126f89decb15a19a8e206dc54c89856d4c31b3ff5320a36385cb5ed517a63 WHIRLPOOL 98026b2cdcb64665790475e3b20a7de294e5cefb390b414294756cad440bc040d9044ffd37a13f3c93af9be1a1bfd444710ff0df24895db624f49fddd16b5545 diff --git a/app-admin/salt/files/api-confd-1 b/app-admin/salt/files/api-confd-1 new file mode 100644 index 000000000000..c70e8e766da0 --- /dev/null +++ b/app-admin/salt/files/api-confd-1 @@ -0,0 +1,5 @@ +# /etc/conf.d/salt-master: config file for /etc/init.d/salt-master + +# see man pages for salt-minion or run `salt-master --help` +# for valid cmdline options +SALT_OPTS="--log-level=warning" diff --git a/app-admin/salt/files/api-initd-3 b/app-admin/salt/files/api-initd-3 new file mode 100644 index 000000000000..e5be2c3d83d8 --- /dev/null +++ b/app-admin/salt/files/api-initd-3 @@ -0,0 +1,14 @@ +#!/sbin/runscript +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +command="/usr/bin/salt-api" +command_args="${SALT_OPTS}" +command_background="1" +pidfile="/var/run/salt-api.pid" +name="SALT API daemon" + +depend() { + use net logger +} diff --git a/app-admin/salt/files/api-initd-4 b/app-admin/salt/files/api-initd-4 new file mode 100644 index 000000000000..e69acdf86b9b --- /dev/null +++ b/app-admin/salt/files/api-initd-4 @@ -0,0 +1,15 @@ +#!/sbin/runscript +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +command="/usr/bin/salt-api" +command_args="${SALT_OPTS}" +command_background="1" +pidfile="/var/run/salt-api.pid" +name="SALT API daemon" +retry="20" + +depend() { + use net logger +} diff --git a/app-admin/salt/files/master-confd-1 b/app-admin/salt/files/master-confd-1 new file mode 100644 index 000000000000..c70e8e766da0 --- /dev/null +++ b/app-admin/salt/files/master-confd-1 @@ -0,0 +1,5 @@ +# /etc/conf.d/salt-master: config file for /etc/init.d/salt-master + +# see man pages for salt-minion or run `salt-master --help` +# for valid cmdline options +SALT_OPTS="--log-level=warning" diff --git a/app-admin/salt/files/master-initd-3 b/app-admin/salt/files/master-initd-3 new file mode 100644 index 000000000000..ecaa29f5779b --- /dev/null +++ b/app-admin/salt/files/master-initd-3 @@ -0,0 +1,14 @@ +#!/sbin/runscript +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +command="/usr/bin/salt-master" +command_args="${SALT_OPTS}" +command_background="1" +pidfile="/var/run/salt-master.pid" +name="SALT master daemon" + +depend() { + use net logger +} diff --git a/app-admin/salt/files/master-initd-4 b/app-admin/salt/files/master-initd-4 new file mode 100644 index 000000000000..dc4962809e02 --- /dev/null +++ b/app-admin/salt/files/master-initd-4 @@ -0,0 +1,15 @@ +#!/sbin/runscript +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +command="/usr/bin/salt-master" +command_args="${SALT_OPTS}" +command_background="1" +pidfile="/var/run/salt-master.pid" +name="SALT master daemon" +retry="20" + +depend() { + use net logger +} diff --git a/app-admin/salt/files/minion-confd-1 b/app-admin/salt/files/minion-confd-1 new file mode 100644 index 000000000000..d69d83fcd60d --- /dev/null +++ b/app-admin/salt/files/minion-confd-1 @@ -0,0 +1,5 @@ +# /etc/conf.d/salt-minion: config file for /etc/init.d/salt-minion + +# see man pages for salt-minion or run `salt-minion --help` +# for valid cmdline options +SALT_OPTS="--log-level=warning" diff --git a/app-admin/salt/files/minion-initd-3 b/app-admin/salt/files/minion-initd-3 new file mode 100644 index 000000000000..07842841a59a --- /dev/null +++ b/app-admin/salt/files/minion-initd-3 @@ -0,0 +1,15 @@ +#!/sbin/runscript +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +command="/usr/bin/salt-minion" +command_args="${SALT_OPTS}" +command_background="1" +pidfile="/var/run/salt-minion.pid" +name="SALT minion daemon" + +depend() { + need net + use logger +} diff --git a/app-admin/salt/files/minion-initd-4 b/app-admin/salt/files/minion-initd-4 new file mode 100644 index 000000000000..350703a0b52b --- /dev/null +++ b/app-admin/salt/files/minion-initd-4 @@ -0,0 +1,16 @@ +#!/sbin/runscript +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +command="/usr/bin/salt-minion" +command_args="${SALT_OPTS}" +command_background="1" +pidfile="/var/run/salt-minion.pid" +name="SALT minion daemon" +retry="20" + +depend() { + need net + use logger +} diff --git a/app-admin/salt/files/salt-2014.7.0-remove-pydsl-includes-test.patch b/app-admin/salt/files/salt-2014.7.0-remove-pydsl-includes-test.patch new file mode 100644 index 000000000000..0cf3efe8f347 --- /dev/null +++ b/app-admin/salt/files/salt-2014.7.0-remove-pydsl-includes-test.patch @@ -0,0 +1,104 @@ +diff --git a/tests/unit/pydsl_test.py b/tests/unit/pydsl_test.py +index 59442bd..2c5d129 100644 +--- a/tests/unit/pydsl_test.py ++++ b/tests/unit/pydsl_test.py +@@ -297,99 +297,6 @@ class PyDSLRendererTestCase(TestCase): + finally: + shutil.rmtree(dirpath, ignore_errors=True) + +- 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))) +- +- 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 open(output, 'r') as f: +- self.assertEqual(sorted(f.read()), sorted(expected)) +- +- finally: +- shutil.rmtree(dirpath, ignore_errors=True) +- + def test_compile_time_state_execution(self): + if not sys.stdin.isatty(): + self.skipTest('Not attached to a TTY') diff --git a/app-admin/salt/files/salt-2014.7.1-remove-pydsl-includes-test.patch b/app-admin/salt/files/salt-2014.7.1-remove-pydsl-includes-test.patch new file mode 100644 index 000000000000..7c33c12f5c71 --- /dev/null +++ b/app-admin/salt/files/salt-2014.7.1-remove-pydsl-includes-test.patch @@ -0,0 +1,104 @@ +diff --git a/tests/unit/pydsl_test.py b/tests/unit/pydsl_test.py +index 57ba81e..b26154e 100644 +--- a/tests/unit/pydsl_test.py ++++ b/tests/unit/pydsl_test.py +@@ -298,99 +298,6 @@ class PyDSLRendererTestCase(TestCase): + finally: + shutil.rmtree(dirpath, ignore_errors=True) + +- 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))) +- +- 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 test_compile_time_state_execution(self): + if not sys.stdin.isatty(): + self.skipTest('Not attached to a TTY') diff --git a/app-admin/salt/files/salt-2014.7.5-archive-test.patch b/app-admin/salt/files/salt-2014.7.5-archive-test.patch new file mode 100644 index 000000000000..f7ff561efd62 --- /dev/null +++ b/app-admin/salt/files/salt-2014.7.5-archive-test.patch @@ -0,0 +1,15 @@ +diff --git a/tests/unit/states/archive_test.py b/tests/unit/states/archive_test.py +index a7f3005..bb0bc45 100644 +--- a/tests/unit/states/archive_test.py ++++ b/tests/unit/states/archive_test.py +@@ -78,9 +78,7 @@ class ArchiveTest(TestCase): + running_as = 'root' + filename = os.path.join( + tmp_dir, +- 'files/test/_tmp{0}_test_archive.tar'.format( +- '' if running_as == 'root' else '_{0}'.format(running_as) +- ) ++ 'files/test/_tmp_test_archive.tar' + ) + for test_opts, ret_opts in zip(test_tar_opts, ret_tar_opts): + ret = archive.extracted(tmp_dir, diff --git a/app-admin/salt/files/salt-2015.5.0-archive-test.patch b/app-admin/salt/files/salt-2015.5.0-archive-test.patch new file mode 100644 index 000000000000..c47422326974 --- /dev/null +++ b/app-admin/salt/files/salt-2015.5.0-archive-test.patch @@ -0,0 +1,15 @@ +diff --git a/tests/unit/states/archive_test.py b/tests/unit/states/archive_test.py +index 588ec1a..acd53fa 100644 +--- a/tests/unit/states/archive_test.py ++++ b/tests/unit/states/archive_test.py +@@ -78,9 +78,7 @@ class ArchiveTest(TestCase): + running_as = 'root' + filename = os.path.join( + tmp_dir, +- 'files/test/_tmp{0}_test_archive_.tar'.format( +- '' if running_as == 'root' else '_{0}'.format(running_as) +- ) ++ 'files/test/_tmp_test_archive_.tar' + ) + for test_opts, ret_opts in zip(test_tar_opts, ret_tar_opts): + ret = archive.extracted(tmp_dir, diff --git a/app-admin/salt/files/salt-2015.5.1-skip-libvirt-test-on-nonroot.patch b/app-admin/salt/files/salt-2015.5.1-skip-libvirt-test-on-nonroot.patch new file mode 100644 index 000000000000..acb8a091ac48 --- /dev/null +++ b/app-admin/salt/files/salt-2015.5.1-skip-libvirt-test-on-nonroot.patch @@ -0,0 +1,20 @@ +diff --git a/tests/unit/states/libvirt_test.py b/tests/unit/states/libvirt_test.py +index ec09542..477e5c3 100644 +--- a/tests/unit/states/libvirt_test.py ++++ b/tests/unit/states/libvirt_test.py +@@ -4,6 +4,7 @@ + ''' + # Import Python libs + from __future__ import absolute_import ++import os + + # Import Salt Testing Libs + from salttesting import skipIf, TestCase +@@ -27,6 +28,7 @@ libvirt.__opts__ = {} + + + @skipIf(NO_MOCK, NO_MOCK_REASON) ++@skipIf(os.geteuid() != 0, 'You must be logged in as root to run this test') + class LibvirtTestCase(TestCase): + ''' + Test cases for salt.states.libvirt diff --git a/app-admin/salt/files/salt-api.service b/app-admin/salt/files/salt-api.service new file mode 100644 index 000000000000..fd9f665fff09 --- /dev/null +++ b/app-admin/salt/files/salt-api.service @@ -0,0 +1,10 @@ +[Unit] +Description=The Salt Master Server +After=syslog.target network.target + +[Service] +Type=simple +ExecStart=/usr/bin/salt-api + +[Install] +WantedBy=multi-user.target diff --git a/app-admin/salt/files/salt-master.service b/app-admin/salt/files/salt-master.service new file mode 100644 index 000000000000..4f3827ede6df --- /dev/null +++ b/app-admin/salt/files/salt-master.service @@ -0,0 +1,10 @@ +[Unit] +Description=The Salt Master Server +After=syslog.target network.target + +[Service] +Type=simple +ExecStart=/usr/bin/salt-master + +[Install] +WantedBy=multi-user.target diff --git a/app-admin/salt/files/salt-minion.service b/app-admin/salt/files/salt-minion.service new file mode 100644 index 000000000000..2f199f998eca --- /dev/null +++ b/app-admin/salt/files/salt-minion.service @@ -0,0 +1,10 @@ +[Unit] +Description=The Salt Minion +After=syslog.target network.target + +[Service] +Type=simple +ExecStart=/usr/bin/salt-minion + +[Install] +WantedBy=multi-user.target diff --git a/app-admin/salt/files/salt-syndic.service b/app-admin/salt/files/salt-syndic.service new file mode 100644 index 000000000000..922eef35af8b --- /dev/null +++ b/app-admin/salt/files/salt-syndic.service @@ -0,0 +1,10 @@ +[Unit] +Description=The Salt Master Server +After=syslog.target network.target + +[Service] +Type=simple +ExecStart=/usr/bin/salt-syndic + +[Install] +WantedBy=multi-user.target diff --git a/app-admin/salt/files/syndic-confd-1 b/app-admin/salt/files/syndic-confd-1 new file mode 100644 index 000000000000..d69d83fcd60d --- /dev/null +++ b/app-admin/salt/files/syndic-confd-1 @@ -0,0 +1,5 @@ +# /etc/conf.d/salt-minion: config file for /etc/init.d/salt-minion + +# see man pages for salt-minion or run `salt-minion --help` +# for valid cmdline options +SALT_OPTS="--log-level=warning" diff --git a/app-admin/salt/files/syndic-initd-3 b/app-admin/salt/files/syndic-initd-3 new file mode 100644 index 000000000000..532be92c50f8 --- /dev/null +++ b/app-admin/salt/files/syndic-initd-3 @@ -0,0 +1,14 @@ +#!/sbin/runscript +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +command="/usr/bin/salt-syndic" +command_args="${SALT_OPTS}" +command_background="1" +pidfile="/var/run/salt-syndic.pid" +name="SALT syndic daemon" + +depend() { + use net logger +} diff --git a/app-admin/salt/files/syndic-initd-4 b/app-admin/salt/files/syndic-initd-4 new file mode 100644 index 000000000000..65916b4b42c2 --- /dev/null +++ b/app-admin/salt/files/syndic-initd-4 @@ -0,0 +1,15 @@ +#!/sbin/runscript +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +command="/usr/bin/salt-syndic" +command_args="${SALT_OPTS}" +command_background="1" +pidfile="/var/run/salt-syndic.pid" +name="SALT syndic daemon" +retry="20" + +depend() { + use net logger +} diff --git a/app-admin/salt/metadata.xml b/app-admin/salt/metadata.xml new file mode 100644 index 000000000000..7b86f458a6ae --- /dev/null +++ b/app-admin/salt/metadata.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>chutzpah@gentoo.org</email> + <name>Patrick McLean</name> + </maintainer> + <longdescription lang="en"> +Salt is a powerful remote execution manager that can be used to administer +servers in a fast and efficient way. + +Salt allows commands to be executed across large groups of servers. This means +systems can be easily managed, but data can also be easily gathered. Quick +introspection into running systems becomes a reality. + +Remote execution is usually used to set up a certain state on a remote system. +Salt addresses this problem as well, the salt state system uses salt state +files to define the state a server needs to be in. + +Between the remote execution system, and state management Salt addresses the +backbone of cloud and data center management. +</longdescription> + <use> + <flag name="api">Enable support for salt-api.</flag> + <flag name="cherrypy">Enable support for using cherrypy.</flag> + <flag name="libcloud">Enable salt-cloud support via libcloud.</flag> + <flag name="libvirt">Support managing virtual machines with app-emulation/libvirt.</flag> + <flag name="gnupg">Enable support for gnupg via python-gnupg.</flag> + <flag name="keyring">Enable support for keyrings via python-keyring.</flag> + <flag name="mako">Add support for using the mako template engine for parsing salt states.</flag> + <flag name="mongodb">Support returning data to a mongodb server.</flag> + <flag name="neutron">Support the OpenStack neutron network service.</flag> + <flag name="nova">Enable support for the OpenStack Nova API</flag> + <flag name="openssl">Add support for using TLS via OpenSSL.</flag> + <flag name="raet">Add support for the new RAET transport.</flag> + <flag name="redis">Support returning data to a redis database.</flag> + <flag name="timelib">Use timelib to parse english textual date descriptions.</flag> + <flag name="zeromq">Add support for the zeromq transport.</flag> + </use> + <upstream> + <remote-id type="pypi">salt</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-admin/salt/salt-2014.7.4.ebuild b/app-admin/salt/salt-2014.7.4.ebuild new file mode 100644 index 000000000000..385fe0fcec7b --- /dev/null +++ b/app-admin/salt/salt-2014.7.4.ebuild @@ -0,0 +1,108 @@ +# 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 distutils-r1 systemd + +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="api ldap libcloud libvirt gnupg keyring mako mongodb mysql nova" +IUSE+=" openssl redis selinux timelib raet +zeromq test" + +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}] + 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[${PYTHON_USEDEP}] + dev-python/ioflo[${PYTHON_USEDEP}] + dev-python/raet[${PYTHON_USEDEP}] + ) + zeromq? ( + >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}] + >=dev-python/m2crypto-0.22.3[${PYTHON_USEDEP}] + dev-python/pycrypto[${PYTHON_USEDEP}] + ) + api? ( + || ( + dev-python/cherrypy[${PYTHON_USEDEP}] + www-servers/tornado[${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}] ) + 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/timelib[${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" +) + +python_prepare() { + # this test fails because it trys to "pip install distribute" + rm tests/unit/{modules,states}/zcbuildout_test.py +} + +python_install_all() { + USE_SETUPTOOLS=1 distutils-r1_python_install_all + + for s in minion master syndic $(use api && echo api); do + newinitd "${FILESDIR}"/${s}-initd-3 salt-${s} + newconfd "${FILESDIR}"/${s}-confd-1 salt-${s} + systemd_dounit "${FILESDIR}"/salt-${s}.service + done + + insinto /etc/${PN} + doins -r conf/* +} + +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" +} diff --git a/app-admin/salt/salt-2014.7.5.ebuild b/app-admin/salt/salt-2014.7.5.ebuild new file mode 100644 index 000000000000..bfbff12057f2 --- /dev/null +++ b/app-admin/salt/salt-2014.7.5.ebuild @@ -0,0 +1,109 @@ +# 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 distutils-r1 systemd + +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="api ldap libcloud libvirt gnupg keyring mako mongodb mysql nova" +IUSE+=" openssl redis selinux timelib raet +zeromq test" + +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}] + 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[${PYTHON_USEDEP}] + dev-python/ioflo[${PYTHON_USEDEP}] + dev-python/raet[${PYTHON_USEDEP}] + ) + zeromq? ( + >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}] + >=dev-python/m2crypto-0.22.3[${PYTHON_USEDEP}] + dev-python/pycrypto[${PYTHON_USEDEP}] + ) + api? ( + || ( + dev-python/cherrypy[${PYTHON_USEDEP}] + www-servers/tornado[${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}] ) + 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/timelib[${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}-2014.7.5-archive-test.patch" +) + +python_prepare() { + # this test fails because it trys to "pip install distribute" + rm tests/unit/{modules,states}/zcbuildout_test.py +} + +python_install_all() { + USE_SETUPTOOLS=1 distutils-r1_python_install_all + + for s in minion master syndic $(use api && echo api); do + newinitd "${FILESDIR}"/${s}-initd-3 salt-${s} + newconfd "${FILESDIR}"/${s}-confd-1 salt-${s} + systemd_dounit "${FILESDIR}"/salt-${s}.service + done + + insinto /etc/${PN} + doins -r conf/* +} + +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" +} diff --git a/app-admin/salt/salt-2015.5.1.ebuild b/app-admin/salt/salt-2015.5.1.ebuild new file mode 100644 index 000000000000..33404a8d1129 --- /dev/null +++ b/app-admin/salt/salt-2015.5.1.ebuild @@ -0,0 +1,117 @@ +# 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.1-skip-libvirt-test-on-nonroot.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" +} diff --git a/app-admin/salt/salt-2015.5.3.ebuild b/app-admin/salt/salt-2015.5.3.ebuild new file mode 100644 index 000000000000..5f23c6bb1c04 --- /dev/null +++ b/app-admin/salt/salt-2015.5.3.ebuild @@ -0,0 +1,116 @@ +# 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" +) + +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" +} diff --git a/app-admin/salt/salt-9999.ebuild b/app-admin/salt/salt-9999.ebuild new file mode 100644 index 000000000000..d7d1937a474c --- /dev/null +++ b/app-admin/salt/salt-9999.ebuild @@ -0,0 +1,104 @@ +# 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 distutils-r1 systemd + +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="api ldap libcloud libvirt gnupg keyring mako mongodb mysql nova" +IUSE+=" openssl redis selinux timelib raet +zeromq test" + +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}] + 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[${PYTHON_USEDEP}] + dev-python/ioflo[${PYTHON_USEDEP}] + dev-python/raet[${PYTHON_USEDEP}] + ) + zeromq? ( + >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}] + >=dev-python/m2crypto-0.22.3[${PYTHON_USEDEP}] + dev-python/pycrypto[${PYTHON_USEDEP}] + ) + api? ( + || ( + dev-python/cherrypy[${PYTHON_USEDEP}] + www-servers/tornado[${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}] ) + 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/timelib[${PYTHON_USEDEP}] + >=dev-python/SaltTesting-2015.2.16[${PYTHON_USEDEP}] + ${RDEPEND} + )" + +DOCS=(README.rst AUTHORS) + +REQUIRED_USE="|| ( raet zeromq )" + +python_prepare() { + # this test fails because it trys to "pip install distribute" + rm tests/unit/{modules,states}/zcbuildout_test.py +} + +python_install_all() { + USE_SETUPTOOLS=1 distutils-r1_python_install_all + + for s in minion master syndic $(use api && echo api); do + newinitd "${FILESDIR}"/${s}-initd-3 salt-${s} + newconfd "${FILESDIR}"/${s}-confd-1 salt-${s} + systemd_dounit "${FILESDIR}"/salt-${s}.service + done + + insinto /etc/${PN} + doins -r conf/* +} + +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" +} |