Hello community, here is the log from the commit of package aaa_base for openSUSE:Factory checked in at Wed Jul 6 16:38:49 CEST 2011.
-------- --- aaa_base/aaa_base.changes 2011-06-30 09:48:56.000000000 +0200 +++ /mounts/work_src_done/STABLE/aaa_base/aaa_base.changes 2011-07-06 16:13:16.000000000 +0200 @@ -1,0 +2,6 @@ +Wed Jul 6 14:12:30 UTC 2011 - wer...@suse.de + +- Let various bourne shell source their own local rc file (bnc#703855) +- Handle CDPATH for bash command completion for every case (bnc#703682) + +------------------------------------------------------------------- calling whatdependson for head-i586 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ aaa_base.spec ++++++ --- /var/tmp/diff_new_pack.rUZRc0/_old 2011-07-06 16:33:26.000000000 +0200 +++ /var/tmp/diff_new_pack.rUZRc0/_new 2011-07-06 16:33:26.000000000 +0200 @@ -21,7 +21,7 @@ Name: aaa_base Version: 12.1 -Release: 1 +Release: 91 License: GPLv2+ Group: System/Fhs Url: http://gitorious.org/opensuse/aaa_base ++++++ aaa_base.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aaa_base/files/etc/bash.bashrc new/aaa_base/files/etc/bash.bashrc --- old/aaa_base/files/etc/bash.bashrc 2011-06-30 09:48:04.000000000 +0200 +++ new/aaa_base/files/etc/bash.bashrc 2011-07-06 16:10:14.000000000 +0200 @@ -2,8 +2,9 @@ # # PLEASE DO NOT CHANGE /etc/bash.bashrc There are chances that your changes # will be lost during system upgrades. Instead use /etc/bash.bashrc.local -# for your local settings, favourite global aliases, VISUAL and EDITOR -# variables, etc ... +# for bash or /etc/ksh.kshrc.local for ksh or /etc/zsh.zshrc.local for the +# zsh or /etc/ash.ashrc.local for the plain ash bourne shell for your local +# settings, favourite global aliases, VISUAL and EDITOR variables, etc ... # # Check which shell is reading this file @@ -278,14 +279,17 @@ export GPG_TTY fi - -if test "$is" != "ash" ; then - # - # And now let's see if there is a local bash.bashrc - # (for options defined by your sysadmin, not SuSE Linux) - # - test -s /etc/bash.bashrc.local && . /etc/bash.bashrc.local -fi +# +# And now let us see if there is e.g. a local bash.bashrc +# (for options defined by your sysadmin, not SuSE Linux) +# +case "$is" in +bash) test -s /etc/bash.bashrc.local && . /etc/bash.bashrc.local ;; +ksh) test -s /etc/ksh.kshrc.local && . /etc/ksh.kshrc.local ;; +zsh) test -s /etc/zsh.zshrc.local && . /etc/zsh.zshrc.local ;; +ash) test -s /etc/ash.ashrc.local && . /etc/ash.ashrc.local +esac +test -s /etc/sh.shrc.local && . /etc/sh.shrc.local if test -n "$restricted" -a -z "$PROFILEREAD" ; then PATH=/usr/lib/restricted/bin diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aaa_base/files/etc/profile.d/complete.bash new/aaa_base/files/etc/profile.d/complete.bash --- old/aaa_base/files/etc/profile.d/complete.bash 2011-06-30 09:48:04.000000000 +0200 +++ new/aaa_base/files/etc/profile.d/complete.bash 2011-07-06 16:10:14.000000000 +0200 @@ -54,6 +54,28 @@ done } +# +# Handle the CDPATH variable +# +_cdpath_ () +{ + local -i o + local c="$1" + local x="$(bind -v | sed -rn 's/set (mark-)/\1/p')" + local dir=$([[ $x =~ mark-directories+([[:space:]])on ]] && echo on) + local sym=$([[ $x =~ mark-symlinked-directories+([[:space:]])on ]] && echo on) + + for x in ${CDPATH//:/$'\n'}; do + o=${#COMPREPLY[@]} + for s in $(compgen -d $x/$c); do + if [[ (($sym == on && -h $s) || ($dir == on && ! -h $s)) && ! -d ${s#$x/} ]] ; then + s="${s}/" + fi + COMPREPLY[o++]=${s#$x/} + done + done +} + # Expanding shell function for directories _cd_ () { @@ -62,6 +84,7 @@ local IFS=$'\n' local -i o local -i isdir=0 + local -i cdpath=0 shopt -q extglob && g=1 test $g -eq 0 && shopt -s extglob @@ -84,9 +107,11 @@ mkdir) ;; *) s="-S/" esac - + test "${1##*/}" != "cd" -a "${1##*/}" != "pushd" || let cdpath++ + case "$c" in *[*?[]*) COMPREPLY=() # use bashdefault + ((cdpath == 0)) || _cdpath_ "$c" test $g -eq 0 && shopt -u extglob return 0 ;; \$\(*\)) eval COMPREPLY=\(${c}\) @@ -108,6 +133,7 @@ if ((${#COMPREPLY[@]} > 0)) ; then compopt +o plusdirs if ((${#COMPREPLY[@]} > 1)) ; then + ((cdpath == 0)) || _cdpath_ "$c" test $g -eq 0 && shopt -u extglob return 0 fi @@ -118,6 +144,7 @@ if ((${#COMPREPLY[@]} > 0)) ; then compopt +o plusdirs if ((${#COMPREPLY[@]} > 1)) ; then + ((cdpath == 0)) || _cdpath_ "$c" test $g -eq 0 && shopt -u extglob return 0 fi @@ -136,31 +163,18 @@ COMPREPLY=(${COMPREPLY[@]#"$x"}) ((${#COMPREPLY[@]} == 0)) || let isdir++ fi + ((cdpath == 0)) || _cdpath_ "$c" test $g -eq 0 && shopt -u extglob return 0 ;; *) COMPREPLY=() # use (bash)default + ((cdpath == 0)) || _cdpath_ "$c" test $g -eq 0 && shopt -u extglob return 0 ;; esac - if test \( "${1##*/}" = "cd" -o "${1##*/}" = "pushd" \) -a ${#COMPREPLY[@]} -gt 0 ; then - # - # Handle the CDPATH variable - # - x="$(bind -v)" - local dir=$([[ $x =~ mark-directories+([[:space:]])on ]] && echo on) - local sym=$([[ $x =~ mark-symlinked-directories+([[:space:]])on ]] && echo on) - - for x in ${CDPATH//:/$'\n'}; do - o=${#COMPREPLY[@]} - for s in $(compgen -d $x/$c); do - if [[ (($sym == on && -h $s) || ($dir == on && ! -h $s)) && ! -d ${s#$x/} ]] ; then - s="${s}/" - fi - COMPREPLY[o++]=${s#$x/} - done - ((${#COMPREPLY[@]} == 0)) || let isdir++ - done + if test ${#COMPREPLY[@]} -gt 0 ; then + _cdpath_ "$c" + ((${#COMPREPLY[@]} == 0)) || let isdir++ fi _compreply_ $isdir ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org