Subject: Re: "xargs: A: No such file or directory"
To: None <tech-userlevel@NetBSD.org>
From: Alan Barrett <apb@cequrux.com>
List: tech-userlevel
Date: 03/31/2005 15:08:57
On Wed, 30 Mar 2005, der Mouse wrote:
> >> 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.
> 
> 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 information goes into the "+SIZE_ALL" and "+SIZE_PKG" files, which
go in the binary package (foo.tgz) and in the /var/db/pkg/foo directory.
I think that there are tools that use it to figure out whether you have
enough disk space to install a new package.

> Why is ${LS} used rather than a simple "ls"?  What is that trying to
> accomplish?

pkgsrc also runs on non-NetBSD platforms, and the "ls" or "xargs" or
"sed" or "sh" or whatever that just happens to be lying around in the
PATH is not necessarily the one that pkgsrc wants to use.

> I wonder if that goal could be better met some other way,

Sure.  Just add a pkgsrc_bin directory at the front of the PATH, and
populate it with a bunch of symlinks or trivial shell scripts.  But
this seems like a lot of effort for a problem that few people have ever
encountered.

--apb (Alan Barrett)