Currently, emerge can get very far into the dependency calculation before realizing that it has been given one or more arguments for packages that don't exist. It would be better to fail faster.
We want to detect the packages that don't exist in the depgraph._select_files method, around here: > if "/" in x.split(":")[0]: > args.append(AtomArg(arg=x, atom=Atom(x, allow_repo=True), > root_config=root_config)) > continue > expanded_atoms = self._dep_expand(root_config, x)
This bug seems to have been fixed at some point in 2021. Sam James and myself tried to track down the commit, but the results are inconsistent because of different EAPI and python versions. But rest assured, this bug has been fixed. Can be tested with the command `emerge www-client/chromium "<cython-3" libreoffice dev-lang/ghc dev-haskell/doctest dev-ruby/actionpack firefox tensorflow idonotexist`. Here, portage finds "idontexist" is not a valid package before dependency calculation of any package is done.
I can't for the life of me see where this got fixed but I can't seem to reproduce this right now. I feel a bit annoyed that I can't spot which commit did it, but I also absolutely can't hit it anymore. I wonder if it's just because of all the caching we've added?