FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 05-30-2012, 12:11 AM
Christoph Junghans
 
Default RFC: Virtual for awk implementation

Hi,

recently I stumbled across a problem with mawk, which is apprearly
Ubuntu's default awk interpreter.
This brought the idea to my mind of adding a virtual for awk. Beside
the fact that we already have 3 awk interpreters in gx86 (gawk, mawk
and busybox awk), there are other ones like nawk and awka.

I had some discussions with spanKY on that topic in bug #415689, which
summarizes in the following:

Advantages:
- mawk is faster - useful for scientific purposes
- busybox awk could replace gawk on minimal systems
- more POSIX conform systems

Disadvantages:
- some awk code in the tree and portage is probably using GNU
extensions without executing gawk explicitly
- gray zone of Posix 1003.2 (e.g. substr() function and an index of 0)

What we would need:
- virtual/awk
- app-admin/eselect-awk (version available in cj-overlay)
and
- testing and migration of existing packages using gawk
<http://qa-reports.gentoo.org/output/genrdeps/rindex/sys-apps/gawk>
and
<http://qa-reports.gentoo.org/output/genrdeps/dindex/sys-apps/gawk>
to name a few.

I have tested mawk as default interpreter for a while on my x86 boxes
and didn't observed any problems so far.

Cheers,

Christoph

--
Christoph Junghans
http://dev.gentoo.org/~ottxor/
 
Old 05-30-2012, 06:29 PM
Florian Philipp
 
Default RFC: Virtual for awk implementation

Am 30.05.2012 02:11, schrieb Christoph Junghans:
> Hi,
>
> recently I stumbled across a problem with mawk, which is apprearly
> Ubuntu's default awk interpreter.
> This brought the idea to my mind of adding a virtual for awk. Beside
> the fact that we already have 3 awk interpreters in gx86 (gawk, mawk
> and busybox awk), there are other ones like nawk and awka.
>
> I had some discussions with spanKY on that topic in bug #415689, which
> summarizes in the following:
>
> Advantages:
> - mawk is faster - useful for scientific purposes
> - busybox awk could replace gawk on minimal systems
> - more POSIX conform systems
>
> Disadvantages:
> - some awk code in the tree and portage is probably using GNU
> extensions without executing gawk explicitly
> - gray zone of Posix 1003.2 (e.g. substr() function and an index of 0)
>
[...]
>
> I have tested mawk as default interpreter for a while on my x86 boxes
> and didn't observed any problems so far.
>
> Cheers,
>
> Christoph
>

An easy easy way to crash mawk is opening many different files.

mkdir -p mkdir /tmp/foo; find "$HOME" -type f -printf '%f %s
' |
gawk '{ print $2 > "/tmp/foo/" $1 }'

--> Fills /tmp/foo with small files

mkdir -p mkdir /tmp/foo; find "$HOME" -type f -printf '%f %s
' |
mawk '{ print $2 > "/tmp/foo/" $1 }'

--> Crashes with error 'mawk: cannot open "/tmp/foo/7B090d01" for output
(Too many open files)'

Probably not the cleverest approach to this but just a reminder that
there are still subtle differences.

That being said, +1 for giving the choice.

Regards,
Florian Philipp
 
Old 05-30-2012, 06:39 PM
Florian Philipp
 
Default RFC: Virtual for awk implementation

Am 30.05.2012 20:29, schrieb Florian Philipp:
>
> mkdir -p mkdir /tmp/foo; find "$HOME" -type f -printf '%f %s
' |
> gawk '{ print $2 > "/tmp/foo/" $1 }'
>
> --> Fills /tmp/foo with small files
>
> mkdir -p mkdir /tmp/foo; find "$HOME" -type f -printf '%f %s
' |
> mawk '{ print $2 > "/tmp/foo/" $1 }'
>
> --> Crashes with error 'mawk: cannot open "/tmp/foo/7B090d01" for output
> (Too many open files)'
>
> Probably not the cleverest approach to this but just a reminder that
> there are still subtle differences.
>
> That being said, +1 for giving the choice.
>
> Regards,
> Florian Philipp

s/mkdir -p mkdir/mkdir -p/g
 

Thread Tools




All times are GMT. The time now is 08:17 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org