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

From: Michael Felt <[email-masked]>
Date: Sat, 14 Jun 2014 17:54:36 +0200

Yes, I suppose I could just delete it. However, my comment is "also" that
at 8.15 it packaged fine. Starting with 8.17 (or maybe 8.16, I can download
and try).

FYI - I can execute the program [ (as ./? --version as the shell does not
like [ entered directly, and I am not counting the backslashes correctly).
So, maybe your sample program would execute. I will try it in a day or so,
just checking mail for now.

On Fri, Jun 13, 2014 at 5:09 PM, Paul Eggert <[email-masked]> wrote:

> 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....)
>