From: tlaronde@polynum.com
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: [9fans] APE notes
Date: Tue, 13 Apr 2010 20:52:24 +0200 [thread overview]
Message-ID: <20100413185224.GA1207@polynum.com> (raw)
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
next reply other threads:[~2010-04-13 18:52 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-13 18:52 tlaronde [this message]
2010-04-13 19:04 ` Stuart Morrow
2010-04-13 19:47 ` Federico G. Benavento
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100413185224.GA1207@polynum.com \
--to=tlaronde@polynum.com \
--cc=9fans@9fans.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).