Subject: Re: textproc/nbsed broken on non-NetBSD systems
To: Alan Barrett <firstname.lastname@example.org>
From: Robert Lillack <email@example.com>
Date: 04/29/2005 21:45:33
Alan Barrett wrote:
> 1. Don't try to use nbsed like that. Instead, use
Well. "It wasn't me." Ironically, it's GNU sed's autoconf script which
does this kind of stuff.
> 3. Make nbsed (and all other nb* tools) use getopt() in a
> GNU-getopt-compatible way, by passing '+' as the first char of the
> option string, and by adding '+' as an explicit error case in the
> option processing switch.
Sounds good. But this won't help in the Solaris case. See below.
> 4. Make the autoconf stuff in pkgsrc/sysutils/libnbcompat smarter about
> deciding when to use its own getopt() implementation instead of the
> host OS's native getopt(). If it detects that the native getopt()
> has the bad GNU behaviour, it should decide to use its own getopt()
Unfortunately, this looks like the only real solution. But it smells
like overkill (ie. libnbcompat's getopt would effectively be used on
nearly every system).
On SunOS 5.8 this is a real problem for me, because getopt() _does_
shuffle the arguments around but does NOT return '-', when --x is given.
So, if you call "sed 's/a/b/' --x" it is interpreted as "sed 's/a/b/'"
and therefore hangs.
I think at least a switch to force building getopt, when SunOS <=5.8 is
detected in libnbcompat's autoconf script is the badly needed.
Well, thanks again,
+- Robert Lillack ------------------ firstname.lastname@example.org -+
/ Max Planck Institute for Mathematics in the Sciences /
+- Leipzig, Germany ----------- phone: +49-341-9959-693 -+