[pacman-dev] [PATCH] bash_completion: remove absolute utility paths again

Cedric Staniewski cedric at gmx.ca
Thu Feb 25 17:23:06 EST 2010


The location of the used utilities may and does differ between various
distributions and therefore absolute paths do not work well. Since the
main purpose of its introduction was to avoid side-effects caused by
aliases, it is sufficient to disable possible aliases temporarily by
preceding the commands with a backslash.

Signed-off-by: Cedric Staniewski <cedric at gmx.ca>
---
 contrib/bash_completion |   28 ++++++++++++++--------------
 1 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/contrib/bash_completion b/contrib/bash_completion
index 62e5bc9..40ef8c0 100644
--- a/contrib/bash_completion
+++ b/contrib/bash_completion
@@ -14,7 +14,7 @@ rem_selected ()
   # (Adapted from bash_completion by Ian Macdonald <ian at caliban.org>)
   # This removes any options from the list of completions that have
   # already been specified on the command line.
-  COMPREPLY=($(/bin/echo "${COMP_WORDS[@]}" | \
+  COMPREPLY=($(\echo "${COMP_WORDS[@]}" | \
     (while read -d ' ' i; do
       [ "${i}" == "" ] && continue
       # flatten array with spaces on either side,
@@ -24,20 +24,20 @@ rem_selected ()
       # remove word from list of completions
       COMPREPLY=(${COMPREPLY/ ${i%% *} / })
     done
-    /bin/echo ${COMPREPLY[@]})))
+    \echo ${COMPREPLY[@]})))
   return 0
 }
 
 _available_repos ()
 {
-  COMPREPLY=( $( compgen -W "$(/bin/grep '\[' /etc/pacman.conf | /bin/grep -v -e 'options' -e '^#' | tr -d '[]' )" -- $cur ) )
+  COMPREPLY=( $( compgen -W "$(\grep '\[' /etc/pacman.conf | \grep -v -e 'options' -e '^#' | \tr -d '[]' )" -- $cur ) )
 }
 
 _installed_pkgs ()
 {
   local installed_pkgs
-  installed_pkgs=$( /bin/ls /var/lib/pacman/local/ )
-  COMPREPLY=( $( compgen -W "$( for i in $installed_pkgs; do /bin/echo ${i%-*-*}; done )" -- $cur ) )
+  installed_pkgs=$( \ls /var/lib/pacman/local/ )
+  COMPREPLY=( $( compgen -W "$( for i in $installed_pkgs; do \echo ${i%-*-*}; done )" -- $cur ) )
 }
 
 _available_pkgs ()
@@ -47,16 +47,16 @@ _available_pkgs ()
   # This little change-up removes the find *and* only uses enabled repos
   local available_pkgs
   local enabled_repos
-  enabled_repos=$( /bin/grep '\[' /etc/pacman.conf | /bin/grep -v -e 'options' -e '^#' | tr -d '[]' )
-  available_pkgs=$( for r in $enabled_repos; do /bin/echo /var/lib/pacman/sync/$r/*; done )
+  enabled_repos=$( \grep '\[' /etc/pacman.conf | \grep -v -e 'options' -e '^#' | \tr -d '[]' )
+  available_pkgs=$( for r in $enabled_repos; do \echo /var/lib/pacman/sync/$r/*; done )
   COMPREPLY=( $( compgen -W "$( for i in $available_pkgs; do j=${i##*/}; echo ${j%-*-*}; done )" -- $cur ) )
 }
 
 _installed_groups ()
 {
   local installed_groups
-  installed_groups=$( /bin/find /var/lib/pacman/local -name desc -exec /bin/sed -ne '/%GROUPS%/,/^$/{//d; p}' {} \; | /bin/sort -u )
-  COMPREPLY=( $( compgen -W "$( for i in $installed_groups; do /bin/echo ${i%-*-*}; done )" -- $cur ) )
+  installed_groups=$( \find /var/lib/pacman/local -name desc -exec \sed -ne '/%GROUPS%/,/^$/{//d; p}' {} \; | \sort -u )
+  COMPREPLY=( $( compgen -W "$( for i in $installed_groups; do \echo ${i%-*-*}; done )" -- $cur ) )
 }
 
 _available_groups ()
@@ -66,9 +66,9 @@ _available_groups ()
   # This little change-up removes the find *and* only uses enabled repos
   local available_groups
   local enabled_repos
-  enabled_repos=$( /bin/grep '\[' /etc/pacman.conf | /bin/grep -v -e 'options' -e '^#' | tr -d '[]' )
-  available_groups=$( for r in $enabled_repos; do /bin/sed '/%GROUPS%/,/^$/{//d; p}' /var/lib/pacman/sync/$r/*/desc | /bin/sort -u; done )
-  COMPREPLY=( $( compgen -W "$( for i in $available_groups; do /bin/echo ${i%-*-*}; done )" -- $cur ) )
+  enabled_repos=$( \grep '\[' /etc/pacman.conf | \grep -v -e 'options' -e '^#' | tr -d '[]' )
+  available_groups=$( for r in $enabled_repos; do \sed '/%GROUPS%/,/^$/{//d; p}' /var/lib/pacman/sync/$r/*/desc | \sort -u; done )
+  COMPREPLY=( $( compgen -W "$( for i in $available_groups; do \echo ${i%-*-*}; done )" -- $cur ) )
 }
 
 ## makepkg completion
@@ -126,7 +126,7 @@ _instring ()
   str="${1}"
   shift 1
   for c in "${@}"; do
-    if [ $(/bin/expr index "${str}" "${c}") -gt 0 ]; then
+    if [ $(\expr index "${str}" "${c}") -gt 0 ]; then
       return 0
     fi
   done
@@ -193,7 +193,7 @@ _pacman ()
     esac
 
     arglen=$(( ${#toparse}-1 ))
-    for c in $(/bin/seq 0 "${arglen}"); do
+    for c in $(\seq 0 "${arglen}"); do
       arg=${toparse:$c:1}
       [ "${arg}" != "-" ] && mod="${mod}${arg}"
     done
-- 
1.7.0



More information about the pacman-dev mailing list