postgres.git / summary / log / commit / refs

commit    19a08ef7d3a8cd8327289c2183f8402d6b7dade9
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Sat Dec 01 22:23:55 2012 +0000

    Prevent passing gmake's environment variables down through pg_regress.
    
    When we do "make install" to create a temp installation, we don't want
    that instance of make to try to communicate with any instance of make
    that might be calling us.  This is known to cause problems if the
    upper make has a -jN flag, and in principle could cause problems even
    without that.  Unset the relevant environment variables to prevent such
    issues.
    
    Andres Freund


src/test/regress/pg_regress.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 7d89318b270..d991a5ccc70 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -782,6 +782,19 @@ initialize_environment(void) doputenv("PGPORT", s); } + /* + * GNU make stores some flags in the MAKEFLAGS environment variable to + * pass arguments to its own children. If we are invoked by make, + * that causes the make invoked by us to think its part of the make + * task invoking us, and so it tries to communicate with the toplevel + * make. Which fails. + * + * Unset the variable to protect against such problems. We also reset + * MAKELEVEL to be certain the child doesn't notice the make above us. + */ + unsetenv("MAKEFLAGS"); + unsetenv("MAKELEVEL"); + /* * Adjust path variables to point into the temp-install tree */ [parent: 53a1c3123729]