diff options
author | Brian Harring <ferringb@chromium.org> | 2012-01-27 10:23:02 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-01-27 14:01:34 -0800 |
commit | 02522e5755ab369c2d9a9f712bb0c1e7b882ad98 (patch) | |
tree | 0c45eca4f3726970f2895b572d04fb6a924d2842 | |
parent | be009d82d552740843d703fcde33112dcd698a9e (diff) | |
download | portage-02522e5755ab369c2d9a9f712bb0c1e7b882ad98.tar.gz portage-02522e5755ab369c2d9a9f712bb0c1e7b882ad98.tar.bz2 portage-02522e5755ab369c2d9a9f712bb0c1e7b882ad98.zip |
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
-rw-r--r-- | pym/portage/dbapi/vartree.py | 18 |
1 files changed, 9 insertions, 9 deletions
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: |