[pacman-dev] makepkg bash-3.2 issue

Allan McRae allan at archlinux.org
Wed Feb 2 20:00:05 EST 2011


On 03/02/11 10:44, Dave Reisner wrote:
> 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[@]}
>

Of course...   It all seems so simple now!

Thanks,
Allan


More information about the pacman-dev mailing list