diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-10-12 00:46:59 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-10-12 00:46:59 +0000 |
commit | 0df0405f8f963f38a9e048dcfdd200a389ce32a3 (patch) | |
tree | 7851f87ee5808a119062faa4e20ad752bfbd88b0 | |
parent | 0beb5745eab68662abbfd2764d20d0e7e8b5e86a (diff) | |
download | portage-0df0405f8f963f38a9e048dcfdd200a389ce32a3.tar.gz portage-0df0405f8f963f38a9e048dcfdd200a389ce32a3.tar.bz2 portage-0df0405f8f963f38a9e048dcfdd200a389ce32a3.zip |
Buge #241100 - Make EbuildFetcher use a pty when appropriate, so that fetcher
progress bars, like wget has, will work properly.
svn path=/main/trunk/; revision=11680
-rw-r--r-- | pym/_emerge/__init__.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 7e29d9eea..a392c2d71 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -2279,6 +2279,18 @@ class EbuildFetcher(SpawnProcess): self.env = fetch_env SpawnProcess._start(self) + def _pipe(self, fd_pipes): + """When appropriate, use a pty so that fetcher progress bars, + like wget has, will work properly.""" + if self.prefetch or self.background or not sys.stdout.isatty(): + # When the output only goes to a log file, + # there's no point in creating a pty. + return os.pipe() + stdout_pipe = fd_pipes.get(1) + got_pty, master_fd, slave_fd = \ + portage._create_pty_or_pipe(copy_term_size=stdout_pipe) + return (master_fd, slave_fd) + def _clean_builddir(self): """Uses shutil.rmtree() rather than spawning a 'clean' phase. Disabled by keepwork or keeptemp in FEATURES.""" |