Current versions of portage mask out versions of system packages that are not matched by the atoms specified in the "packages" file. This applies to both atoms that begin with * and those that do not. Section 4.2.7 of the PMS disagrees with this and changing the behavior breaks compatibility with some profiles that currently exist in the tree (not to mention profiles that people may be maintaining outside of the tree).
I was under the impression that this behaviour was considered deprecated in favour of package.mask...
Created attachment 114446 [details] a script that scans profiles for system atoms that may rely on the profile masking behavior
I'm not sure if changing the long term behavior is really a good idea at this point. I imagine that we can probably get away with it, but is it really necessary to change it and worth any trouble that it might cause? I'll CC Marius because he has expressed interest in this issue before.
Created attachment 114448 [details] current list of suspicious profiles
(In reply to comment #1) > I was under the impression that this behaviour was considered deprecated in > favour of package.mask... Inofficially, yes. But just removing all the support code without any visible warning isn't the way to go here. Any change here would require proper coordination with releng and other profile maintainers, plus a deprecation notice for users of third party profiles. Long term instead of "fixing" the packages file I'd just get rid of it completely and replace it with something new, namely system.depend and system.rdepend that can avoid the crapy * prefix and could be used to actually implement a real implicit dependency on system packages at some point (instead of just having a convention to not depend on system packages).
Is there any compelling reason for requiring support for this kind of profile masking in PMS? Personally I'd rather see it left the way it is, and the tree moved to not rely upon it.
So, can we ignore this as something we need to put into PMS?
I'd say it should be in the same 'historical curiosities' category as foo? ( ) : ( ) unless anyone comes up for a compelling reason to document it.