On 10/25/2010 06:24 AM, Arfrever Frehtes Taifersar Arahesis wrote: > use.unsatisfiable and package.use.unsatisfiable files would cause that > `repoman` would treat > given USE flags in the same way as masked USE flags. These files wouldn't > affect behavior of > `emerge`: > - If user has enabled given USE flag specified in use.unsatisfiable or > package.use.unsatisfiable > and if optional dependencies controlled by this USE flag are already > installed or satisfiable, > then `emerge` will allow to install given package. > - If user has enabled given USE flag specified in use.unsatisfiable or > package.use.unsatisfiable > and if optional dependencies controlled by this USE flag cannot be > satisfied (with current > settings of ACCEPT_KEYWORDS, /etc/portage/package.keywords etc.), then > `emerge` will print > informative error message telling e.g. about a dependency masked by > ~${ARCH} keyword.
Can't we print a "masked by ~${ARCH} keyword" message as you suggest, even without the use.unsatisfiable data? If so, then isn't use.unsatisfiable redundant? Your patch [1] seems to behave exactly like use.mask, so I don't see any value added. As an alternative, I'd suggest an atom syntax extension to indicate that a given atom is optional. For example, we could borrow the '?' character from regular expression syntax, and append '?' to the right side of an atom in order to indicate that it is an optional atom. [1] http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=93ee6a847be949e7752c3c052d3eb0619e408b43 -- Thanks, Zac