diff --git a/.gitignore b/.gitignore index 5db9212..15066ec 100644 --- a/.gitignore +++ b/.gitignore @@ -53,3 +53,5 @@ /SaltTesting-2015.5.8.tar.gz /salt-2015.5.1.tar.gz /salt-2015.5.2.tar.gz +/salt-2015.5.3.tar.gz +/SaltTesting-2015.7.10.tar.gz diff --git a/salt-2015.5.2-tests.patch b/salt-2015.5.3-tests.patch similarity index 69% rename from salt-2015.5.2-tests.patch rename to salt-2015.5.3-tests.patch index de03afe..a4bb953 100644 --- a/salt-2015.5.2-tests.patch +++ b/salt-2015.5.3-tests.patch @@ -1,6 +1,6 @@ -diff -ru a/tests/unit/modules/artifactory_test.py b/tests/unit/modules/artifactory_test.py ---- a/tests/unit/modules/artifactory_test.py 2015-06-04 11:38:15.000000000 -0500 -+++ b/tests/unit/modules/artifactory_test.py 2015-06-04 14:29:24.957478522 -0500 +diff -ur a/tests/unit/modules/artifactory_test.py b/tests/unit/modules/artifactory_test.py +--- a/tests/unit/modules/artifactory_test.py 2015-07-07 15:42:37.000000000 -0500 ++++ b/tests/unit/modules/artifactory_test.py 2015-07-10 12:11:33.942671443 -0500 @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- from salt.modules import artifactory @@ -13,9 +13,9 @@ diff -ru a/tests/unit/modules/artifactory_test.py b/tests/unit/modules/artifacto class ArtifactoryTestCase(TestCase): org_module_functions = {} -diff -ru a/tests/unit/modules/gpg_test.py b/tests/unit/modules/gpg_test.py ---- a/tests/unit/modules/gpg_test.py 2015-06-04 11:38:15.000000000 -0500 -+++ b/tests/unit/modules/gpg_test.py 2015-06-04 14:29:24.957478522 -0500 +diff -ur a/tests/unit/modules/gpg_test.py b/tests/unit/modules/gpg_test.py +--- a/tests/unit/modules/gpg_test.py 2015-07-07 15:42:37.000000000 -0500 ++++ b/tests/unit/modules/gpg_test.py 2015-07-10 12:11:33.942671443 -0500 @@ -16,7 +16,11 @@ ) @@ -37,9 +37,9 @@ diff -ru a/tests/unit/modules/gpg_test.py b/tests/unit/modules/gpg_test.py def test_import_key(self): ''' Tests if it import a key from text or file. -diff -ru a/tests/unit/modules/groupadd_test.py b/tests/unit/modules/groupadd_test.py ---- a/tests/unit/modules/groupadd_test.py 2015-06-04 11:38:15.000000000 -0500 -+++ b/tests/unit/modules/groupadd_test.py 2015-06-04 14:29:24.957478522 -0500 +diff -ur a/tests/unit/modules/groupadd_test.py b/tests/unit/modules/groupadd_test.py +--- a/tests/unit/modules/groupadd_test.py 2015-07-07 15:42:37.000000000 -0500 ++++ b/tests/unit/modules/groupadd_test.py 2015-07-10 12:11:33.946004899 -0500 @@ -4,7 +4,7 @@ ''' @@ -57,9 +57,9 @@ diff -ru a/tests/unit/modules/groupadd_test.py b/tests/unit/modules/groupadd_tes class GroupAddTestCase(TestCase): ''' TestCase for salt.modules.groupadd -diff -ru a/tests/unit/modules/jboss7_test.py b/tests/unit/modules/jboss7_test.py ---- a/tests/unit/modules/jboss7_test.py 2015-06-04 11:38:15.000000000 -0500 -+++ b/tests/unit/modules/jboss7_test.py 2015-06-04 14:29:24.960811927 -0500 +diff -ur a/tests/unit/modules/jboss7_test.py b/tests/unit/modules/jboss7_test.py +--- a/tests/unit/modules/jboss7_test.py 2015-07-07 15:42:37.000000000 -0500 ++++ b/tests/unit/modules/jboss7_test.py 2015-07-10 12:11:33.946004899 -0500 @@ -4,7 +4,7 @@ from salt.modules import jboss7 @@ -77,9 +77,9 @@ diff -ru a/tests/unit/modules/jboss7_test.py b/tests/unit/modules/jboss7_test.py class JBoss7TestCase(TestCase): jboss_config = {} org_run_operation = None -diff -ru a/tests/unit/modules/rh_ip_test.py b/tests/unit/modules/rh_ip_test.py ---- a/tests/unit/modules/rh_ip_test.py 2015-05-28 13:09:42.000000000 -0500 -+++ b/tests/unit/modules/rh_ip_test.py 2015-06-04 14:29:24.960811927 -0500 +diff -ur a/tests/unit/modules/rh_ip_test.py b/tests/unit/modules/rh_ip_test.py +--- a/tests/unit/modules/rh_ip_test.py 2015-07-07 15:42:37.000000000 -0500 ++++ b/tests/unit/modules/rh_ip_test.py 2015-07-10 12:11:33.946004899 -0500 @@ -32,6 +32,7 @@ ''' Test cases for salt.modules.rh_ip @@ -88,9 +88,43 @@ diff -ru a/tests/unit/modules/rh_ip_test.py b/tests/unit/modules/rh_ip_test.py def test_build_bond(self): ''' Test to create a bond script in /etc/modprobe.d with the passed -diff -ru a/tests/unit/modules/win_network_test.py b/tests/unit/modules/win_network_test.py ---- a/tests/unit/modules/win_network_test.py 2015-05-28 13:09:42.000000000 -0500 -+++ b/tests/unit/modules/win_network_test.py 2015-06-04 14:29:24.960811927 -0500 +diff -ur a/tests/unit/modules/tls_test.py b/tests/unit/modules/tls_test.py +--- a/tests/unit/modules/tls_test.py 2015-07-01 16:33:42.000000000 -0500 ++++ b/tests/unit/modules/tls_test.py 2015-07-10 13:19:32.433749450 -0500 +@@ -187,7 +187,6 @@ + @patch('os.path.exists', MagicMock(return_value=True)) + @patch('salt.modules.tls.maybe_fix_ssl_version', + MagicMock(return_value=True)) +- @patch('salt.utils.fopen', mock_open(read_data=_TLS_TEST_DATA['ca_cert'])) + def test_get_ca_text(self): + ''' + Test get_ca text +@@ -195,9 +194,11 @@ + ca_path = '/tmp/test_tls' + ca_name = 'test_ca' + mock_opt = MagicMock(return_value=ca_path) +- with patch.dict(tls.__salt__, {'config.option': mock_opt}): +- self.assertEqual(tls.get_ca(ca_name, as_text=True), +- _TLS_TEST_DATA['ca_cert']) ++ with patch('salt.utils.fopen', ++ mock_open(read_data=_TLS_TEST_DATA['ca_cert'])): ++ with patch.dict(tls.__salt__, {'config.option': mock_opt}): ++ self.assertEqual(tls.get_ca(ca_name, as_text=True), ++ _TLS_TEST_DATA['ca_cert']) + + @patch('os.path.exists', MagicMock(return_value=True)) + @patch('salt.modules.tls.maybe_fix_ssl_version', +@@ -219,7 +220,6 @@ + @patch('os.path.exists', MagicMock(return_value=True)) + @patch('salt.modules.tls.maybe_fix_ssl_version', + MagicMock(return_value=True)) +- @patch('salt.utils.fopen', mock_open(read_data=_TLS_TEST_DATA['ca_cert'])) + def test_cert_info(self): + ''' + Test cert info +diff -ur a/tests/unit/modules/win_network_test.py b/tests/unit/modules/win_network_test.py +--- a/tests/unit/modules/win_network_test.py 2015-07-07 15:42:37.000000000 -0500 ++++ b/tests/unit/modules/win_network_test.py 2015-07-10 12:11:33.946004899 -0500 @@ -172,7 +172,7 @@ ['Ethernet']) @@ -116,9 +150,9 @@ diff -ru a/tests/unit/modules/win_network_test.py b/tests/unit/modules/win_netwo def test_ip_addrs6(self): ''' Test if it returns a list of IPv6 addresses assigned to the host. -diff -ru a/tests/unit/pydsl_test.py b/tests/unit/pydsl_test.py ---- a/tests/unit/pydsl_test.py 2015-06-04 11:38:15.000000000 -0500 -+++ b/tests/unit/pydsl_test.py 2015-06-04 14:29:24.960811927 -0500 +diff -ur a/tests/unit/pydsl_test.py b/tests/unit/pydsl_test.py +--- a/tests/unit/pydsl_test.py 2015-07-07 15:42:37.000000000 -0500 ++++ b/tests/unit/pydsl_test.py 2015-07-10 12:11:33.946004899 -0500 @@ -10,7 +10,7 @@ from cStringIO import StringIO @@ -136,9 +170,9 @@ diff -ru a/tests/unit/pydsl_test.py b/tests/unit/pydsl_test.py def test_rendering_includes(self): dirpath = tempfile.mkdtemp(dir=integration.SYS_TMP_DIR) if not os.path.isdir(dirpath): -diff -ru a/tests/unit/states/archive_test.py b/tests/unit/states/archive_test.py ---- a/tests/unit/states/archive_test.py 2015-06-04 11:38:15.000000000 -0500 -+++ b/tests/unit/states/archive_test.py 2015-06-04 14:29:24.960811927 -0500 +diff -ur a/tests/unit/states/archive_test.py b/tests/unit/states/archive_test.py +--- a/tests/unit/states/archive_test.py 2015-07-07 15:42:37.000000000 -0500 ++++ b/tests/unit/states/archive_test.py 2015-07-10 12:11:33.946004899 -0500 @@ -78,9 +78,7 @@ running_as = 'root' filename = os.path.join( @@ -150,9 +184,9 @@ diff -ru a/tests/unit/states/archive_test.py b/tests/unit/states/archive_test.py ) for test_opts, ret_opts in zip(test_tar_opts, ret_tar_opts): ret = archive.extracted(tmp_dir, -diff -ru a/tests/unit/states/file_test.py b/tests/unit/states/file_test.py ---- a/tests/unit/states/file_test.py 2015-06-04 11:38:15.000000000 -0500 -+++ b/tests/unit/states/file_test.py 2015-06-04 14:29:24.964145334 -0500 +diff -ur a/tests/unit/states/file_test.py b/tests/unit/states/file_test.py +--- a/tests/unit/states/file_test.py 2015-07-07 15:42:37.000000000 -0500 ++++ b/tests/unit/states/file_test.py 2015-07-10 12:11:33.949338355 -0500 @@ -252,81 +252,6 @@ (name, target, user=user, group=group), ret) @@ -235,9 +269,9 @@ diff -ru a/tests/unit/states/file_test.py b/tests/unit/states/file_test.py # 'exists' function tests: 1 -diff -ru a/tests/unit/states/jboss7_test.py b/tests/unit/states/jboss7_test.py ---- a/tests/unit/states/jboss7_test.py 2015-06-04 11:38:15.000000000 -0500 -+++ b/tests/unit/states/jboss7_test.py 2015-06-04 14:29:24.964145334 -0500 +diff -ur a/tests/unit/states/jboss7_test.py b/tests/unit/states/jboss7_test.py +--- a/tests/unit/states/jboss7_test.py 2015-07-07 15:42:37.000000000 -0500 ++++ b/tests/unit/states/jboss7_test.py 2015-07-10 12:11:33.949338355 -0500 @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from salttesting import TestCase @@ -253,14 +287,3 @@ diff -ru a/tests/unit/states/jboss7_test.py b/tests/unit/states/jboss7_test.py class JBoss7StateTestCase(TestCase): org_module_functions = {} -diff -ru a/tests/unit/utils/vt_test.py b/tests/unit/utils/vt_test.py ---- a/tests/unit/utils/vt_test.py 2015-06-04 11:38:15.000000000 -0500 -+++ b/tests/unit/utils/vt_test.py 2015-06-04 14:32:10.804442802 -0500 -@@ -118,6 +118,7 @@ - # We're pushing the system resources, let's keep going - continue - -+ @skipIf(True, 'Not failing in Jenkins') - def test_isalive_while_theres_data_to_read(self): - expected_data = 'Alive!\n' - term = vt.Terminal('echo "Alive!"', shell=True, stream_stdout=False, stream_stderr=False) diff --git a/salt.bash b/salt.bash new file mode 100644 index 0000000..521b5cf --- /dev/null +++ b/salt.bash @@ -0,0 +1,328 @@ +# written by David Pravec +# - feel free to /msg alekibango on IRC if you want to talk about this file + +# TODO: check if --config|-c was used and use configured config file for queries +# TODO: solve somehow completion for salt -G pythonversion:[tab] +# (not sure what to do with lists) +# TODO: --range[tab] -- how? +# TODO: --compound[tab] -- how? +# TODO: use history to extract some words, esp. if ${cur} is empty +# TODO: TEST EVERYTHING a lot +# TODO: cache results of some functions? where? how long? +# TODO: is it ok to use '--timeout 2' ? + + +_salt_get_grains(){ + if [ "$1" = 'local' ] ; then + salt-call --out=txt -- grains.ls | sed 's/^.*\[//' | tr -d ",']" |sed 's:\([a-z0-9]\) :\1\: :g' + else + salt '*' --timeout 2 --out=txt -- grains.ls | sed 's/^.*\[//' | tr -d ",']" |sed 's:\([a-z0-9]\) :\1\: :g' + fi +} + +_salt_get_grain_values(){ + if [ "$1" = 'local' ] ; then + salt-call --out=txt -- grains.item $1 |sed 's/^\S*:\s//' |grep -v '^\s*$' + else + salt '*' --timeout 2 --out=txt -- grains.item $1 |sed 's/^\S*:\s//' |grep -v '^\s*$' + fi +} + + +_salt(){ + local cur prev opts _salt_grains _salt_coms pprev ppprev + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + if [ ${COMP_CWORD} -gt 2 ]; then + pprev="${COMP_WORDS[COMP_CWORD-2]}" + fi + if [ ${COMP_CWORD} -gt 3 ]; then + ppprev="${COMP_WORDS[COMP_CWORD-3]}" + fi + + opts="-h --help -d --doc --documentation --version --versions-report -c \ + --config-dir= -v --verbose -t --timeout= -s --static -b --batch= \ + --batch-size= -E --pcre -L --list -G --grain --grain-pcre -N \ + --nodegroup -R --range -C --compound -I --pillar \ + --return= -a --auth= --eauth= --extended-auth= -T --make-token -S \ + --ipcidr --out=pprint --out=yaml --out=overstatestage --out=json \ + --out=raw --out=highstate --out=key --out=txt --no-color --out-indent= " + + if [[ "${cur}" == -* ]] ; then + COMPREPLY=($(compgen -W "${opts}" -- ${cur})) + return 0 + fi + + # 2 special cases for filling up grain values + case "${pprev}" in + -G|--grain|--grain-pcre) + if [ "${cur}" = ":" ]; then + COMPREPLY=($(compgen -W "`_salt_get_grain_values ${prev}`" )) + return 0 + fi + ;; + esac + case "${ppprev}" in + -G|--grain|--grain-pcre) + if [ "${prev}" = ":" ]; then + COMPREPLY=( $(compgen -W "`_salt_get_grain_values ${pprev}`" -- ${cur}) ) + return 0 + fi + ;; + esac + + if [ "${cur}" = "=" ] && [[ "${prev}" == --* ]]; then + cur="" + fi + if [ "${prev}" = "=" ] && [[ "${pprev}" == --* ]]; then + prev="${pprev}" + fi + + case "${prev}" in + + -c|--config) + COMPREPLY=($(compgen -f -- ${cur})) + return 0 + ;; + salt) + COMPREPLY=($(compgen -W "\'*\' ${opts} `salt-key --no-color -l acc`" -- ${cur})) + return 0 + ;; + -E|--pcre) + COMPREPLY=($(compgen -W "`salt-key --no-color -l acc`" -- ${cur})) + return 0 + ;; + -G|--grain|--grain-pcre) + COMPREPLY=($(compgen -W "$(_salt_get_grains)" -- ${cur})) + return 0 + ;; + -C|--compound) + COMPREPLY=() # TODO: finish this one? how? + return 0 + ;; + -t|--timeout) + COMPREPLY=($( compgen -W "1 2 3 4 5 6 7 8 9 10 15 20 30 40 60 90 120 180" -- ${cur})) + return 0 + ;; + -b|--batch|--batch-size) + COMPREPLY=($(compgen -W "1 2 3 4 5 6 7 8 9 10 15 20 30 40 50 60 70 80 90 100 120 150 200")) + return 0 + ;; + -N|--nodegroup) + MASTER_CONFIG='/etc/salt/master' + COMPREPLY=($(compgen -W "`awk -F ':' 'BEGIN {print_line = 0}; /^nodegroups/ {print_line = 1;getline } print_line && /^ */ {print $1} /^[^ ]/ {print_line = 0}' <${MASTER_CONFIG}`" -- ${cur})) + return 0 + ;; + esac + + _salt_coms="$(salt '*' --timeout 2 --out=txt -- sys.list_functions | sed 's/^.*\[//' | tr -d ",']" )" + all="${opts} ${_salt_coms}" + COMPREPLY=( $(compgen -W "${all}" -- ${cur}) ) + + return 0 +} + +complete -F _salt salt + + +_saltkey(){ + local cur prev opts prev pprev + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + opts="-c --config-dir= -h --help --version --versions-report -q --quiet \ + -y --yes --gen-keys= --gen-keys-dir= --keysize= --key-logfile= \ + -l --list= -L --list-all -a --accept= -A --accept-all \ + -r --reject= -R --reject-all -p --print= -P --print-all \ + -d --delete= -D --delete-all -f --finger= -F --finger-all \ + --out=pprint --out=yaml --out=overstatestage --out=json --out=raw \ + --out=highstate --out=key --out=txt --no-color --out-indent= " + if [ ${COMP_CWORD} -gt 2 ]; then + pprev="${COMP_WORDS[COMP_CWORD-2]}" + fi + if [ ${COMP_CWORD} -gt 3 ]; then + ppprev="${COMP_WORDS[COMP_CWORD-3]}" + fi + if [[ "${cur}" == -* ]] ; then + COMPREPLY=($(compgen -W "${opts}" -- ${cur})) + return 0 + fi + + if [ "${cur}" = "=" ] && [[ "${prev}" == --* ]]; then + cur="" + fi + if [ "${prev}" = "=" ] && [[ "${pprev}" == --* ]]; then + prev="${pprev}" + fi + + case "${prev}" in + -a|--accept) + COMPREPLY=($(compgen -W "$(salt-key -l un --no-color; salt-key -l rej --no-color)" -- ${cur})) + return 0 + ;; + -r|--reject) + COMPREPLY=($(compgen -W "$(salt-key -l acc --no-color)" -- ${cur})) + return 0 + ;; + -d|--delete) + COMPREPLY=($(compgen -W "$(salt-key -l acc --no-color; salt-key -l un --no-color; salt-key -l rej --no-color)" -- ${cur})) + return 0 + ;; + -c|--config) + COMPREPLY=($(compgen -f -- ${cur})) + return 0 + ;; + --keysize) + COMPREPLY=($(compgen -W "2048 3072 4096 5120 6144" -- ${cur})) + return 0 + ;; + --gen-keys) + return 0 + ;; + --gen-keys-dir) + COMPREPLY=($(compgen -d -- ${cur})) + return 0 + ;; + -p|--print) + COMPREPLY=($(compgen -W "$(salt-key -l acc --no-color; salt-key -l un --no-color; salt-key -l rej --no-color)" -- ${cur})) + return 0 + ;; + -l|--list) + COMPREPLY=($(compgen -W "pre un acc accepted unaccepted rej rejected all" -- ${cur})) + return 0 + ;; + --accept-all) + return 0 + ;; + esac + COMPREPLY=($(compgen -W "${opts} " -- ${cur})) + return 0 +} + +complete -F _saltkey salt-key + +_saltcall(){ + local cur prev opts _salt_coms pprev ppprev + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + opts="-h --help -d --doc --documentation --version --versions-report \ + -m --module-dirs= -g --grains --return= --local -c --config-dir= -l --log-level= \ + --out=pprint --out=yaml --out=overstatestage --out=json --out=raw \ + --out=highstate --out=key --out=txt --no-color --out-indent= " + if [ ${COMP_CWORD} -gt 2 ]; then + pprev="${COMP_WORDS[COMP_CWORD-2]}" + fi + if [ ${COMP_CWORD} -gt 3 ]; then + ppprev="${COMP_WORDS[COMP_CWORD-3]}" + fi + if [[ "${cur}" == -* ]] ; then + COMPREPLY=($(compgen -W "${opts}" -- ${cur})) + return 0 + fi + + if [ "${cur}" = "=" ] && [[ ${prev} == --* ]]; then + cur="" + fi + if [ "${prev}" = "=" ] && [[ ${pprev} == --* ]]; then + prev="${pprev}" + fi + + case ${prev} in + -m|--module-dirs) + COMPREPLY=( $(compgen -d ${cur} )) + return 0 + ;; + -l|--log-level) + COMPREPLY=( $(compgen -W "info none garbage trace warning error debug" -- ${cur})) + return 0 + ;; + -g|grains) + return 0 + ;; + salt-call) + COMPREPLY=($(compgen -W "${opts}" -- ${cur})) + return 0 + ;; + esac + + _salt_coms="$(salt-call --out=txt -- sys.list_functions|sed 's/^.*\[//' | tr -d ",']" )" + COMPREPLY=( $(compgen -W "${opts} ${_salt_coms}" -- ${cur} )) + return 0 +} + +complete -F _saltcall salt-call + + +_saltcp(){ + local cur prev opts target prefpart postpart helper filt pprev ppprev + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + opts="-t --timeout= -s --static -b --batch= --batch-size= \ + -h --help --version --versions-report -c --config-dir= \ + -E --pcre -L --list -G --grain --grain-pcre -N --nodegroup \ + -R --range -C --compound -I --pillar \ + --out=pprint --out=yaml --out=overstatestage --out=json --out=raw \ + --out=highstate --out=key --out=txt --no-color --out-indent= " + if [[ "${cur}" == -* ]] ; then + COMPREPLY=($(compgen -W "${opts}" -- ${cur})) + return 0 + fi + + if [ "${cur}" = "=" ] && [[ "${prev}" == --* ]]; then + cur="" + fi + if [ "${prev}" = "=" ] && [[ "${pprev}" == --* ]]; then + prev=${pprev} + fi + + case ${prev} in + salt-cp) + COMPREPLY=($(compgen -W "${opts} `salt-key -l acc --no-color`" -- ${cur})) + return 0 + ;; + -t|--timeout) + # those numbers are just a hint + COMPREPLY=($(compgen -W "2 3 4 8 10 15 20 25 30 40 60 90 120 180 240 300" -- ${cur} )) + return 0 + ;; + -E|--pcre) + COMPREPLY=($(compgen -W "`salt-key -l acc --no-color`" -- ${cur})) + return 0 + ;; + -L|--list) + # IMPROVEMENTS ARE WELCOME + prefpart="${cur%,*}," + postpart=${cur##*,} + filt="^\($(echo ${cur}| sed 's:,:\\|:g')\)$" + helper=($(salt-key -l acc --no-color | grep -v "${filt}" | sed "s/^/${prefpart}/")) + COMPREPLY=($(compgen -W "${helper[*]}" -- ${cur})) + + return 0 + ;; + -G|--grain|--grain-pcre) + COMPREPLY=($(compgen -W "$(_salt_get_grains)" -- ${cur})) + return 0 + ;; + # FIXME + -R|--range) + # FIXME ?? + return 0 + ;; + -C|--compound) + # FIXME ?? + return 0 + ;; + -c|--config) + COMPREPLY=($(compgen -f -- ${cur})) + return 0 + ;; + esac + + # default is using opts: + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) +} + +complete -F _saltcp salt-cp diff --git a/salt.spec b/salt.spec index 9e0f987..02e04aa 100644 --- a/salt.spec +++ b/salt.spec @@ -12,10 +12,10 @@ %{!?pythonpath: %global pythonpath %(%{__python} -c "import os, sys; print(os.pathsep.join(x for x in sys.path if x))")} %define _salttesting SaltTesting -%define _salttesting_ver 2015.5.8 +%define _salttesting_ver 2015.7.10 Name: salt -Version: 2015.5.2 +Version: 2015.5.3 Release: 4%{?dist} Summary: A parallel remote execution system @@ -34,6 +34,7 @@ Source8: %{name}-minion.service Source9: %{name}-api.service Source10: README.fedora Source11: logrotate.salt +Source12: salt.bash Patch0: salt-%{version}-tests.patch @@ -236,10 +237,15 @@ sed -i 's#/usr/bin/python#/usr/bin/python2.6#g' %{buildroot}%{_bindir}/salt* sed -i 's#/usr/bin/python#/usr/bin/python2.6#g' %{buildroot}%{_initrddir}/salt* %endif +# Logrotate install -p %{SOURCE10} . mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d/ install -p -m 0644 %{SOURCE11} %{buildroot}%{_sysconfdir}/logrotate.d/salt +# Bash completion +mkdir -p %{buildroot}%{_sysconfdir}/bash_completion.d/ +install -p -m 0644 %{SOURCE12} %{buildroot}%{_sysconfdir}/bash_completion.d/salt.bash + %if ((0%{?rhel} >= 6 || 0%{?fedora} > 12) && 0%{?include_tests}) %check cd $RPM_BUILD_DIR/%{name}-%{version}/%{name}-%{version} @@ -257,6 +263,7 @@ rm -rf %{buildroot} #%{python_sitelib}/%{name}-%{version}-py?.?.egg-info %{python_sitelib}/%{name}-*-py?.?.egg-info %{_sysconfdir}/logrotate.d/salt +%{_sysconfdir}/bash_completion.d/salt.bash %{_var}/cache/salt %doc $RPM_BUILD_DIR/%{name}-%{version}/%{name}-%{version}/README.fedora diff --git a/sources b/sources index 0179457..7aee69a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -7d36dc8d37981c01815ee755d52ca238 salt-2015.5.2.tar.gz -c4700cb99376a7b4770dda2ab06189a0 SaltTesting-2015.5.8.tar.gz +7217299e13d929b8ac939d932f00f0f6 salt-2015.5.3.tar.gz +993296e827d4198c0ff0e7cb17d13e45 SaltTesting-2015.7.10.tar.gz