[pacman-dev] makepkg bash-3.2 issue

Dave Reisner d at falconindy.com
Wed Feb 2 19:44:23 EST 2011


On Thu, Feb 03, 2011 at 10:33:45AM +1000, Allan McRae wrote:
> Hi,
> 
> Can anyone give me a fix for this:
> 
> 
> local optdepends_list
> eval $(awk '/^[[:space:]]*optdepends=/,/\)/' "$BUILDFILE" | sed
> "s/optdepends=/optdepends_list+=/")
> 
> In bash-3.2, this gives optdepends_list with "" as the first item in
> the array. It appears that declaring a local variable in bash-3.2
> causes it to be given a blank value:
> 
> bash-4.1
> > declare optdepends_list
> > echo ${#optdepends_list[@]}
> 0
> 
> bash-3.2
> > declare optdepends_list
> > echo ${#optdepends_list[@]}
> 1
> 
> 
> Anyone know how to work around this?
> 
> Allan
> 

Sure, just initialize the array as empty.

$ declare foo=()
$ echo ${#foo[@]}

dave


More information about the pacman-dev mailing list