Re: [Qemu-devel] [PATCH] Add new user mode option -ignore-environment
Stefan Weil w...@mail.berlios.de writes: Am 16.07.2010 09:04, schrieb Markus Armbruster: Stefan Weilw...@mail.berlios.de writes: An empty environment is sometimes useful in user mode. The new option provides it for linux-user and bsd-user (darwin-user still has no environment related options). Stupid question: why is /usr/bin/env insufficient? [...] Hi Markus, was your question answered (and can Antony commit this change to QEMU master)? I don't mind.
Re: [Qemu-devel] [PATCH] Add new user mode option -ignore-environment
Am 16.07.2010 09:04, schrieb Markus Armbruster: Stefan Weilw...@mail.berlios.de writes: An empty environment is sometimes useful in user mode. The new option provides it for linux-user and bsd-user (darwin-user still has no environment related options). Stupid question: why is /usr/bin/env insufficient? [...] Hi Markus, was your question answered (and can Antony commit this change to QEMU master)? Regards Stefan
Re: [Qemu-devel] [PATCH] Add new user mode option -ignore-environment
On 09/09/2010 12:30 PM, Stefan Weil wrote: Am 16.07.2010 09:04, schrieb Markus Armbruster: Stefan Weilw...@mail.berlios.de writes: An empty environment is sometimes useful in user mode. The new option provides it for linux-user and bsd-user (darwin-user still has no environment related options). Stupid question: why is /usr/bin/env insufficient? [...] Hi Markus, was your question answered (and can Antony commit this change to QEMU master)? Riku is the linux-user maintainer so it really ought to go through his tree. Regards, Anthony Liguori Regards Stefan
Re: [Qemu-devel] [PATCH] Add new user mode option -ignore-environment
Am 01.08.2010 13:48, schrieb Stefan Weil: Am 16.07.2010 15:09, schrieb Stefan Weil: Am 16.07.2010 09:04, schrieb Markus Armbruster: Stefan Weilw...@mail.berlios.de writes: An empty environment is sometimes useful in user mode. The new option provides it for linux-user and bsd-user (darwin-user still has no environment related options). Stupid question: why is /usr/bin/env insufficient? [...] In most cases it is sufficient (but not always available - Windows...). The options -U and -E are also redundant and can be replaced by /usr/bin/env. But -U and -E exist, so completing the set of environment related options seems to be logical. The name of the new option was inspired by /usr/bin/env! And finally, there is a use case where /usr/bin/env is a bad choice: just look for getenv and you will find one in linux-user/main.c. Removing the environment via /usr/bin/env will also remove environment variables which are read by qemu's runtime code. Is there any more feedback on this patch? Or can it be commited to git master? Ping? The patch is still missing. Regards, Stefan
Re: [Qemu-devel] [PATCH] Add new user mode option -ignore-environment
Am 16.07.2010 15:09, schrieb Stefan Weil: Am 16.07.2010 09:04, schrieb Markus Armbruster: Stefan Weilw...@mail.berlios.de writes: An empty environment is sometimes useful in user mode. The new option provides it for linux-user and bsd-user (darwin-user still has no environment related options). Stupid question: why is /usr/bin/env insufficient? [...] In most cases it is sufficient (but not always available - Windows...). The options -U and -E are also redundant and can be replaced by /usr/bin/env. But -U and -E exist, so completing the set of environment related options seems to be logical. The name of the new option was inspired by /usr/bin/env! And finally, there is a use case where /usr/bin/env is a bad choice: just look for getenv and you will find one in linux-user/main.c. Removing the environment via /usr/bin/env will also remove environment variables which are read by qemu's runtime code. Is there any more feedback on this patch? Or can it be commited to git master?
Re: [Qemu-devel] [PATCH] Add new user mode option -ignore-environment
Stefan Weil w...@mail.berlios.de writes: An empty environment is sometimes useful in user mode. The new option provides it for linux-user and bsd-user (darwin-user still has no environment related options). Stupid question: why is /usr/bin/env insufficient? [...]
Re: [Qemu-devel] [PATCH] Add new user mode option -ignore-environment
Am 16.07.2010 09:04, schrieb Markus Armbruster: Stefan Weilw...@mail.berlios.de writes: An empty environment is sometimes useful in user mode. The new option provides it for linux-user and bsd-user (darwin-user still has no environment related options). Stupid question: why is /usr/bin/env insufficient? [...] In most cases it is sufficient (but not always available - Windows...). The options -U and -E are also redundant and can be replaced by /usr/bin/env. But -U and -E exist, so completing the set of environment related options seems to be logical. The name of the new option was inspired by /usr/bin/env! And finally, there is a use case where /usr/bin/env is a bad choice: just look for getenv and you will find one in linux-user/main.c. Removing the environment via /usr/bin/env will also remove environment variables which are read by qemu's runtime code.
[Qemu-devel] [PATCH] Add new user mode option -ignore-environment
An empty environment is sometimes useful in user mode. The new option provides it for linux-user and bsd-user (darwin-user still has no environment related options). The patch also adds the documentation for other environment related options. Signed-off-by: Stefan Weil w...@mail.berlios.de --- bsd-user/main.c |6 ++ linux-user/main.c |6 ++ qemu-doc.texi | 14 ++ 3 files changed, 26 insertions(+), 0 deletions(-) diff --git a/bsd-user/main.c b/bsd-user/main.c index aff9f13..6b12f8b 100644 --- a/bsd-user/main.c +++ b/bsd-user/main.c @@ -795,6 +795,12 @@ int main(int argc, char **argv) r = argv[optind++]; if (envlist_setenv(envlist, r) != 0) usage(); +} else if (!strcmp(r, ignore-environment)) { +envlist_free(envlist); +if ((envlist = envlist_create()) == NULL) { +(void) fprintf(stderr, Unable to allocate envlist\n); +exit(1); +} } else if (!strcmp(r, U)) { r = argv[optind++]; if (envlist_unsetenv(envlist, r) != 0) diff --git a/linux-user/main.c b/linux-user/main.c index 403c8d3..bf60922 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -2759,6 +2759,12 @@ int main(int argc, char **argv, char **envp) r = argv[optind++]; if (envlist_setenv(envlist, r) != 0) usage(); +} else if (!strcmp(r, ignore-environment)) { +envlist_free(envlist); +if ((envlist = envlist_create()) == NULL) { +(void) fprintf(stderr, Unable to allocate envlist\n); +exit(1); +} } else if (!strcmp(r, U)) { r = argv[optind++]; if (envlist_unsetenv(envlist, r) != 0) diff --git a/qemu-doc.texi b/qemu-doc.texi index e67bf44..ec7820e 100644 --- a/qemu-doc.texi +++ b/qemu-doc.texi @@ -2136,6 +2136,13 @@ Set the x86 elf interpreter prefix (default=/usr/local/qemu-i386) Set the x86 stack size in bytes (default=524288) @item -cpu model Select CPU model (-cpu ? for list and additional feature selection) +...@item -ignore-environment +Start with an empty environment. Without this option, +the inital environment is a copy of the caller's environment. +...@item -E @var{va...@var{value} +Set environment @var{var} to @var{value}. +...@item -U @var{var} +Remove @var{var} from the environment. @item -B offset Offset guest address by the specified number of bytes. This is useful when the address region required by guest applications is reserved on the host. @@ -2359,6 +2366,13 @@ Print the help Set the library root path (default=/) @item -s size Set the stack size in bytes (default=524288) +...@item -ignore-environment +Start with an empty environment. Without this option, +the inital environment is a copy of the caller's environment. +...@item -E @var{va...@var{value} +Set environment @var{var} to @var{value}. +...@item -U @var{var} +Remove @var{var} from the environment. @item -bsd type Set the type of the emulated BSD Operating system. Valid values are FreeBSD, NetBSD and OpenBSD (default). -- 1.7.1