See, for instance, bug 51705. If we are to be able to test packages not ready for unstable yet then we need to be able to unmask them without having to continually check what KEYWORDS they currently have. When an arch is missing from KEYWORDS it simply means that that arch is untested; it should not be made overly difficult for testing to be carried out by non-developers. The attached patch allows a package.keywords of "*" to match all KEYWORDS except "-arch". I understand that the last thing we want is users installing untested packages left right and centre and filing pointless bugs; as such I am happy to make any changes necessary to prevent the use of this proposed feature by the great unwashed.
Created attachment 32155 [details, diff] Proposed patch
Hrm, for arch maintainers, this could be fairly useful... For sparc testing we usually tell people to stick ~x86 x86 in package.keywords for testing unkeyworded apps, but this is kinda messy. One other possibility -- how about * (matches stable on any arch) and ~* (~arch)? Cc:ing sparc because getting lots of bugzilla emails makes us feel loved, erm, I mean because this could influence some of our documentation.
Created attachment 32175 [details, diff] New patch Yes, I prefer that suggestion. This implementation is a little verbose but is efficient and readable.
Created attachment 32177 [details, diff] Replacement patch Oops, that was broken. Use this.
ive been doing the same exact thing when porting to arm ... sticking '~x86 x86' into package.keywords and just assuming that the package works for x86 :) something like this would be cool
I think it's slightly off on the ~* logic. You have it only matching ~arch and not stable in that case. Including and modifying a little.
if "~*" in pgroups: for gp in mygroups: if gp[0] != "-": match=1 break
If I add ~x86 to package.keywords, it only matches ~x86, not x86, right?
Yes, that was my understanding and the reason I wrote the patch the way I did.
As far as I can tell, this is in pre18. Reopen if I'm wrong :)