Re: [Openvpn-devel] [PATCH 1/1] configure.ac: replace set with env
On 06/01/2020 09:04, Christian Hesse wrote: From: Christian Hesse The shell builtin `set` produces different output for different shells: bash$ set | grep '^TERM=' TERM=xterm dash$ set | grep '^TERM=' TERM='xterm' This may break reproducible builds depending on what shell is used. Let's replace `set` with `env`, which is a real command and always produces identical output. Hi, Spotted this one now, lingering for way too long. And it looked trivial. Except it doesn't give the expected outcome on my RHEL-8 machine. The CONFIGURE_DEFINES macro in config.h ends up empty. Reverting this patch alone, and it comes back again. So, I'm sorry, I can't ack this one. -- kind regards, David Sommerseth OpenVPN Inc ___ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel
Re: [Openvpn-devel] [PATCH 1/1] configure.ac: replace set with env
Tom Yan on Mon, 2020/01/06 08:48: > How about printenv (without grep)? The variables are not known in advance. This needs to match all variables starting with "enable_" and "with_". -- main(a){char*c=/*Schoene Gruesse */"B?IJj;MEH" "CX:;",b;for(a/*Best regards my address:*/=0;b=c[a++];) putchar(b-1/(/*Chriscc -ox -xc - && ./x*/b/42*2-3)*42);} pgpLW26T7v6T8.pgp Description: OpenPGP digital signature ___ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel
Re: [Openvpn-devel] [PATCH 1/1] configure.ac: replace set with env
Hi, On Mon, Jan 06, 2020 at 08:48:00AM +, Tom Yan wrote: > How about printenv (without grep)? Portability. "env |grep" is POSIX standardized so should work everywhere. printenv is a BSD invention, which not all unix variants are required to have. (Besides, printenv on its own cannot do "give me all environment variables that start with 'with_'", which is exactly what we want here... so you'd end up with "printenv | grep", which is less portable and more characters) gert -- "If was one thing all people took for granted, was conviction that if you feed honest figures into a computer, honest figures come out. Never doubted it myself till I met a computer with a sense of humor." Robert A. Heinlein, The Moon is a Harsh Mistress Gert Doering - Munich, Germany g...@greenie.muc.de signature.asc Description: PGP signature ___ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel
Re: [Openvpn-devel] [PATCH 1/1] configure.ac: replace set with env
How about printenv (without grep)? From: Christian Hesse Sent: Monday, January 6, 2020 4:04:26 PM To: OpenVPN Development Cc: Christian Hesse Subject: [Openvpn-devel] [PATCH 1/1] configure.ac: replace set with env From: Christian Hesse The shell builtin `set` produces different output for different shells: bash$ set | grep '^TERM=' TERM=xterm dash$ set | grep '^TERM=' TERM='xterm' This may break reproducible builds depending on what shell is used. Let's replace `set` with `env`, which is a real command and always produces identical output. Signed-off-by: Christian Hesse --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index a47e0a06..f13ff7b6 100644 --- a/configure.ac +++ b/configure.ac @@ -1326,7 +1326,7 @@ if test "${enable_async_push}" = "yes"; then ) fi -CONFIGURE_DEFINES="`set | grep '^enable_.*=' ; set | grep '^with_.*='`" +CONFIGURE_DEFINES="`env | grep '^enable_.*=' ; env | grep '^with_.*='`" AC_DEFINE_UNQUOTED([CONFIGURE_DEFINES], ["`echo ${CONFIGURE_DEFINES}`"], [Configuration settings]) TAP_WIN_COMPONENT_ID="PRODUCT_TAP_WIN_COMPONENT_ID" ___ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel ___ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel
[Openvpn-devel] [PATCH 1/1] configure.ac: replace set with env
From: Christian Hesse The shell builtin `set` produces different output for different shells: bash$ set | grep '^TERM=' TERM=xterm dash$ set | grep '^TERM=' TERM='xterm' This may break reproducible builds depending on what shell is used. Let's replace `set` with `env`, which is a real command and always produces identical output. Signed-off-by: Christian Hesse --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index a47e0a06..f13ff7b6 100644 --- a/configure.ac +++ b/configure.ac @@ -1326,7 +1326,7 @@ if test "${enable_async_push}" = "yes"; then ) fi -CONFIGURE_DEFINES="`set | grep '^enable_.*=' ; set | grep '^with_.*='`" +CONFIGURE_DEFINES="`env | grep '^enable_.*=' ; env | grep '^with_.*='`" AC_DEFINE_UNQUOTED([CONFIGURE_DEFINES], ["`echo ${CONFIGURE_DEFINES}`"], [Configuration settings]) TAP_WIN_COMPONENT_ID="PRODUCT_TAP_WIN_COMPONENT_ID" ___ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel