[yum-commits] yum-utils.bash

Ville Skyttä scop at osuosl.org
Thu Nov 5 21:59:10 UTC 2009


 yum-utils.bash |  146 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 146 insertions(+)

New commits:
commit e0e83091bbdeb2f6907932b9b57e959d02522457
Author: Ville Skyttä <ville.skytta at iki.fi>
Date:   Thu Nov 5 23:59:02 2009 +0200

    Add bash completion for repo-graph, repo-rss, repoclosure and repoquery.

diff --git a/yum-utils.bash b/yum-utils.bash
index 143299c..c5c5bf3 100644
--- a/yum-utils.bash
+++ b/yum-utils.bash
@@ -72,6 +72,152 @@ _yu_verifytree()
 } &&
 complete -F _yu_verifytree -o filenames verifytree
 
+# repo-graph
+_yu_repo_graph()
+{
+    COMPREPLY=()
+
+    case "$3" in
+        -h|--help)
+            return 0
+            ;;
+        --repoid)
+            type _yum_repolist &>/dev/null && _yum_repolist all "$2"
+            return 0
+            ;;
+        -c)
+            COMPREPLY=( $( compgen -f -o plusdirs -X '!*.conf' -- "$2" ) )
+            return 0
+            ;;
+    esac
+
+    COMPREPLY=( $( compgen -W '--help --repoid -c' -- "$2" ) )
+} &&
+complete -F _yu_repo_graph -o filenames repo-graph repo-graph.py
+
+# repo-rss
+_yu_repo_rss()
+{
+    COMPREPLY=()
+
+    case "$3" in
+        -h|--help|-l|-t|-d|-r|-a)
+            return 0
+            ;;
+        -f)
+            COMPREPLY=( $( compgen -f -o plusdirs -X '!*.xml' -- "$2" ) )
+            return 0
+            ;;
+        -c)
+            COMPREPLY=( $( compgen -f -o plusdirs -X '!*.conf' -- "$2" ) )
+            return 0
+            ;;
+    esac
+
+    COMPREPLY=( $( compgen -W '--help -f -l -t -d -r --tempcache -g -a -c' \
+        -- "$2" ) )
+    [[ "$2" == -* ]] && return 0
+    type _yum_repolist &>/dev/null && _yum_repolist all "$2"
+} &&
+complete -F _yu_repo_rss -o filenames repo-rss repo-rss.py
+
+# repoclosure
+_yu_repoclosure()
+{
+    COMPREPLY=()
+
+    case "$3" in
+        -h|--help|-a|--arch|--basearch|--repofrompath)
+            return 0
+            ;;
+        -c|--config)
+            COMPREPLY=( $( compgen -f -o plusdirs -X '!*.conf' -- "$2" ) )
+            return 0
+            ;;
+        -r|--repoid)
+            type _yum_repolist &>/dev/null && _yum_repolist all "$2"
+            return 0
+            ;;
+        -p|--pkg)
+            type _yum_list &>/dev/null && _yum_list all "$2"
+            return 0
+            ;;
+    esac
+
+    COMPREPLY=( $( compgen -W '--help --config --arch --basearch --builddeps
+        --repoid --tempcache --quiet --newest --repofrompath --pkg' \
+            -- "$2" ) )
+} &&
+complete -F _yu_repoclosure -o filenames repoclosure repoclosure.py
+
+# repoquery
+_yu_repoquery()
+{
+    COMPREPLY=()
+
+    local groupmode=false
+    for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )) ; do
+        case "${COMP_WORDS[i]}" in -g|--group) groupmode=true ; break ;; esac
+    done
+
+    case "$3" in
+        -h|--help|--version|-f|--file|--qf|--queryformat|--resolve|--archlist|\
+        --whatprovides|--whatrequires|--whatobsoletes|--whatconflicts|\
+        --repofrompath)
+            return 0
+            ;;
+        -l|--list|-i|--info|-R|--requires)
+            if $groupmode ; then
+                type _yum_grouplist &>/dev/null && _yum_grouplist "" "$2"
+            else
+                type _yum_list &>/dev/null && _yum_list all "$2"
+            fi
+            return 0
+            ;;
+        --provides|--obsoletes|--conflicts|--groupmember|--changelog|\
+        --location|--nevra|--envra|--nvr|-s|--source)
+            type _yum_list &>/dev/null && _yum_list all "$2"
+            return 0
+            ;;
+        --grouppkgs)
+            COMPREPLY=( $( compgen -W 'all default optional mandatory' \
+                -- "$2" ) )
+            return 0
+            ;;
+        --pkgnarrow)
+            COMPREPLY=( $( compgen -W 'all available updates installed extras
+                obsoletes recent repos' -- "$2" ) )
+            return 0
+            ;;
+        --repoid)
+            type _yum_repolist &>/dev/null && _yum_repolist all "$2"
+            return 0
+            ;;
+        --enablerepo)
+            type _yum_repolist &>/dev/null && _yum_repolist disabled "$2"
+            return 0
+            ;;
+        --disablerepo)
+            type _yum_repolist &>/dev/null && _yum_repolist enabled "$2"
+            return 0
+            ;;
+        -c)
+            COMPREPLY=( $( compgen -f -o plusdirs -X '!*.conf' -- "$2" ) )
+            return 0
+            ;;
+    esac
+
+    COMPREPLY=( $( compgen -W '--version --help --list --info --file
+        --queryformat --groupmember --all --requires --provides --obsoletes
+        --conflicts --changelog --location --nevra --envra --nvr --source
+        --srpm --resolve --alldeps --recursive --whatprovides --whatrequires
+        --whatobsoletes --whatconflicts --group --grouppkgs --archlist
+        --pkgnarrow --show-duplicates --repoid --enablerepo --disablerepo
+        --repofrompath --plugins --quiet --verbose --cache --tempcache
+        --querytags -c' -- "$2" ) )
+} &&
+complete -F _yu_repoquery -o filenames repoquery repoquery.py
+
 # Local variables:
 # mode: shell-script
 # sh-basic-offset: 4


More information about the Yum-commits mailing list