summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-02-28 08:27:56 +0000
committerZac Medico <zmedico@gentoo.org>2009-02-28 08:27:56 +0000
commit1aea678de5d31f3847e347e0233b1fcb18a80b93 (patch)
tree10d5270947a7b926daad6cd553df23e40e95151c
parentdfc897f21bb3ad74e134cded53fefce9f0f6e63d (diff)
downloadportage-1aea678de5d31f3847e347e0233b1fcb18a80b93.tar.gz
portage-1aea678de5d31f3847e347e0233b1fcb18a80b93.tar.bz2
portage-1aea678de5d31f3847e347e0233b1fcb18a80b93.zip
When checking ebuild content, use codecs.open() to force utf_8 encoding for
py3k compatibility (all ebuilds should have utf_8 encoding). svn path=/main/trunk/; revision=12733
-rwxr-xr-xbin/repoman18
1 files changed, 11 insertions, 7 deletions
diff --git a/bin/repoman b/bin/repoman
index eaa03f749..318bc1ca0 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -1444,14 +1444,18 @@ for x in scanlist:
# Syntax Checks
relative_path = os.path.join(x, y + ".ebuild")
full_path = os.path.join(repodir, relative_path)
- f = open(full_path)
try:
- for check_name, e in run_checks(f, pkg):
- stats[check_name] += 1
- fails[check_name].append(relative_path + ': %s' % e)
- finally:
- f.close()
- del f
+ # All ebuilds should have utf_8 encoding.
+ f = codecs.open(full_path, mode='r', encoding='utf_8')
+ try:
+ for check_name, e in run_checks(f, pkg):
+ stats[check_name] += 1
+ fails[check_name].append(relative_path + ': %s' % e)
+ finally:
+ f.close()
+ except UnicodeDecodeError:
+ # A file.UTF8 failure will have already been recorded above.
+ pass
if options.force:
# The dep_check() calls are the most expensive QA test. If --force