Created attachment 276153 [details] create_ebuilds_with_unaccepted_keywords The attached script creates example ebuilds and changes package.keywords and package.accept_keywords in base profile. The handling of package.keywords seems to be correct, while the handling of package.accept_keywords is at least partially incorrect. =app-misc/test-0 is masked in package.keywords. =app-misc/test-1 is masked in package.accept_keywords. Compare '(masked by: missing keyword)' and '(masked by: )': $ PORTDIR_OVERLAY="/tmp/test_repository" emerge -Op --autounmask=n =app-misc/test-0 These are the packages that would be merged, in order: !!! All ebuilds that could satisfy "=app-misc/test-0" have been masked. !!! One of the following masked packages is required to complete your request: - app-misc/test-0::test_repository (masked by: missing keyword) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. $ PORTDIR_OVERLAY="/tmp/test_repository" emerge -Op --autounmask=n =app-misc/test-1 These are the packages that would be merged, in order: !!! All ebuilds that could satisfy "=app-misc/test-1" have been masked. !!! One of the following masked packages is required to complete your request: - app-misc/test-1::test_repository (masked by: ) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook.
When autounmasking is enabled, then it seems to be silent with package.accept_keywords: $ PORTDIR_OVERLAY="/tmp/test_repository" emerge -Op =app-misc/test-0 These are the packages that would be merged, in order: [ebuild N *] app-misc/test-0 The following keyword changes are necessary to proceed: #required by =app-misc/test-0 (argument) =app-misc/test-0 ** NOTE: This --autounmask behavior can be disabled by setting EMERGE_DEFAULT_OPTS="--autounmask=n" in make.conf. $ PORTDIR_OVERLAY="/tmp/test_repository" emerge -Op =app-misc/test-1 These are the packages that would be merged, in order: [ebuild N ] app-misc/test-1
This is fixed in git: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=786bb1096c704f03b6c677726ef0b9142a8d38a7
This is fixed in 2.1.10.1 and 2.2.0_alpha39.