I often hit this: when I made and error in ebuild that leads portage to skip it, it *silently* installs previous version instead of showing me the error, and I need to manually force emerge to install that concrete version to know what is occurring.
Portage should, instead, always show that error (either dying or either fallbacking to older version) instead of silent the problem.
In this concrete case the error was:
# emerge -1av =net-misc/vino-3.14.2 --digest
* The --digest option can prevent corruption from being noticed. The
* `repoman manifest` command is the preferred way to generate manifests
* and it is capable of doing an entire repository or category at once.
These are the packages that would be merged, in order:
Calculating dependencies... done!
!!! All ebuilds that could satisfy "=net-misc/vino-3.14.2" have been masked.
!!! One of the following masked packages is required to complete your request:
- net-misc/vino-3.14.2::gentoo (masked by: invalid: DEPEND: USE flag 'avahi' referenced in conditional 'avahi?' is not in IUSE, invalid: RDEPEND: USE flag 'avahi' referenced in conditional 'avahi?' is not in IUSE)
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
As you see I need to merge with =net-misc/vino-3.14.2 as "emerge -1 vino" will silently skip it
We can include this in the "missed update" message.
The "error" might be a conscious user decision. In an emerge world there might be tens if not hundreds of these. I don't want them to always be printed. Maybe we can make it conditional on -v, or add another -verbose-X option. Users who always want to see these messages may then add that to their EMERGE_DEFAULT_OPTS.
Also, is this not the same as <https://bugs.gentoo.org/show_bug.cgi?id=472208>, or am I missing some nuances? If it is indeed the same, please close this as a duplicate.
*** This bug has been marked as a duplicate of bug 472208 ***