Hello,

These notes about APE could be of some use to others.

Context : I'm verifying that my compilation framework, made for POSIX,
is able to work for Plan9 too (for TeX and al.: everything works on
Unix, so time to verify the whole thing on Plan9).

Note: this is not a plea to add more. ape/psh is not supposed, IMO, to
end in profile...

- some utilities are included in POSIX.2, but are not in Plan9,
including under APE : find(1), id(1), expr(1) --- of course ln(1)---. 
These are just the ones I stumbled upon since they were used in my
scripts. I have find a way, so you may find one to do differently.
Note: expr(1) is typically a thing I do _not_ use, since I always feel
uncomfortable with it; but I guess I wanted to "optimize" and avoid
forking a "| sed ..." -> that just highlights indeed that an interpreter
must have regexp handling natively à la rc(1) ~.

- "grep -q" (with -s) is in SUS.v3, but Plan9 has "only" traditionnal 
"grep -s". To not be eaten by a system that has "-q" and not "-s", I 
ended with grep ... >/dev/null 2>&1.

- sed(1) does not support single character duplication : \{m,n\}---I
have "unrolled" the patterns, since ".+" is not supported by POSIX
sed(1) (..* does the thing in this case for example).

- I have been hit by aux/getflags I think that doesn't like too many
arguments (typically a sed(1) with a bunch of "-e s/.../.../g"). I have
simply put the rules in a temporary file, and used sed -f.
-- 
        Thierry Laronde <tlaronde +AT+ polynum +dot+ com>
                      http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C

Reply via email to