From: Brian Harring Date: Fri, 27 Jan 2012 18:23:02 +0000 (-0800) Subject: Apply INSTALL_MASK prior to reading the tree X-Git-Tag: v2.2.0_alpha85~8 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=02522e5755ab369c2d9a9f712bb0c1e7b882ad98;p=portage.git Apply INSTALL_MASK prior to reading the tree If this isn't done, collision-protect uses the old cached filelist, leading to it complaining about things that INSTALL_MASK sorted already. BUGS=chromium-os:25060 TEST=emerge sudo && emerge chromeos-base --- diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py index 5bb4fa404..c504e5ca4 100644 --- a/pym/portage/dbapi/vartree.py +++ b/pym/portage/dbapi/vartree.py @@ -3381,6 +3381,15 @@ class dblink(object): max_dblnk = dblnk self._installed_instance = max_dblnk + if self.settings.get("INSTALL_MASK"): + # Apply INSTALL_MASK before collision-protect, since it may + # be useful to avoid collisions in some scenarios. + phase = MiscFunctionsProcess(background=False, + commands=["preinst_mask"], phase="preinst", + scheduler=self._scheduler, settings=self.settings) + phase.start() + phase.wait() + # We check for unicode encoding issues after src_install. However, # the check must be repeated here for binary packages (it's # inexpensive since we call os.walk() here anyway). @@ -3517,15 +3526,6 @@ class dblink(object): for other in others_in_slot]) prepare_build_dirs(settings=self.settings, cleanup=cleanup) - if self.settings.get("INSTALL_MASK"): - # Apply INSTALL_MASK before collision-protect, since it may - # be useful to avoid collisions in some scenarios. - phase = MiscFunctionsProcess(background=False, - commands=["preinst_mask"], phase="preinst", - scheduler=self._scheduler, settings=self.settings) - phase.start() - phase.wait() - # check for package collisions blockers = self._blockers if blockers is None: