commit:     d2c650f4d43916a217ffda1d0706d8d489d14cdc
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 24 19:20:49 2017 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Fri Mar 24 19:20:49 2017 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=d2c650f4

vartree: drop case-insensitivity code

ContentsCaseSensitivityManager already handles this, so we don't have to

 pym/portage/dbapi/vartree.py | 40 +++++++++++++++-------------------------
 1 file changed, 15 insertions(+), 25 deletions(-)

diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py
index 232697f72..d6ffa8110 100644
--- a/pym/portage/dbapi/vartree.py
+++ b/pym/portage/dbapi/vartree.py
@@ -1149,10 +1149,7 @@ class vardbapi(dbapi):
                                self._add_path("", pkg_hash)
 
                        for x in db._contents.keys():
-                               path = x[eroot_len:]
-                               if "case-insensitive-fs" in 
self._vardb.settings.features:
-                                       path = path.lower()
-                               self._add_path(path, pkg_hash)
+                               self._add_path(x[eroot_len:], pkg_hash)
 
                        self._vardb._aux_cache["modified"].add(cpv)
 
@@ -1334,8 +1331,6 @@ class vardbapi(dbapi):
 
                                                        if is_basename:
                                                                for p in 
dblink(cpv)._contents.keys():
-                                                                       if 
case_insensitive:
-                                                                               
p = p.lower()
                                                                        if 
os.path.basename(p) == name:
                                                                                
owners.append((cpv, dblink(cpv).
                                                                                
_contents.unmap_key(
@@ -1393,8 +1388,6 @@ class vardbapi(dbapi):
                                for path, name, is_basename in path_info_list:
                                        if is_basename:
                                                for p in dblnk._contents.keys():
-                                                       if case_insensitive:
-                                                               p = p.lower()
                                                        if os.path.basename(p) 
== name:
                                                                
search_pkg.results.append((dblnk,
                                                                        
dblnk._contents.unmap_key(
@@ -2944,21 +2937,18 @@ class dblink(object):
                        os_filename_arg.path.join(destroot,
                        filename.lstrip(os_filename_arg.path.sep)))
 
-               dstfile = destfile
-               pkgfiles = dict((k, k) for k in self.getcontents())
-               preserve_case = None
                if "case-insensitive-fs" in self.settings.features:
-                       dstfile = destfile.lower()
-                       pkgfiles = dict((k.lower(), v) for k, v in 
pkgfiles.items())
+                       destfile = destfile.lower()
 
-               if dstfile in pkgfiles:
+               if self._contents.contains(destfile):
                        return self._contents.unmap_key(destfile)
-               if pkgfiles:
-                       basename = os_filename_arg.path.basename(dstfile)
+
+               if self.getcontents():
+                       basename = os_filename_arg.path.basename(destfile)
                        if self._contents_basenames is None:
 
                                try:
-                                       for _, x in pkgfiles.items():
+                                       for x in self._contents.keys():
                                                _unicode_encode(x,
                                                        
encoding=_encodings['merge'],
                                                        errors='strict')
@@ -2967,7 +2957,7 @@ class dblink(object):
                                        # different value of 
sys.getfilesystemencoding(),
                                        # so fall back to utf_8 if appropriate.
                                        try:
-                                               for _, x in pkgfiles.items():
+                                               for x in self._contents.keys():
                                                        _unicode_encode(x,
                                                                
encoding=_encodings['fs'],
                                                                errors='strict')
@@ -2977,7 +2967,7 @@ class dblink(object):
                                                os = portage.os
 
                                self._contents_basenames = set(
-                                       os.path.basename(x) for x in pkgfiles)
+                                       os.path.basename(x) for x in 
self._contents.keys())
                        if basename not in self._contents_basenames:
                                # This is a shortcut that, in most cases, 
allows us to
                                # eliminate this package as an owner without 
the need
@@ -2998,7 +2988,7 @@ class dblink(object):
 
                                if os is _os_merge:
                                        try:
-                                               for _, x in pkgfiles.items():
+                                               for x in self._contents.keys():
                                                        _unicode_encode(x,
                                                                
encoding=_encodings['merge'],
                                                                errors='strict')
@@ -3007,7 +2997,7 @@ class dblink(object):
                                                # different value of 
sys.getfilesystemencoding(),
                                                # so fall back to utf_8 if 
appropriate.
                                                try:
-                                                       for _, x in 
pkgfiles.items():
+                                                       for x in 
self._contents.keys():
                                                                
_unicode_encode(x,
                                                                        
encoding=_encodings['fs'],
                                                                        
errors='strict')
@@ -3018,13 +3008,13 @@ class dblink(object):
 
                                self._contents_inodes = {}
                                parent_paths = set()
-                               for x, r in pkgfiles.items():
+                               for x in self._contents.keys():
                                        p_path = os.path.dirname(x)
                                        if p_path in parent_paths:
                                                continue
                                        parent_paths.add(p_path)
                                        try:
-                                               s = os.stat(os.path.dirname(r))
+                                               s = os.stat(p_path)
                                        except OSError:
                                                pass
                                        else:
@@ -3043,8 +3033,8 @@ class dblink(object):
                        if p_path_list:
                                for p_path in p_path_list:
                                        x = os_filename_arg.path.join(p_path, 
basename)
-                                       if x in pkgfiles:
-                                               return 
self._contents.unmap_key(pkgfiles[x])
+                                       if self._contents.contains(x):
+                                               return 
self._contents.unmap_key(x)
 
                return False
 

Reply via email to