1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-30 11:03:19 +03:00

pgflex: propagate environment to flex subprocess

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
This commit is contained in:
Peter Eisentraut
2025-06-30 12:23:33 +02:00
parent cc2ac0e6f9
commit 40a96cd148

View File

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