Merged from trunk -r13187:13193
authorFabian Groffen <grobian@gentoo.org>
Thu, 26 Mar 2009 20:55:38 +0000 (20:55 -0000)
committerFabian Groffen <grobian@gentoo.org>
Thu, 26 Mar 2009 20:55:38 +0000 (20:55 -0000)
   | 13188   | In config.setcpv(), clear out self.configdict["pkg"] to make |
   | zmedico | sure that no preexisting metadata leaks through here.        |

   | 13189   | In config.regenerate(), always synchronize self.features     |
   | zmedico | with self['FEATURES'].                                       |

   | 13193   | Make StaticFileSet.multiBuilder() filter hidden files and    |
   | zmedico | directories. Thanks to oahong for reporting.                 |

svn path=/main/branches/prefix/; revision=13197

pym/portage/__init__.py
pym/portage/sets/files.py

index 93f0bfcacc5cd1c1a2187c641b8a125659eb09b3..66675ff5dd21e22d0347f255c9dd66eecb2521b0 100644 (file)
@@ -2117,6 +2117,7 @@ class config(object):
                env_configdict = self.configdict["env"]
                pkg_configdict = self.configdict["pkg"]
                previous_iuse = pkg_configdict.get("IUSE")
+               pkg_configdict.clear()
                pkg_configdict["CATEGORY"] = cat
                pkg_configdict["PF"] = pf
                if mydb:
@@ -2827,10 +2828,12 @@ class config(object):
                                                continue
                                        myflags.add(var_lower + "_" + x)
 
-               if not hasattr(self, "features"):
-                       self.features = set(
-                               self.configlist[-1].get("FEATURES","").split())
-               self["FEATURES"] = " ".join(self.features)
+               if hasattr(self, "features"):
+                       self.features.clear()
+               else:
+                       self.features = set()
+               self.features.update(self.configlist[-1].get('FEATURES', '').split())
+               self['FEATURES'] = ' '.join(sorted(self.features))
 
                myflags.update(self.useforce)
                arch = self.configdict["defaults"].get("ARCH")
index 9dfc667a1547578190bbac62222bbac2a7122eff..fe256a79bd9a27c0664738f75e31040ff4c5e458 100644 (file)
@@ -124,7 +124,12 @@ class StaticFileSet(EditablePackageSet):
                if os.path.isdir(directory):
                        directory = normalize_path(directory)
                        for parent, dirs, files in os.walk(directory):
+                               for d in dirs[:]:
+                                       if d[:1] == '.':
+                                               dirs.remove(d)
                                for filename in files:
+                                       if filename[:1] == '.':
+                                               continue
                                        if filename.endswith(".metadata"):
                                                continue
                                        filename = os.path.join(parent,