On 01/06/2011 07:11 AM, Daniel P. Berrange wrote:
On Thu, Jan 06, 2011 at 02:56:21PM +0100, Diego Elio Pettenò wrote:
> In Gentoo we sandbox software installation with a software called
> sandbox, which basically is a preloaded library that wraps around a
> number of file access functions.
>
> This method seems to break commandtest because the environment now has a
> LD_PRELOAD variable in it, which is not accounted for in the
> pre-generated log files.
>
> Any idea how I should go about to solve this beside adding LD_PRELOAD to
> the log files themselves for Gentoo?
We should add
unsetenv(LD_PRELOAD)
unsetenv(LD_LIBRARY_PATH)
to commandtest.c, because although we want these env variables
in normal usage of the virCommandPtr APIs, they're not desirable
in this test case. Since commandtesthelper doesn't do anything
to the system beyond creating a logfile, I imagine it'd work
fine without gentoo's LD_PRELOAD
Another alternative might be to keep LD_PRELOAD and LD_LIBRARY_PATH
untouched (in case they do prove to be important for figuring out how to
run the child process), but patch commandhelper.c to omit outputting
those two environment variables (they are too unpredictable, and enough
other envvars are tested to make us feel confident that virCommand is
doing the right thing).
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org