fix the problem of mixing "**" and ebuild keywords for only some archs
authorBrian Dolbec <brian.dolbec@gmail.com>
Sun, 30 Jan 2011 20:42:44 +0000 (12:42 -0800)
committerZac Medico <zmedico@gentoo.org>
Sun, 30 Jan 2011 22:37:48 +0000 (14:37 -0800)
pym/_emerge/Package.py
pym/_emerge/resolver/output.py

index bf021926170f1d3c9bb744ecb50616220a93860e..9f210570d8743b0a22b57754a64046a7e5d9cf61 100644 (file)
@@ -243,10 +243,15 @@ class Package(Task):
                missing, _keywords = \
                        self.root_config.settings._getRawMissingKeywords(
                                self.cpv, self.metadata)
+               unmasks = self.root_config.settings._getPKeywords(
+                               self.cpv, self.metadata)
+
                if '**' in missing:
                        return '**'
                if missing: # keywords to evaluate
-                       for keyword in _keywords:
+                       for keyword in _keywords + unmasks:
+                               if keyword == '**':
+                                       return keyword
                                used_keyword = '~' + keyword
                                if used_keyword in missing:
                                        return used_keyword
index 51d9d3cad02e73caa319787cf92191c5f9cb541f..ffee6dab3cdeafff54968f443f668c998b5ae32e 100644 (file)
@@ -165,7 +165,7 @@ class Display(object):
                """
                used_keyword = pkg.accepted_keyword()
                hardmasked = pkg.isHardMasked()
-               if used_keyword not in self.pkgsettings['ACCEPT_KEYWORDS'] or hardmasked:
+               if used_keyword not in self.pkgsettings['ACCEPT_KEYWORDS'].split() or hardmasked:
                        if hardmasked:
                                self.verboseadd += 'keyword=' + red('[%s] ' % used_keyword)
                        else: