Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 461948 - allow extended '::overlay' syntax in <overlay>/profile/package.mask
Summary: allow extended '::overlay' syntax in <overlay>/profile/package.mask
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Enhancement/Feature Requests (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: 462382
  Show dependency tree
 
Reported: 2013-03-16 19:50 UTC by Dyweni
Modified: 2013-03-19 22:42 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dyweni 2013-03-16 19:50:27 UTC
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.
Comment 1 Dyweni 2013-03-16 19:55:30 UTC
Minor example clarification:
  'net-misc/xscreensaver' is a typo.  It should have been 'x11-misc/xscreensaver'.
Comment 2 Zac Medico gentoo-dev 2013-03-17 07:21:23 UTC
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.
Comment 3 Zac Medico gentoo-dev 2013-03-19 06:39:34 UTC
(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
Comment 4 Dyweni 2013-03-19 13:50:54 UTC
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.
Comment 5 Zac Medico gentoo-dev 2013-03-19 16:20:44 UTC
Thanks for testing. I hope to do a release today or tomorrow.
Comment 6 Zac Medico gentoo-dev 2013-03-19 22:42:41 UTC
This is fixed in 2.1.11.56 and 2.2.0_alpha167.