diff options
-rw-r--r-- | pym/portage.py | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/pym/portage.py b/pym/portage.py index f65b43c6c..dafcb4bca 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -1150,15 +1150,19 @@ class config: os.environ.get("PORTDIR_OVERLAY","") == "": # repoman shouldn't use local settings. locations = [self["PORTDIR"] + "/profiles"] + overlay_profiles = [] else: abs_user_config = os.path.join(config_root, USER_CONFIG_PATH.lstrip(os.path.sep)) locations = [os.path.join(self["PORTDIR"], "profiles"), abs_user_config] + overlay_profiles = [] for ov in self["PORTDIR_OVERLAY"].split(): ov = os.path.normpath(ov) - if os.path.isdir(ov+"/profiles"): - locations.append(ov+"/profiles") + profiles_dir = os.path.join(ov, "profiles") + if os.path.isdir(profiles_dir): + overlay_profiles.append(profiles_dir) + locations += overlay_profiles if os.environ.get("PORTAGE_CALLER","") == "repoman": self.pusedict = {} @@ -1218,9 +1222,13 @@ class config: self.configdict["conf"]["PORTAGE_ARCHLIST"] = " ".join(archlist) #package.mask - pkgmasklines = [grabfile_package(os.path.join(x, "package.mask")) for x in self.profiles] - for l in locations: - pkgmasklines.append(grabfile_package(l+os.path.sep+"package.mask", recursive=1)) + pmask_locations = [os.path.join(self["PORTDIR"], "profiles")] + \ + self.profiles + overlay_profiles + \ + [os.path.join(config_root, USER_CONFIG_PATH.lstrip(os.path.sep))] + pkgmasklines = [] + for x in pmask_locations: + pkgmasklines.append(grabfile_package( + os.path.join(x, "package.mask"), recursive=1)) pkgmasklines = stack_lists(pkgmasklines, incremental=1) self.pmaskdict = {} |