File '/etc/portage/package.mask' allows me to enter 'category/package::repo' to mask all ebuilds of 'category/package' in 'repo'. File '<overlay>/profile/package.mask' throws the '--- Invalid atom in (file)' when I use the same syntax to mask all ebuilds of 'category/package' in 'repo'. I would like file '<overlay>/profile/package.mask' to support the 'category/package::repo' extended atom syntax. Here is an example use case: 1. <overlay> contains a modified version of 'category/package'. 2. Not wanting the installed package to be accidentally upgraded to a non-modified version, I wanted to mask that package from the main 'gentoo' repo. 3. Secondly, I want this mask introduced by the overlay, so that all machines that add this overlay automatically get the mask and the admin doesn't have to manually add the mask to the file '/etc/portage/package.mask'. Example: 1. <overlay> contains a modified version of net-misc/xscreensaver that allows locking with root password when root is logged in. 2. <overlay>/profiles/package.mask contains the line 'net-misc/xscreensaver::gentoo' to mask the non-modified ebuilds in net-misc/screensaver in the gentoo tree. Reproducible: Always Steps to Reproduce: 1. Add 'category/package::repo' to '<overlay>/profile/package.mask'. 2. Run emerge Actual Results: Output contains error: --- Invalid atom in <overlay>/profiles/package.mask: category/package::repo All ebuilds for category/package::repo are not masked. Expected Results: No error message in output. All ebuilds for category/package::repo are masked. This is related to bug # 436330.
Minor example clarification: 'net-misc/xscreensaver' is a typo. It should have been 'x11-misc/xscreensaver'.
Since EAPIs 4-python and 5-progress support ::repo atoms, we could allow these atoms in profiles/package.mask if you have one of these EAPIs in profiles/eapi, like the progress overlay: https://code.google.com/p/gentoo-progress/source/browse/overlays/progress/profiles/eapi Currently, it doesn't work, because package.mask atoms automatically inherit their ::repo part from the containing overlay.
(In reply to comment #2) > Currently, it doesn't work, because package.mask atoms automatically inherit > their ::repo part from the containing overlay. This is fixed in git: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=05eac1c00d668fd8f36e8dabc656eaa3cdeabdcf
I confirm that the patch referenced in GIT is working for me. I tested it like this: 1. Created '<overlay>/profiles/eapi' file with '5-progress' as its contents. 2. Added the patch referenced in GIT to the 2.1.11.52 ebuild. When do you expect this to hit the public tree? Thanks.
Thanks for testing. I hope to do a release today or tomorrow.
This is fixed in 2.1.11.56 and 2.2.0_alpha167.