return missing_iuse
def get_real_flag(self, flag):
+ """
+ Returns the flag's name within the scope of this package
+ (accounting for aliases), or None if the flag is unknown.
+ """
if flag in self.all:
return flag
elif flag in self.all_aliases:
if flag in v:
return k
else:
- raise ValueError("'%s' flag is not in IUSE and is not an alias of any flag in IUSE of '%s::%s'" %
- (flag, self._pkg.cpv, self._pkg.repo))
+ return None
def __len__(self):
return 4
for flag, state in target_use.items():
real_flag = pkg.iuse.get_real_flag(flag)
+ if real_flag is None:
+ # Triggered by use-dep defaults.
+ continue
if state:
if real_flag not in old_use:
if new_changes.get(real_flag) == False:
for pkg in solution:
for flag, state in solution[pkg].items():
real_flag = pkg.iuse.get_real_flag(flag)
+ if real_flag is None:
+ # Triggered by use-dep defaults.
+ continue
if state == "enabled" and flag not in _pkg_use_enabled(pkg):
new_change.setdefault(pkg, {})[real_flag] = True
elif state == "disabled" and flag in _pkg_use_enabled(pkg):