Bootstrap script
Ralf Corsepius
ralf.corsepius at rtems.org
Mon Apr 14 06:50:57 UTC 2008
On Mon, 2008-04-14 at 17:38 +1200, Nigel Spon wrote:
> On 14/04/2008, at 4:27 PM, Ralf Corsepius wrote:
> > What does MacOSX's "man find" say?
>
> The synopsis specifies:
>
> find [-H | -L | -P] [-EXdsx] [-f pathname] pathname ... expression
> find [-H | -L | -P] [-EXdsx] -f pathname [pathname ...] expression
>
> It then remarks in the Bugs section that:
>
> As there is no delimiter separating options and file names or
> file names
> and the expression, it is difficult to specify files named -xdev
> or !.
> These problems are handled by the -f option and the getopt(3)
> ``--'' construct.
> struct.
>
> It looks as though pathname just isn't optional.
>
> I notice that all the uses of find in the bootstrap script under the
> 'clean' heading have already been adapted to this form; perhaps
> someone else has already encountered this.
Nope :) ...
> > * Which "find" is it?
> >
> > [Please check the output of:
> > which find
> > type -p find
> > find --version
> > ]
>
> Its in /usr/bin/find, it doesn't accept --version
>
> >
> > * Which shell are you using?
>
> tcsh
Geez ...
> > * Do you have white spaces or special characters in $PATH, cwd,
> > or $HOME?
>
> No - since the discovery that tilde is a second-class citizen I have
> been trying to avoid that. Unless you are about to tell me that
> underscore is thought of in the same way...
Nope, underscores are harmless.
The critical ones are tilde and white spaces, because they are subject
to globbing (cf. glob(3)). In a perfect world, they shouldn't have any
effect, but in real-world they trip over shell bugs and shell-script
bugs.
> > * Do you have any POSIX_* compatibility or similar environment
> > variables
> > set?
>
> Not that I know of. What should I look for?
Hard to know without having access to MacOSX ;)
Some OSes and tools (esp. GNU-versions) use flags or environment
variables to switch between different flavors of "POSIX-compliance" and
"proprietary behavior".
In most cases, they use environment variables prefixed with POSIX,
_POSIX or similar.
I had suspected you might have something active to enforce strict or
stricter POSIX-compliance. This isn't always a good idea, but provided
what you say, this doesn't seem to apply in your case.
Ralf
More information about the users
mailing list