diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-03-08 22:35:43 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-03-08 22:35:43 -0800 |
commit | c0177a6e01e0919164f373c3cc130a265e8cf27c (patch) | |
tree | 98eb47f354c87df8c8cb639d22719e7b4f523d73 | |
parent | badeb48eae2a1d429902f654c2de60d67283ded7 (diff) | |
download | portage-c0177a6e01e0919164f373c3cc130a265e8cf27c.tar.gz portage-c0177a6e01e0919164f373c3cc130a265e8cf27c.tar.bz2 portage-c0177a6e01e0919164f373c3cc130a265e8cf27c.zip |
install-info: avoid unnecessary shell
-rw-r--r-- | pym/_emerge/main.py | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py index 45ca6f5fa..c1adced3d 100644 --- a/pym/_emerge/main.py +++ b/pym/_emerge/main.py @@ -1,4 +1,4 @@ -# Copyright 1999-2011 Gentoo Foundation +# Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 from __future__ import print_function @@ -6,6 +6,7 @@ from __future__ import print_function import logging import signal import stat +import subprocess import sys import textwrap import platform @@ -179,11 +180,21 @@ def chk_updated_info_files(root, infodirs, prev_mtimes, retval): raise del e processed_count += 1 - myso = portage.subprocess_getstatusoutput( - "LANG=C LANGUAGE=C /usr/bin/install-info " + - "--dir-file=%s/dir %s/%s" % (inforoot, inforoot, x))[1] + try: + proc = subprocess.Popen( + ['/usr/bin/install-info', + '--dir-file=%s' % os.path.join(inforoot, "dir"), + os.path.join(inforoot, x)], + env=dict(os.environ, LANG="C", LANGUAGE="C"), + stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + except OSError: + myso = None + else: + myso = _unicode_decode( + proc.communicate()[0]).rstrip("\n") + proc.wait() existsstr="already exists, for file `" - if myso!="": + if myso: if re.search(existsstr,myso): # Already exists... Don't increment the count for this. pass |