Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 632598 - sys-apps/portage: --autounmask USE changes can trigger unnecessary backtracking
Summary: sys-apps/portage: --autounmask USE changes can trigger unnecessary backtracking
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Dependencies (show other bugs)
Hardware: All All
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: autounmask 631448
  Show dependency tree
 
Reported: 2017-10-01 00:49 UTC by Zac Medico
Modified: 2018-02-01 23:55 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Zac Medico gentoo-dev 2017-10-01 00:49:48 UTC
The want_restart_for_use_change function it overly eager to trigger backtracking in some cases where there are USE dependencies in the graph. The problem is right here, where want_restart_for_use_change returns True for any overlapping USE dependencies, even though those USE dependencies may be satisfied with the changes:

new_use, changes = self._dynamic_config._needed_use_config_changes.get(pkg)
for ppkg, atom in parent_atoms:
	if not atom.use or \
		not any(x in atom.use.required for x in changes):
		continue
	else:
		return True

I discovered this issue while working on GLEP 73 support (bug 628004), since autounmask USE changes make trigger REQUIRED_USE changes, and we want to avoid backtracking here whenever possible.
Comment 3 Zac Medico gentoo-dev 2017-10-02 19:37:24 UTC
Released in 2.3.11.