Pass full environ copy to sdist subprocess
In order to tell pbr not to build release notes and create CHANGELOG and AUTHORS files, we need to pass flags in as environment variables. We can't just pass these flags though, as that will exclude the rest of the normal environment set in. So copy the current environment, append our updates, and pass that in explicitly to the subprocess call. Change-Id: Ia47e73b51b3216572d51399338e95bd4269a8d1d Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
This commit is contained in:
parent
c75a909d1f
commit
f402cde902
@ -13,6 +13,7 @@
|
|||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
|
|
||||||
@ -42,7 +43,14 @@ def check_call(*popenargs, timeout=None, **kwargs):
|
|||||||
LOG.debug('cwd = {}'.format(kwargs['cwd']))
|
LOG.debug('cwd = {}'.format(kwargs['cwd']))
|
||||||
LOG.debug('$ {}'.format(' '.join(cmd)))
|
LOG.debug('$ {}'.format(' '.join(cmd)))
|
||||||
|
|
||||||
completed = subprocess.run(*popenargs, **kwargs)
|
# Copy full environment to pass in so we can include any of our own
|
||||||
|
# environment variables with it.
|
||||||
|
env = os.environ.copy()
|
||||||
|
env_extras = kwargs.pop('env', None)
|
||||||
|
if env_extras:
|
||||||
|
env.update(env_extras)
|
||||||
|
|
||||||
|
completed = subprocess.run(*popenargs, env=env, **kwargs)
|
||||||
_multi_line_log(logging.DEBUG, completed.stdout.decode('utf-8'))
|
_multi_line_log(logging.DEBUG, completed.stdout.decode('utf-8'))
|
||||||
|
|
||||||
if completed.returncode:
|
if completed.returncode:
|
||||||
@ -74,10 +82,18 @@ def check_output(*popenargs, timeout=None, **kwargs):
|
|||||||
if 'stderr' not in kwargs:
|
if 'stderr' not in kwargs:
|
||||||
kwargs['stderr'] = subprocess.PIPE
|
kwargs['stderr'] = subprocess.PIPE
|
||||||
|
|
||||||
|
# Copy full environment to pass in so we can include any of our own
|
||||||
|
# environment variables with it.
|
||||||
|
env = os.environ.copy()
|
||||||
|
env_extras = kwargs.pop('env', None)
|
||||||
|
if env_extras:
|
||||||
|
env.update(env_extras)
|
||||||
|
|
||||||
completed = subprocess.run(*popenargs,
|
completed = subprocess.run(*popenargs,
|
||||||
stdout=subprocess.PIPE,
|
stdout=subprocess.PIPE,
|
||||||
timeout=timeout,
|
timeout=timeout,
|
||||||
check=True,
|
check=True,
|
||||||
|
env=env,
|
||||||
**kwargs)
|
**kwargs)
|
||||||
|
|
||||||
if completed.stderr:
|
if completed.stderr:
|
||||||
|
@ -86,18 +86,18 @@ def build_sdist(workdir, repo):
|
|||||||
python = '.tox/venv/bin/python3'
|
python = '.tox/venv/bin/python3'
|
||||||
else:
|
else:
|
||||||
python = 'python3'
|
python = 'python3'
|
||||||
|
|
||||||
# Set some flags to turn off pbr functionality that we don't need.
|
# Set some flags to turn off pbr functionality that we don't need.
|
||||||
# This is currently causing some failures, so for now we are not passing
|
flags = {
|
||||||
# along until we understand why.
|
'SKIP_GENERATE_RENO': '1',
|
||||||
# flags = {
|
'SKIP_GENERATE_AUTHORS': '1',
|
||||||
# 'SKIP_GENERATE_RENO': '1',
|
'SKIP_WRITE_GIT_CHANGELOG': '1',
|
||||||
# 'SKIP_GENERATE_AUTHORS': '1',
|
}
|
||||||
# 'SKIP_WRITE_GIT_CHANGELOG': '1',
|
|
||||||
# }
|
|
||||||
cmd = [python, 'setup.py', 'sdist', 'bdist_wheel']
|
cmd = [python, 'setup.py', 'sdist', 'bdist_wheel']
|
||||||
processutils.check_call(
|
processutils.check_call(
|
||||||
cmd,
|
cmd,
|
||||||
cwd=dest)
|
cwd=dest,
|
||||||
|
env=flags)
|
||||||
|
|
||||||
|
|
||||||
def check_readme_format(workdir, repo):
|
def check_readme_format(workdir, repo):
|
||||||
|
Loading…
Reference in New Issue
Block a user