From 8fea9670c77d4cebe8635b42e25b1ba65693107f Mon Sep 17 00:00:00 2001 From: Fabian Groffen Date: Mon, 24 Aug 2009 09:49:02 +0000 Subject: [PATCH] port LinkageMap encoding fix to LinkageMapMachO svn path=/main/branches/prefix/; revision=14147 --- pym/portage/dbapi/vartree.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py index 9188970b4..47c48a99f 100644 --- a/pym/portage/dbapi/vartree.py +++ b/pym/portage/dbapi/vartree.py @@ -837,6 +837,24 @@ class LinkageMapMachO(object): 2. realpath of object if object does not exist. """ + + os = _os_merge + + try: + _unicode_encode(obj, + encoding=_encodings['merge'], errors='strict') + except UnicodeEncodeError: + # The package appears to have been merged with a + # different value of sys.getfilesystemencoding(), + # so fall back to utf_8 if appropriate. + try: + _unicode_encode(obj, + encoding=_encodings['fs'], errors='strict') + except UnicodeEncodeError: + pass + else: + os = portage.os + abs_path = os.path.join(root, obj.lstrip(os.path.sep)) try: object_stat = os.stat(abs_path) -- 2.26.2