diff options
-rw-r--r-- | CHANGES | 3 | ||||
-rwxr-xr-x | bash-completion/mgarepo | 98 | ||||
-rwxr-xr-x | mgarepo | 2 | ||||
-rwxr-xr-x | setup.py | 2 |
4 files changed, 104 insertions, 1 deletions
@@ -1,3 +1,6 @@ +* 1.10.4 +- Add completion/mgarepo with bash-completion + * 1.10.3 - in create-srpm, don't try to use youri db if not defined in config - allow keeping the old rpm log in the package directory if the oldurl diff --git a/bash-completion/mgarepo b/bash-completion/mgarepo new file mode 100755 index 0000000..e27f12f --- /dev/null +++ b/bash-completion/mgarepo @@ -0,0 +1,98 @@ +# mgarepo(1) completion +# +_cauldron_packages() +{ + COMPREPLY=( $( compgen -W "$(wget -O- \ +http://pkgsubmit.mageia.org/data/maintdb.txt 2>/dev/null | \ +cut -d ' ' -f 1)" -- $cur ) ) +} + +_mgarepo_actions() +{ + COMPREPLY=( $( compgen -W 'co ci sync \ + submit putsrpm getspec rpmlog getsrpm maintdb create changed \ + authoremail switch upload del up' -- $cur ) ) +} + +_mgarepo() +{ + local cur prev command options i + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + if [[ $COMP_CWORD -eq 1 ]] ; then + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W "--help" -- $cur ) ) + else + _mgarepo_actions + fi + else + prev=${COMP_WORDS[COMP_CWORD-1]} + case "$prev" in + @(get|set)) + _cauldron_packages + return 0 + ;; + -@(F)) + _filedir + return 0 + ;; + esac + + command=${COMP_WORDS[1]} + if [[ "$cur" == -* ]]; then + # possible options for the command + case $command in + co) + options="-r --distribution \ + --branch --spec --no-mirror" + ;; + ci) + options="-m -F" + ;; + sync) + options="-c --dry-run --download" + ;; + submit) + options="-t -l -r -s -i -a --distro --define" + ;; + putsrpm) + options="-l -t -b -d -c -s -n" + ;; + getsrpm) + options="-c -p -v -r -t -P -s -n -l -T -M --strict" + ;; + changed) + options="-a -s -M" + ;; + esac + options="$options --help" + COMPREPLY=( $( compgen -W "$options" -- $cur ) ) + else + case $command in + putsrpm) + _filedir 'src.rpm' + return 0 + ;; + @(del|upload)) + _filedir + return 0 + ;; + @(co|getspec|rpmlog|getsrpm|changed)) + _cauldron_packages + return 0 + ;; + maintdb) + COMPREPLY=( $( compgen -W "get set" -- $cur ) ) + return 0 + ;; + @(sync|ci)) + _filedir -d + return 0 + ;; + esac + fi + fi +} +complete -F _mgarepo $filenames mgarepo +complete -F _mgarepo $filenames mgarepo-ssh @@ -4,7 +4,7 @@ from MgaRepo.command import * import getopt import sys -VERSION="1.10.3" +VERSION="1.10.4" HELP = """\ Usage: mgarepo COMMAND [COMMAND ARGUMENTS] @@ -26,6 +26,8 @@ setup(name="mgarepo", ["default.chlog", "revno.chlog", "create-srpm"]), + ("share/bash-completion/completions", + ["bash-completion/mgarepo"]), ("/etc/", ["mgarepo.conf"]), ("share/man/man8/", ["mgarepo.8"])] ) |