Subject: Re: "xargs: A: No such file or directory"
To: None <tech-userlevel@NetBSD.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-userlevel
Date: 03/30/2005 18:43:30
>> xargs: A: No such file or directory
> The "print-pkg-size-this" target in pkgsrc/mk/bsd.pkg.mk runs
> "${XARGS} -n 256 ${LS} -ld".  This will not play nicely with LS=A in
> your environment.

Aha.  Yes, that explains it neatly.

Does this mean I now have slightly broken installed packages?  Based on
the target name and what the command is doing, I would guess the answer
is no, that this is just to print information for humans reading the
output, rather than doing anything with lasting effects.  Correct?

> The workaround is to unset ${LS} in your environment before doing
> pkgsrc builds.

Yes, and that's what I'll do for the immediate future.

> The fix is to change ${LS} to ${LS_CMD} in all the pkgsrc and base
> system makefiles.

Well, more generally, what if the user has $LS_CMD set?  There rather
needs to be some kind of separation between user namespace and system
namespace here, it seems to me, and it doesn't look as though it exists
at the moment.

Why is ${LS} used rather than a simple "ls"?  What is that trying to
accomplish?  I wonder if that goal could be better met some other way,
or something, because it looks to me as though the current scheme is
rather fragile because it depends on a whole raft of environment
variables either not existing or naming what the makefiles expect them
to name.

/~\ The ASCII				der Mouse
\ / Ribbon Campaign
 X  Against HTML	       mouse@rodents.montreal.qc.ca
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B