summaryrefslogtreecommitdiffstats
path: root/pym/portage
diff options
context:
space:
mode:
Diffstat (limited to 'pym/portage')
-rw-r--r--pym/portage/elog/messages.py6
-rw-r--r--pym/portage/package/ebuild/prepare_build_dirs.py4
-rw-r--r--pym/portage/util/ExtractKernelVersion.py2
3 files changed, 10 insertions, 2 deletions
diff --git a/pym/portage/elog/messages.py b/pym/portage/elog/messages.py
index 6c1580a37..50e0ab10a 100644
--- a/pym/portage/elog/messages.py
+++ b/pym/portage/elog/messages.py
@@ -43,9 +43,10 @@ def collect_ebuild_messages(path):
logentries[msgfunction] = []
lastmsgtype = None
msgcontent = []
- for l in io.open(_unicode_encode(filename,
+ f = io.open(_unicode_encode(filename,
encoding=_encodings['fs'], errors='strict'),
- mode='r', encoding=_encodings['repo.content'], errors='replace'):
+ mode='r', encoding=_encodings['repo.content'], errors='replace')
+ for l in f:
if not l:
continue
try:
@@ -65,6 +66,7 @@ def collect_ebuild_messages(path):
logentries[msgfunction].append((lastmsgtype, msgcontent))
msgcontent = [msg]
lastmsgtype = msgtype
+ f.close()
if msgcontent:
logentries[msgfunction].append((lastmsgtype, msgcontent))
diff --git a/pym/portage/package/ebuild/prepare_build_dirs.py b/pym/portage/package/ebuild/prepare_build_dirs.py
index 12c80ed29..6de486acf 100644
--- a/pym/portage/package/ebuild/prepare_build_dirs.py
+++ b/pym/portage/package/ebuild/prepare_build_dirs.py
@@ -119,11 +119,13 @@ def _adjust_perms_msg(settings, msg):
background = settings.get("PORTAGE_BACKGROUND") == "1"
log_path = settings.get("PORTAGE_LOG_FILE")
log_file = None
+ log_file_real = None
if background and log_path is not None:
try:
log_file = open(_unicode_encode(log_path,
encoding=_encodings['fs'], errors='strict'), mode='ab')
+ log_file_real = log_file
except IOError:
def write(msg):
pass
@@ -140,6 +142,8 @@ def _adjust_perms_msg(settings, msg):
finally:
if log_file is not None:
log_file.close()
+ if log_file_real is not log_file:
+ log_file_real.close()
def _prepare_features_dirs(mysettings):
diff --git a/pym/portage/util/ExtractKernelVersion.py b/pym/portage/util/ExtractKernelVersion.py
index 5cb9747e6..49957f5fb 100644
--- a/pym/portage/util/ExtractKernelVersion.py
+++ b/pym/portage/util/ExtractKernelVersion.py
@@ -37,6 +37,8 @@ def ExtractKernelVersion(base_dir):
return (None, str(details))
except IOError as details:
return (None, str(details))
+ finally:
+ f.close()
lines = [l.strip() for l in lines]