Re: [Qemu-devel] [PATCH] Add new user mode option -ignore-environment

2010-09-10 Thread Markus Armbruster
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

2010-09-09 Thread 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?

[...]
   


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

2010-09-09 Thread Anthony Liguori

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

2010-08-11 Thread Stefan Weil

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

2010-08-01 Thread 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?




Re: [Qemu-devel] [PATCH] Add new user mode option -ignore-environment

2010-07-16 Thread Markus Armbruster
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

2010-07-16 Thread 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.




[Qemu-devel] [PATCH] Add new user mode option -ignore-environment

2010-07-15 Thread Stefan Weil
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