diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-11-20 02:39:15 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-11-20 02:39:15 +0000 |
commit | b3f4024d3267e2b6348f1d3e3f07405ad68d1492 (patch) | |
tree | bdb32b9ce68d1041d9a9152f29f4c2498d3d2d05 /pym/portage/__init__.py | |
parent | 3a22aca8ad3eaef629f9abc5ddb0b8e976d82984 (diff) | |
download | portage-b3f4024d3267e2b6348f1d3e3f07405ad68d1492.tar.gz portage-b3f4024d3267e2b6348f1d3e3f07405ad68d1492.tar.bz2 portage-b3f4024d3267e2b6348f1d3e3f07405ad68d1492.zip |
Bug #247370 - Use a private PORTAGE_TMPDIR for --fetchonly mode in order
do avoid locking the normal build dir location (similar to bug #245231).
The EbuildFetchPretend class is renamed to EbuildFetchonly and it's used
for --fetchonly mode regardless of whether --pretend is enabled. Also,
fix stdout/stderr flushing in JobStatusDisplay.displayMessage() and
portage.spawn() to ensure output always occurs in the correct order when
displaying pkg_nofetch() output in --fetchonly mode.
svn path=/main/trunk/; revision=12006
Diffstat (limited to 'pym/portage/__init__.py')
-rw-r--r-- | pym/portage/__init__.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 91f5486d6..d53ac9b25 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -3056,11 +3056,12 @@ def spawn(mystring, mysettings, debug=0, free=0, droppriv=0, sesandbox=0, fakero # In some cases the above print statements don't flush stdout, so # it needs to be flushed before allowing a child process to use it # so that output always shows in the correct order. + stdout_filenos = (sys.stdout.fileno(), sys.stderr.fileno()) for fd in fd_pipes.itervalues(): - if fd == sys.stdout.fileno(): + if fd in stdout_filenos: sys.stdout.flush() - if fd == sys.stderr.fileno(): sys.stderr.flush() + break # The default policy for the sesandbox domain only allows entry (via exec) # from shells and from binaries that belong to portage (the number of entry |