On 26/12/10 09:59, Nezmer wrote:
Hi,
In commit ef977865, awk was added as an external tool needed by makepkg.
As you know, there is different awk implementations out there. nawk is the implementation shipped by default in non-GNU systems As far as I know.
Unfortunately, awk usage in makepkg is not nawk-compatible.
Command:
%gawk '/^[[:space:]]*provides=/,/)/' B | sed "s/provides=/provides_list+=/"
Output:
provides_list+=('p1' 'p2' '3') # comment
Command:
% awk '/^[[:space:]]*provides=/,/)/' B | sed "s/provides=/provides_list+=/"
Output:
awk: illegal primary in regular expression ) at source line number 1 context is >>> /^[[:space:]]*provides=/,/)/<<<
======================
Anyway, what is awk doing here? Is it the same as: egrep '^\s*provides=\(.*\)'
No its not... it handles depends/provides arrays going over multiple lines. Perhaps there is a way that both gawk/nawk can do that using the same regex. That would be the best solution. Otherwise we need to either use gawk explicitly or do some autoconf stuff... Allan