Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 908717
Collapse All | Expand All

(-)a/lib/_emerge/depgraph.py (+18 lines)
Lines 1872-1877 class depgraph: Link Here
1872
        if self._dynamic_config._allow_backtracking:
1872
        if self._dynamic_config._allow_backtracking:
1873
            self._slot_operator_trigger_reinstalls()
1873
            self._slot_operator_trigger_reinstalls()
1874
1874
1875
        # When there needs to be additional slot operator rebuilds,
1876
        # _solve_non_slot_operator_slot_conflicts is not aware of them,
1877
        # so it ends up pulling in subslot dependencies according to the
1878
        # installed subslots. This causes "slot conflict" entries to be added
1879
        # to backtrack infos, and portage would backtrack by masking each
1880
        # version. This is not ideal because portage now have to do multiple
1881
        # backtracks, for each version masked. It also implies that portage
1882
        # is attempting to pull in those versions, and this may cause issues
1883
        # during subslot rebuild pruning. Instead of that, let portage solve
1884
        # slot operator rebuilds first, then backtrack on slot conflicts, if
1885
        # they are truly necessary after slot operator rebuilds are considered.
1886
        if self._dynamic_config._backtrack_infos.setdefault("config", {}).get(
1887
            "slot_operator_replace_installed", set()
1888
        ):
1889
            if "slot conflict" in self._dynamic_config._backtrack_infos:
1890
                del self._dynamic_config._backtrack_infos["slot conflict"]
1891
            return
1892
1875
    def _process_slot_conflict(self, conflict):
1893
    def _process_slot_conflict(self, conflict):
1876
        """
1894
        """
1877
        Process slot conflict data to identify specific atoms which
1895
        Process slot conflict data to identify specific atoms which

Return to bug 908717