diff options
Diffstat (limited to 'pym/portage')
-rw-r--r-- | pym/portage/elog/messages.py | 6 | ||||
-rw-r--r-- | pym/portage/package/ebuild/prepare_build_dirs.py | 4 | ||||
-rw-r--r-- | pym/portage/util/ExtractKernelVersion.py | 2 |
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] |