]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
pgflex: propagate environment to flex subprocess
authorPeter Eisentraut <peter@eisentraut.org>
Mon, 30 Jun 2025 10:23:33 +0000 (12:23 +0200)
committerPeter Eisentraut <peter@eisentraut.org>
Mon, 30 Jun 2025 10:24:48 +0000 (12:24 +0200)
Python's subprocess.run docs say that if the env argument is not None,
it will be used "instead of the default behavior of inheriting the
current process’ environment".  However, the environment should be
preserved, only adding FLEX_TMP_DIR to it.

Author: Javier Maestro <jjmaestro@ieee.org>
Discussion: https://www.postgresql.org/message-id/flat/CABvji06GUpmrTqqiCr6_F9vRL2-JUSVAh8ChgWa6k47FUCvYmA%40mail.gmail.com

src/tools/pgflex

index 3986b06874e759112c3964d7cdb115bab4ee4136..b8d9aa0086fbb9fb51abdfb8dadf246e4eec0fe9 100755 (executable)
@@ -48,7 +48,7 @@ os.chdir(args.privatedir)
 # contents. Set FLEX_TMP_DIR to the target private directory to avoid
 # that. That environment variable isn't consulted on other platforms, so we
 # don't even need to make this conditional.
-env = {'FLEX_TMP_DIR': args.privatedir}
+os.environ['FLEX_TMP_DIR'] = args.privatedir
 
 # build flex invocation
 command = [args.flex, '-o', args.output_file]
@@ -58,7 +58,7 @@ command += args.flex_flags
 command += [args.input_file]
 
 # create .c file from .l file
-sp = subprocess.run(command, env=env)
+sp = subprocess.run(command)
 if sp.returncode != 0:
     sys.exit(sp.returncode)