Subject: Re: bug#17774: AIX and lbracket ([) program - will not install on AIX using installp

From: Paul Eggert <[email-masked]>
Date: Fri, 13 Jun 2014 08:09:26 -0700

Michael Felt wrote:
> But to have a name like that, I must be too old fashioned -
> where is the win?

It's so that execlp ("FOO") acts like the shell command FOO, or, more 
precisely, so that the attached C program works like '[ -d / ]' at the 
shell level.  POSIX requires that all standard utilities (except for a 
very short list) must work the same way from a C program as from the 
shell.  See the last sentence of:

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap01.html#tag_17_06

'[' is not on the list of exceptions, so coreutils arranges for it to be 
an executable, as POSIX requires.

> AIX does not
> permit files in an installp package are refused when they include certain
> special characters

It may be simpler to just omit '[' from your installp package (I assume 
that's some downstream thing).  I doubt whether anybody but POSIX nerds 
will care.  AIX itself doesn't seem to be POSIX-conforming here, as the 
attached C program fails on AIX.  (If *you* are a POSIX nerd please feel 
free to file a bug report with IBM....)