From 8d408f374c06026bb76c1c349568e3e23cba1b0d Mon Sep 17 00:00:00 2001 From: Fabian Groffen Date: Thu, 26 Mar 2009 20:55:38 +0000 Subject: [PATCH] Merged from trunk -r13187:13193 | 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 | 11 +++++++---- pym/portage/sets/files.py | 5 +++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 93f0bfcac..66675ff5d 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -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") diff --git a/pym/portage/sets/files.py b/pym/portage/sets/files.py index 9dfc667a1..fe256a79b 100644 --- a/pym/portage/sets/files.py +++ b/pym/portage/sets/files.py @@ -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, -- 2.26.2