On Thu, May 6, 2010 at 6:32 PM, Eric Blake <[email protected]> wrote:
> On 05/06/2010 09:13 AM, Ludovic Courtès wrote:
>>> Even if it is also available as a shell builtin, that does not
>>> alleviate the requirement to also have it available on $PATH.
>>
>> echo(1) *is* available in $PATH in the build environment, just like all
>> of Coreutils.
>>
>> What would you think of ‘--with-echo’?
>
> Why is xargs blindly calling /bin/echo?

I don't know, it's been that way since the first checkin in the
(current) repository, dating from 1996.


> Wouldn't it just be simpler to
> change xargs.c' definition of default_cmd to be "echo" instead of
> "/bin/echo" and using execvp instead of execve?

I guess there will be a slight performance penalty, but if we want to
prevent that we have the option of searching the path for the binary
and using the absolute path.


> In a compliant
> environment, you are guaranteed that echo(1) is on PATH, and calling the
> wrong echo because of a non-compliant environment is not really xargs'
> concern.  In other words, instead of making it more complex by adding
> configure --with-echo, I propose making it simpler by dropping the
> hard-coding in the first place.

I guess it makes sense.   Would you like to go ahead and make the change?

James.


Reply via email to