From b6eb078f36ed5565f829c0c0b8b642ca719bf046 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 21 Jun 2006 01:51:08 +0000 Subject: [PATCH] Stack package.mask files in a more logical order as specified in bug #133740. This patch is from trunk r3495 and r3527. svn path=/main/branches/2.1/; revision=3555 --- pym/portage.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/pym/portage.py b/pym/portage.py index e51f2ee15..954af4069 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -1146,19 +1146,30 @@ class config: self.lookuplist=self.configlist[:] self.lookuplist.reverse() + pmask_locations = [os.path.join(self["PORTDIR"], "profiles")] + pmask_locations.extend(self.profiles) + if os.environ.get("PORTAGE_CALLER","") == "repoman" and \ 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 + + pmask_locations.extend(overlay_profiles) + if os.environ.get("PORTAGE_CALLER","") != "repoman": + pmask_locations.append(abs_user_config) if os.environ.get("PORTAGE_CALLER","") == "repoman": self.pusedict = {} @@ -1218,9 +1229,10 @@ 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)) + 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 = {} -- 2.26.2