| Add support for cros-specific completions |
| |
| This patch adds support for cros variations of gentoo commands like |
| equery-$BOARD, qsize-$BOARD, etc. The basic idea is that the cros-specific |
| verions of these commands will export a local variable called BOARDROOT, derived |
| from the invocation of the command, that gets prepended to any path lookup done |
| by the completer function, ensuring that board-specific completions are provided |
| for the commands. For example, shill and power_manager will be provided as |
| completions for 'emerge-link' but will not be provided for 'emerge'. |
| |
| |
| diff --git a/_gentoo_packages b/_gentoo_packages |
| index 9a747b7..8581e10 100644 |
| --- a/_gentoo_packages |
| +++ b/_gentoo_packages |
| @@ -10,14 +10,14 @@ setopt extendedglob bareglobqual |
| _portdir() { |
| local mainreponame mainrepopath overlayname overlaypath |
| |
| - if [[ -e /usr/share/portage/config/repos.conf ]]; then |
| + if [[ -e ${BOARDROOT}/usr/share/portage/config/repos.conf ]]; then |
| if [[ ${1} == -o ]]; then |
| for overlayname in $(_parsereposconf -l); do |
| overlaypath+=($(_parsereposconf ${overlayname} location)) |
| done |
| |
| - source /etc/make.conf 2>/dev/null |
| - source /etc/portage/make.conf 2>/dev/null |
| + source ${BOARDROOT}/etc/make.conf 2>/dev/null |
| + source ${BOARDROOT}/etc/portage/make.conf 2>/dev/null |
| |
| overlaypath+=(${(@)PORTDIR_OVERLAY}) |
| |
| @@ -29,9 +29,9 @@ _portdir() { |
| echo "${mainrepopath}" |
| fi |
| else |
| - source /usr/share/portage/config/make.globals 2>/dev/null |
| - source /etc/make.conf 2>/dev/null |
| - source /etc/portage/make.conf 2>/dev/null |
| + source ${BOARDROOT}/usr/share/portage/config/make.globals 2>/dev/null |
| + source ${BOARDROOT}/etc/make.conf 2>/dev/null |
| + source ${BOARDROOT}/etc/portage/make.conf 2>/dev/null |
| |
| if [[ "-o" == ${1} ]]; then |
| echo "${(@u)PORTDIR_OVERLAY}" |
| @@ -44,9 +44,9 @@ _portdir() { |
| _parsereposconf() { |
| local v f insection section arr; |
| |
| - for f in /usr/share/portage/config/repos.conf \ |
| - /etc/portage/repos.conf \ |
| - /etc/portage/repos.conf/*.conf; do |
| + for f in ${BOARDROOT}/usr/share/portage/config/repos.conf \ |
| + ${BOARDROOT}/etc/portage/repos.conf \ |
| + ${BOARDROOT}/etc/portage/repos.conf/*.conf; do |
| |
| [[ -f ${f} ]] || continue |
| insection=0; |
| @@ -135,14 +135,14 @@ _parsesetsconf() { |
| |
| _gentoo_packages_update_installed_sets() { |
| local sets; |
| - sets=($(</var/lib/portage/world_sets)); |
| + sets=($(<${BOARDROOT}/var/lib/portage/world_sets)); |
| if [[ ((${#sets} > 0)) ]]; then |
| _wanted installed_sets expl 'installed set' compadd "$@" "${(o@)^sets}" |
| fi |
| } |
| |
| _gentoo_packages_update_available_sets() { |
| - trees=($(_portdir -o) /etc/portage /usr/share/portage/config) |
| + trees=($(_portdir -o) ${BOARDROOT}/etc/portage ${BOARDROOT}/usr/share/portage/config) |
| for PORTDIR in ${(@)trees}; do |
| if [[ -d ${PORTDIR} ]]; then |
| setsdir="$(_parsesetsconf ${PORTDIR})" |
| @@ -181,10 +181,10 @@ _gentoo_packages_update_useflag(){ |
| _gentoo_packages_update_active_useflag(){ |
| local flags USE |
| var=USE |
| - [[ -z ${(P)var} && -r /etc/portage/make.conf ]] && |
| - local $var="`. /etc/portage/make.conf 2>/dev/null; echo ${(P)var}`" |
| - [[ -z ${(P)var} && -r /etc/make.conf ]] && |
| - local $var="`. /etc/make.conf 2>/dev/null; echo ${(P)var}`" |
| + [[ -z ${(P)var} && -r ${BOARDROOT}/etc/portage/make.conf ]] && |
| + local $var="`. ${BOARDROOT}/etc/portage/make.conf 2>/dev/null; echo ${(P)var}`" |
| + [[ -z ${(P)var} && -r ${BOARDROOT}/etc/make.conf ]] && |
| + local $var="`. ${BOARDROOT}/etc/make.conf 2>/dev/null; echo ${(P)var}`" |
| flags=(${${${=USE}%-*}%\\*}) |
| compadd $flags |
| } |
| @@ -198,7 +198,7 @@ _gentoo_packages_update_category(){ |
| |
| _gentoo_packages_update_installed(){ |
| local installed_dir installed_portage installed_list expl |
| - installed_dir="/var/db/pkg" |
| + installed_dir="${BOARDROOT}/var/db/pkg" |
| installed_portage=($installed_dir/*-*/*) |
| |
| installed_pkgname=(${${installed_portage:t}%%-[0-9]*}) |
| @@ -211,7 +211,7 @@ _gentoo_packages_update_installed(){ |
| _gentoo_packages_update_installed_versions(){ |
| local installed_list installed_portage expl |
| |
| - installed_portage=(/var/db/pkg/*-*/*) |
| + installed_portage=(${BOARDROOT}/var/db/pkg/*-*/*) |
| _wanted packages expl 'package' compadd "$@" ${installed_portage:t} |
| |
| installed_list=(${installed_portage##*/pkg/}) |
| @@ -270,12 +270,12 @@ _gentoo_packages_update_available_versions(){ |
| |
| #Function to show tbz2 files available |
| _gentoo_packages_update_binary() { |
| - [[ -z $PKGDIR && -r /etc/portage/make.conf ]] && |
| - local PKGDIR="`. /etc/portage/make.conf 2>/dev/null; echo $PKGDIR`" |
| - [[ -z $PKGDIR && -r /etc/make.conf ]] && |
| - local PKGDIR="`. /etc/make.conf 2>/dev/null; echo $PKGDIR`" |
| - [[ -z $PKGDIR && -r /usr/share/portage/config/make.globals ]] && |
| - local PKGDIR="`. /usr/share/portage/config/make.globals 2>/dev/null; echo $PKGDIR`" |
| + [[ -z $PKGDIR && -r ${BOARDROOT}/etc/portage/make.conf ]] && |
| + local PKGDIR="`. ${BOARDROOT}/etc/portage/make.conf 2>/dev/null; echo $PKGDIR`" |
| + [[ -z $PKGDIR && -r ${BOARDROOT}/etc/make.conf ]] && |
| + local PKGDIR="`. ${BOARDROOT}/etc/make.conf 2>/dev/null; echo $PKGDIR`" |
| + [[ -z $PKGDIR && -r ${BOARDROOT}/usr/share/portage/config/make.globals ]] && |
| + local PKGDIR="`. ${BOARDROOT}/usr/share/portage/config/make.globals 2>/dev/null; echo $PKGDIR`" |
| |
| # this doesn't take care of ${PORTAGE_BINHOST}. If Gentoo official |
| # binary mirror will be available we should rewrite it accordingly. |
| diff --git a/_gentoolkit b/_gentoolkit |
| index ef3db9a..3004b11 100644 |
| --- a/_gentoolkit |
| +++ b/_gentoolkit |
| @@ -1,4 +1,4 @@ |
| -#compdef equery euse eclean eclean-dist eclean-pkg epkginfo genpkgindex glsa-check revdep-rebuild |
| +#compdef equery euse eclean eclean-dist eclean-pkg epkginfo genpkgindex glsa-check revdep-rebuild -P equery-* eclean-* |
| |
| # gentoolkit-0.2.4-rc3 |
| # |
| @@ -232,7 +232,7 @@ _eclean_wrapper () { |
| _arguments -s $global_opts $dist_opts && |
| return 0 |
| ;; |
| - eclean) |
| + eclean*) |
| # eclean. complete only specifics options if an action has been given, |
| # global_opts and packages|distfiles otherwhise. |
| if (( $words[(I)(packages)] )); then |
| @@ -363,7 +363,18 @@ case "$service" in |
| equery) |
| _equery "$@" && return 0 |
| ;; |
| - eclean*) |
| + equery-*) |
| + local -x BOARDROOT=/build/${service#equery-} |
| + _equery "$@" && return 0 |
| + ;; |
| + eclean-pkg|eclean-dist) |
| + _eclean_wrapper "$@" && return 0 |
| + ;; |
| + eclean-*) |
| + local -x BOARDROOT=/build/${service#eclean-} |
| + _eclean_wrapper "$@" && return 0 |
| + ;; |
| + eclean) |
| _eclean_wrapper "$@" && return 0 |
| ;; |
| epkginfo) |
| diff --git a/_portage b/_portage |
| index 57fc0a5..954ecc9 100644 |
| --- a/_portage |
| +++ b/_portage |
| @@ -1,4 +1,4 @@ |
| -#compdef emerge ebuild quickpkg emaint env-update portageq repoman tbz2tool |
| +#compdef emerge ebuild quickpkg emaint env-update portageq repoman tbz2tool -P ebuild-* emaint-* emerge-* |
| |
| # Already done: |
| # emerge (fully done) |
| @@ -339,15 +339,27 @@ case "$service" in |
| emerge) |
| _emerge "$@" && return 0 |
| ;; |
| + emerge-*) |
| + local -x BOARDROOT=/build/${service#emerge-} |
| + _emerge "$@" && return 0 |
| + ;; |
| ebuild) |
| _ebuild "$@" && return 0 |
| ;; |
| + ebuild-*) |
| + local -x BOARDROOT=/build/${service#ebuild-} |
| + _ebuild "$@" && return 0 |
| + ;; |
| quickpkg) |
| _quickpkg "$@" && return 0 |
| ;; |
| emaint) |
| _emaint "$@" && return 0 |
| ;; |
| + emaint-*) |
| + local -x BOARDROOT=/build/${service#emaint-} |
| + _emaint "$@" && return 0 |
| + ;; |
| env-update) |
| _env-update "$@" && return 0 |
| ;; |
| diff --git a/_portage_utils b/_portage_utils |
| index dbb45d6..380f400 100644 |
| --- a/_portage_utils |
| +++ b/_portage_utils |
| @@ -1,4 +1,4 @@ |
| -#compdef qatom qcache qcheck qdepends qfile qgrep qlist qlop qpkg qsearch qsize qtbz2 quse qxpak |
| + #compdef qatom qcache qcheck qdepends qfile qgrep qlist qlop qpkg qsearch qsize qtbz2 quse qxpak -P qcheck-* qdepends-* qfile-* qlist-* qmerge-* qsize-* |
| |
| # portage-utils-0.53 |
| |
| @@ -6,21 +6,18 @@ |
| _portdir() { |
| local mainreponame mainrepopath overlayname overlaypath |
| |
| - if [[ -e /usr/share/portage/config/repos.conf ]]; then |
| + if [[ -e ${BOARDROOT}/usr/share/portage/config/repos.conf ]]; then |
| if [[ ${1} == -o ]]; then |
| for overlayname in $(_parsereposconf -l); do |
| overlaypath+=($(_parsereposconf ${overlayname} location)) |
| done |
| |
| - source /etc/make.conf 2>/dev/null |
| - source /etc/portage/make.conf 2>/dev/null |
| + source ${BOARDROOT}/etc/make.conf 2>/dev/null |
| + source ${BOARDROOT}/etc/portage/make.conf 2>/dev/null |
| |
| - overlaypath+=(${PORTDIR_OVERLAY}) |
| + overlaypath+=(${(@)PORTDIR_OVERLAY}) |
| |
| - # strip out duplicates |
| - overlaypath=($(printf "%s\n" "${overlaypath[@]}" | sort -u)) |
| - |
| - echo "${overlaypath[@]}" |
| + echo "${(@u)overlaypath}" |
| else |
| mainreponame=$(_parsereposconf DEFAULT main-repo) |
| mainrepopath=$(_parsereposconf ${mainreponame} location) |
| @@ -28,61 +25,131 @@ _portdir() { |
| echo "${mainrepopath}" |
| fi |
| else |
| - source /usr/share/portage/config/make.globals 2>/dev/null |
| - source /etc/make.conf 2>/dev/null |
| - source /etc/portage/make.conf 2>/dev/null |
| - |
| - echo "${PORTDIR}" |
| + source ${BOARDROOT}/usr/share/portage/config/make.globals 2>/dev/null |
| + source ${BOARDROOT}/etc/make.conf 2>/dev/null |
| + source ${BOARDROOT}/etc/portage/make.conf 2>/dev/null |
| |
| - if [[ ${1} == -o ]]; thenâ‹… |
| - echo "${PORTDIR_OVERLAY}" |
| - fiâ‹…â‹…â‹… |
| + if [[ "-o" == ${1} ]]; then |
| + echo "${(@u)PORTDIR_OVERLAY}" |
| + else |
| + echo "${PORTDIR}" |
| + fi |
| fi |
| } |
| |
| _parsereposconf() { |
| - local f insection line section v value var |
| + local v f insection section arr; |
| |
| - for f in /usr/share/portage/config/repos.conf \ |
| - /etc/portage/repos.conf \ |
| - /etc/portage/repos.conf/*.conf; do |
| + for f in ${BOARDROOT}/usr/share/portage/config/repos.conf \ |
| + ${BOARDROOT}/etc/portage/repos.conf \ |
| + ${BOARDROOT}/etc/portage/repos.conf/*.conf; do |
| |
| [[ -f ${f} ]] || continue |
| - insection=0 |
| + insection=0; |
| + declare -A arr; |
| + IFS='= '; |
| |
| - while read -r line; do |
| - # skip comments and blank lines |
| - [[ -z ${line} || ${line} == '#'* ]] && continue |
| + while read -r name value; do |
| + [[ -z ${name} || ${name} == '#'* ]] && continue |
| |
| - if [[ ${insection} == 1 && ${line} == '['*']' ]]; then |
| - # End of the section we were interested in so stop |
| - secname+=(${line//[(\[|\])]/}) # record name for -l |
| + if [[ (${name} == '['*']') && (-z ${value}) ]]; then |
| + value=${name//(\]|\[)}; |
| + name="section"; |
| + fi; |
| + arr[${name}]=${value}; |
| + |
| + if [[ ${insection} == 1 && ${name} == "section" ]]; then |
| break |
| - elif [[ ${line} == '['*']' ]]; then |
| - # Entering a new section, check if it's the one we want |
| - section=${line//[(\[|\])]/} |
| - [[ ${section} == "${1}" ]] && insection=1 |
| - secname+=(${section}) # record name for -l |
| + elif [[ ${name} == "section" ]]; then |
| + [[ ${value} == ${1} ]] && insection=1 |
| + secname+=(${value}) |
| elif [[ ${insection} == 1 ]]; then |
| - # We're in the section we want, grab the values |
| - var=${line%%=*} |
| - var=${var// /} |
| - value=${line#*=} |
| - value=${value# } |
| - [[ ${var} == ${2} ]] && v=${value} |
| + if [[ ${name} == ${2} ]]; then |
| + v=${value}; |
| + fi |
| fi |
| continue |
| - done < "${f}" |
| + done < ${f} |
| done |
| |
| - if [[ ${1} == -l ]]; then |
| - echo "${secname[@]}" |
| + if [[ "-l" == ${1} ]]; then |
| + echo "${(@)secname}" |
| else |
| echo "${v}" |
| fi |
| } |
| |
| |
| +_qcheck() { |
| + _arguments -s $common_args \ |
| + {'(--all)-a','(-a)--all'}'[List all packages]' \ |
| + {'(--exact)-e','(-e)--exact'}'[Exact match (only CAT/PN or PN without PV)]' \ |
| + {'(--skip)-s','(-s)--skip'}'[Ignore files matching regular expression]:regex' \ |
| + {'(--update)-u','(-u)--update'}'[Update missing files, chksum and mtimes for packages]' \ |
| + {'(--noafk)-A','(-A)--noafk'}'[Ignore missing files]' \ |
| + {'(--badonly)-B','(-B)--badonly'}'[Only print pkgs containing bad files]' \ |
| + {'(--nohash)-H','(-H)--nohash'}'[Ignore differing/unknown file chksums]' \ |
| + {'(--nomtime)-T','(-T)--nomtime'}'[Ignore differing file mtimes]' \ |
| + '--skip-protected[Ignore files in CONFIG_PROTECT-ed paths]' \ |
| + {'(--prelink)-p','(-p)--prelink'}'[Undo prelink when calculating checksums]' \ |
| + '*:packages:_gentoo_packages installed' |
| +} |
| + |
| +_qdepends() { |
| + _arguments -s $common_args \ |
| + {'(--depend)-d','(-d)--depend'}'[Show DEPEND info (default)]' \ |
| + {'(--rdepend)-r','(-r)--rdepend'}'[Show RDEPEND info]' \ |
| + {'(--pdepend)-p','(-p)--pdepend'}'[Show PDEPEND info]' \ |
| + {'(--key)-k','(-k)--key'}'[User defined vdb key]:vdb key' \ |
| + {'(--query)-Q','(-Q)--query'}'[Query reverse deps]' \ |
| + {'(--name-only)-N','(-N)--name-only'}'[Only show package name]' \ |
| + {'(--all)-a','(-a)--all'}'[Show all DEPEND info]' \ |
| + {'(--format)-f','(-f)--format'}'[Pretty format specified depend strings]' \ |
| + '*:packages:_gentoo_packages installed' |
| +} |
| + |
| +_qfile() { |
| + _arguments -s $common_args \ |
| + {'(--slots)-S','(-S)--slots'}'[Display installed packages with slots]' \ |
| + {'(--root-prefix)-R','(-R)--root-prefix'}'[Assume arguments are already prefixed by $ROOT]' \ |
| + {'(--from)-f','(-f)--from'}'[Read arguments from file <arg> ("-" for stdin)]' \ |
| + {'(--max-args)-m','(-m)--max-args'}'[Treat from file arguments by groups of <arg> (defaults to 5000)]:number' \ |
| + {'(--basename)-b','(-b)--basename'}'[Match any component of the path]' \ |
| + {'(--orphans)-o','(-o)--orphans'}'[List orphan files]' \ |
| + {'(--exclude)-x','(-x)--exclude'}"[Don't look in package <arg> (used with --orphans)]:package:_gentoo_packages installed" \ |
| + {'(--exact)-e','(-e)--exact'}'[Exact match (used with --exclude)]' \ |
| + '*:filename:_files' |
| +} |
| + |
| +_qlist() { |
| + _arguments -s $common_args \ |
| + {'(--installed)-I','(-I)--installed'}'[Just show installed packages]' \ |
| + {'(--slots)-S','(-S)--slots'}'[Display installed packages with slots]' \ |
| + {'(--repo)-R','(-R)--repo'}'[Display installed packages with repository]' \ |
| + {'(--umap)-U','(-U)--umap'}'[Display installed packages with flags used]' \ |
| + {'(--columns)-c','(-c)--columns'}'[Display column view]' \ |
| + '--show-debug[Show /usr/lib/debug files]' \ |
| + {'(--exact)-e','(-e)--exact'}'[Exact match (only CAT/PN or PN without PV)]' \ |
| + {'(--all)-a','(-a)--all'}'[Show every installed package]' \ |
| + {'(--dir)-d','(-d)--dir'}'[Only show directories]' \ |
| + {'(--obj)-o','(-o)--obj'}'[Only show objects]' \ |
| + {'(--sym)-s','(-s)--sym'}'[Only show symlinks]' \ |
| + '*:packages:_gentoo_packages installed' |
| +} |
| + |
| +_qsize() { |
| + _arguments -s $common_args \ |
| + {'(--filesystem)-f','(-f)--filesystem'}'[Show size used on disk]' \ |
| + {'(--all)-a','(-a)--all'}'[Size all installed packages]' \ |
| + {'(--sum)-s','(-s)--sum'}'[Include a summary]' \ |
| + {'(--sum-only)-S','(-S)--sum-only'}'[Show just the summary]' \ |
| + {'(--megabytes)-m','(-m)--megabytes'}'[Display size in megabytes]' \ |
| + {'(--kilobytes)-k','(-k)--kilobytes'}'[Display size in kilobytes]' \ |
| + {'(--bytes)-b','(-b)--bytes'}'[Display size in bytes]' \ |
| + {'(--ignore)-i','(-i)--ignore'}'[Ignore regexp string]:pattern' \ |
| + '*:packages:_gentoo_packages installed' |
| +} |
| + |
| local common_args PORTDIR |
| |
| PORTDIR="$(_portdir)" |
| @@ -125,42 +192,25 @@ case $service in |
| '*:arch:show_archs' |
| ;; |
| qcheck) |
| - _arguments -s $common_args \ |
| - {'(--all)-a','(-a)--all'}'[List all packages]' \ |
| - {'(--exact)-e','(-e)--exact'}'[Exact match (only CAT/PN or PN without PV)]' \ |
| - {'(--skip)-s','(-s)--skip'}'[Ignore files matching regular expression]:regex' \ |
| - {'(--update)-u','(-u)--update'}'[Update missing files, chksum and mtimes for packages]' \ |
| - {'(--noafk)-A','(-A)--noafk'}'[Ignore missing files]' \ |
| - {'(--badonly)-B','(-B)--badonly'}'[Only print pkgs containing bad files]' \ |
| - {'(--nohash)-H','(-H)--nohash'}'[Ignore differing/unknown file chksums]' \ |
| - {'(--nomtime)-T','(-T)--nomtime'}'[Ignore differing file mtimes]' \ |
| - '--skip-protected[Ignore files in CONFIG_PROTECT-ed paths]' \ |
| - {'(--prelink)-p','(-p)--prelink'}'[Undo prelink when calculating checksums]' \ |
| - '*:packages:_gentoo_packages installed' |
| + _qcheck "$@" && return 0 |
| + ;; |
| + qcheck-*) |
| + local -x BOARDROOT=/build/${service#qcheck-} |
| + _qcheck "$@" && return 0 |
| ;; |
| qdepends) |
| - _arguments -s $common_args \ |
| - {'(--depend)-d','(-d)--depend'}'[Show DEPEND info (default)]' \ |
| - {'(--rdepend)-r','(-r)--rdepend'}'[Show RDEPEND info]' \ |
| - {'(--pdepend)-p','(-p)--pdepend'}'[Show PDEPEND info]' \ |
| - {'(--key)-k','(-k)--key'}'[User defined vdb key]:vdb key' \ |
| - {'(--query)-Q','(-Q)--query'}'[Query reverse deps]' \ |
| - {'(--name-only)-N','(-N)--name-only'}'[Only show package name]' \ |
| - {'(--all)-a','(-a)--all'}'[Show all DEPEND info]' \ |
| - {'(--format)-f','(-f)--format'}'[Pretty format specified depend strings]' \ |
| - '*:packages:_gentoo_packages installed' |
| + _qdepends "$@" && return 0 |
| + ;; |
| + qdepends-*) |
| + local -x BOARDROOT=/build/${service#qdepends-} |
| + _qdepends "$@" && return 0 |
| ;; |
| qfile) |
| - _arguments -s $common_args \ |
| - {'(--slots)-S','(-S)--slots'}'[Display installed packages with slots]' \ |
| - {'(--root-prefix)-R','(-R)--root-prefix'}'[Assume arguments are already prefixed by $ROOT]' \ |
| - {'(--from)-f','(-f)--from'}'[Read arguments from file <arg> ("-" for stdin)]' \ |
| - {'(--max-args)-m','(-m)--max-args'}'[Treat from file arguments by groups of <arg> (defaults to 5000)]:number' \ |
| - {'(--basename)-b','(-b)--basename'}'[Match any component of the path]' \ |
| - {'(--orphans)-o','(-o)--orphans'}'[List orphan files]' \ |
| - {'(--exclude)-x','(-x)--exclude'}"[Don't look in package <arg> (used with --orphans)]:package:_gentoo_packages installed" \ |
| - {'(--exact)-e','(-e)--exact'}'[Exact match (used with --exclude)]' \ |
| - '*:filename:_files' |
| + _qfile "$@" && return 0 |
| + ;; |
| + qfile-*) |
| + local -x BOARDROOT=/build/${service#qfile-} |
| + _qfile "$@" && return 0 |
| ;; |
| qgrep) |
| _arguments -s $common_args \ |
| @@ -182,19 +232,11 @@ case $service in |
| '*:pattern::' |
| ;; |
| qlist) |
| - _arguments -s $common_args \ |
| - {'(--installed)-I','(-I)--installed'}'[Just show installed packages]' \ |
| - {'(--slots)-S','(-S)--slots'}'[Display installed packages with slots]' \ |
| - {'(--repo)-R','(-R)--repo'}'[Display installed packages with repository]' \ |
| - {'(--umap)-U','(-U)--umap'}'[Display installed packages with flags used]' \ |
| - {'(--columns)-c','(-c)--columns'}'[Display column view]' \ |
| - '--show-debug[Show /usr/lib/debug files]' \ |
| - {'(--exact)-e','(-e)--exact'}'[Exact match (only CAT/PN or PN without PV)]' \ |
| - {'(--all)-a','(-a)--all'}'[Show every installed package]' \ |
| - {'(--dir)-d','(-d)--dir'}'[Only show directories]' \ |
| - {'(--obj)-o','(-o)--obj'}'[Only show objects]' \ |
| - {'(--sym)-s','(-s)--sym'}'[Only show symlinks]' \ |
| - '*:packages:_gentoo_packages installed' |
| + _qlist "$@" && return 0 |
| + ;; |
| + qlist-*) |
| + local -x BOARDROOT=/build/${service#qlist-} |
| + _qlist "$@" && return 0 |
| ;; |
| qlop) |
| _arguments -s $common_args \ |
| @@ -220,16 +262,11 @@ case $service in |
| '*:pattern::' |
| ;; |
| qsize) |
| - _arguments -s $common_args \ |
| - {'(--filesystem)-f','(-f)--filesystem'}'[Show size used on disk]' \ |
| - {'(--all)-a','(-a)--all'}'[Size all installed packages]' \ |
| - {'(--sum)-s','(-s)--sum'}'[Include a summary]' \ |
| - {'(--sum-only)-S','(-S)--sum-only'}'[Show just the summary]' \ |
| - {'(--megabytes)-m','(-m)--megabytes'}'[Display size in megabytes]' \ |
| - {'(--kilobytes)-k','(-k)--kilobytes'}'[Display size in kilobytes]' \ |
| - {'(--bytes)-b','(-b)--bytes'}'[Display size in bytes]' \ |
| - {'(--ignore)-i','(-i)--ignore'}'[Ignore regexp string]:pattern' \ |
| - '*:packages:_gentoo_packages installed' |
| + _qsize "$@" && return 0 |
| + ;; |
| + qsize-*) |
| + local -x BOARDROOT=/build/${service#qsize-} |
| + _qsize "$@" && return 0 |
| ;; |
| quse) |
| _arguments -s $common_args \ |