Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37046515
en ru br
Репозитории ALT
S:2.11-alt3.git.157.g59d2322e
5.1: 20060301-alt06
4.1: 20060301-alt05
4.0: 20060301-alt03
3.0: 20050712-alt01
www.altlinux.org/Changes

Группа :: Интерпретаторы команд
Пакет: bash-completion

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: bash-completion-alt-specific.patch
Скачать


 bash_completion       | 17 +++++++++++++++--
 bash_completion.sh.in |  2 +-
 completions/apt-get   | 10 +++++-----
 completions/aptitude  | 22 ++++------------------
 completions/rpm       |  7 ++++---
 5 files changed, 29 insertions(+), 29 deletions(-)
diff --git a/bash_completion b/bash_completion
index 7abb198c..f2f13d57 100644
--- a/bash_completion
+++ b/bash_completion
@@ -2282,16 +2282,29 @@ __load_completion()
         backslash=\\
     fi
 
+    local compfile_fail=
     for dir in "${dirs[@]}"; do
         [[ -d $dir ]] || continue
+        compfile_fail=1
         for compfile in "$cmd" "$cmd.bash" "_$cmd"; do
             compfile="$dir/$compfile"
             # Avoid trying to source dirs; https://bugzilla.redhat.com/903540
             if [[ -f $compfile ]] && . "$compfile" &>/dev/null; then
-                [[ $backslash ]] && $(complete -p "$cmd") "\\$cmd"
-                return 0
+                compfile_fail=0
+                break
             fi
         done
+        if [[ $compfile_fail = 0 ]]; then
+            for compfiles in "$cmd-*" "$cmd-*.bash" "_$cmd-*"; do
+                compfiles="$dir/$compfiles"
+                for compfile in $compfiles; do
+                    # Avoid trying to source dirs; https://bugzilla.redhat.com/903540
+                    [[ -f $compfile ]] && . "$compfile" &>/dev/null
+                done
+            done
+            [[ $backslash ]] && $(complete -p "$cmd") "\\$cmd"
+            return 0
+        fi
     done
 
     # Look up simple "xspec" completions
diff --git a/bash_completion.sh.in b/bash_completion.sh.in
index b2a527eb..1a7ad480 100644
--- a/bash_completion.sh.in
+++ b/bash_completion.sh.in
@@ -7,7 +7,7 @@ if [ "x${BASH_VERSION-}" != x -a "x${PS1-}" != x -a "x${BASH_COMPLETION_VERSINFO
         [ "${BASH_VERSINFO[0]}" -eq 4 -a "${BASH_VERSINFO[1]}" -ge 2 ]; then
         [ -r "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion" ] &&
             . "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion"
-        if shopt -q progcomp && [ -r @datadir@/@PACKAGE@/bash_completion ]; then
+        if shopt -q progcomp 2>/dev/null && [ -r @datadir@/@PACKAGE@/bash_completion ]; then
             # Source completion code.
             . @datadir@/@PACKAGE@/bash_completion
         fi
diff --git a/completions/apt-get b/completions/apt-get
index 543d29c4..eeb9bfb8 100644
--- a/completions/apt-get
+++ b/completions/apt-get
@@ -20,7 +20,7 @@ _apt_get()
 
     local special i
     for ((i = 1; i < ${#words[@]} - 1; i++)); do
-        if [[ ${words[i]} == @(install|remove|autoremove|purge|source|build-dep|download|changelog) ]]; then
+        if [[ ${words[i]} == @(install|remove|autoremove|source|build-dep) ]]; then
             special=${words[i]}
             break
         fi
@@ -28,7 +28,7 @@ _apt_get()
 
     if [[ -v special ]]; then
         case $special in
-            remove | autoremove | purge)
+            remove|autoremove)
                 _comp_cmd_apt_get_installed_packages
                 ;;
             source)
@@ -38,7 +38,7 @@ _apt_get()
                 ;;
             install)
                 if [[ $cur == */* ]]; then
-                    _filedir deb
+                    _filedir '@(rpm|RPM)'
                     return
                 elif [[ $cur == *=* ]]; then
                     package="${cur%%=*}"
@@ -98,8 +98,8 @@ _apt_get()
             --version --config-file --option' -- "$cur"))
     else
         COMPREPLY=($(compgen -W 'update upgrade dist-upgrade
-            dselect-upgrade install remove purge source build-dep check
-            download clean autoclean autoremove changelog indextargets' \
+            install remove source build-dep check
+            clean autoclean autoremove dedup' \
             -- "$cur"))
     fi
 
diff --git a/completions/aptitude b/completions/aptitude
index e5ea1636..396c9e7a 100644
--- a/completions/aptitude
+++ b/completions/aptitude
@@ -1,18 +1,5 @@
 # Debian aptitude(1) completion                            -*- shell-script -*-
 
-_have grep-status && {
-    _comp_dpkg_hold_packages()
-    {
-        grep-status -P -e "^$1" -a -FStatus 'hold' -n -s Package
-    }
-} || {
-    _comp_dpkg_hold_packages()
-    {
-        command grep -B 2 'hold' /var/lib/dpkg/status |
-            awk "/Package: $1/ { print \$2 }"
-    }
-}
-
 _aptitude()
 {
     local cur prev words cword
@@ -20,7 +7,7 @@ _aptitude()
 
     local special i
     for ((i = 1; i < ${#words[@]} - 1; i++)); do
-        if [[ ${words[i]} == @(@(|re)install|@(|un)hold|@(|un)markauto|@(dist|full|safe)-upgrade|download|show|forbid-version|purge|remove|changelog|why@(|-not)|keep@(|-all)|build-dep|@(add|remove)-user-tag|versions) ]]; then
+        if [[ ${words[i]} == @(@(|re)install|@(|un)hold|@(|un)markauto|@(dist|full)-upgrade|download|show|forbid-version|remove|changelog|why@(|-not)|keep@(|-all)|build-dep) ]]; then
             special=${words[i]}
             break
         fi
@@ -107,10 +94,9 @@ _aptitude()
         COMPREPLY=($(compgen -W '${COMPREPLY[@]}' -- "$cur"))
     else
         COMPREPLY=($(compgen -W 'update upgrade safe-upgrade forget-new
-            clean autoclean install reinstall remove hold unhold purge markauto
-            unmarkauto why why-not dist-upgrade full-upgrade download search
-            show forbid-version changelog keep keep-all build-dep add-user-tag
-            remove-user-tag versions' -- "$cur"))
+            clean autoclean install reinstall remove hold unhold markauto
+            unmarkauto dist-upgrade full-upgrade download search
+            show forbid-version build-dep' -- "$cur"))
     fi
 
 } &&
diff --git a/completions/rpm b/completions/rpm
index f771325a..11696037 100644
--- a/completions/rpm
+++ b/completions/rpm
@@ -14,7 +14,7 @@ _rpm_installed_packages()
         # SUSE's rpmqpack is faster than rpm -qa
         COMPREPLY=($(compgen -W '$(rpmqpack)' -- "$cur"))
     else
-        COMPREPLY=($(${1:-rpm} -qa --nodigest --nosignature \
+        COMPREPLY=($(${1:-rpm} -qa --nodigest \
             --queryformat='%{NAME} ' "$cur*" 2>/dev/null))
     fi
 }
@@ -22,7 +22,7 @@ _rpm_installed_packages()
 _rpm_groups()
 {
     local IFS=$'\n'
-    COMPREPLY=($(compgen -W "$(${1:-rpm} -qa --nodigest --nosignature \
+    COMPREPLY=($(compgen -W "$(${1:-rpm} -qa --nodigest \
         --queryformat='%{GROUP}\n' 2>/dev/null)" -- "$cur"))
 }
 
@@ -119,7 +119,7 @@ _rpm()
 
     # options common to all modes
     local -a opts=(
-        --define= --eval= --macros= --nodigest --nosignature --rcfile= --quiet
+        --define= --eval= --macros= --nodigest --rcfile= --quiet
         --pipe --verbose
     )
 
@@ -154,6 +154,7 @@ _rpm()
                 --obsoletes --pipe --provides --queryformat= --requires
                 --scripts --suggests --triggers --xml --recommends
                 --supplements --filetriggers --licensefiles
+                --changes-since --lastchange
             )
 
             if [[ ${words[*]} == *\ -@(*([^ -])f|-file )* ]]; then
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin