Include implicit IUSE vars in binhost Packages.
[portage.git] / pym / portage / dbapi / bintree.py
index 7e30208a3e254fbfebefc09351351c744458d4ff..61ac6b54cf8d5b00e5a3432747611e408c491529 100644 (file)
@@ -317,7 +317,9 @@ class binarytree(object):
                                "ACCEPT_KEYWORDS", "ACCEPT_LICENSE",
                                "ACCEPT_PROPERTIES", "ACCEPT_RESTRICT", "CBUILD",
                                "CONFIG_PROTECT", "CONFIG_PROTECT_MASK", "FEATURES",
-                               "GENTOO_MIRRORS", "INSTALL_MASK", "USE"])
+                               "GENTOO_MIRRORS", "INSTALL_MASK", "IUSE_IMPLICIT", "USE",
+                               "USE_EXPAND", "USE_EXPAND_HIDDEN", "USE_EXPAND_IMPLICIT",
+                               "USE_EXPAND_UNPREFIXED"])
                        self._pkgindex_default_pkg_data = {
                                "BUILD_TIME"         : "",
                                "DEFINED_PHASES"     : "",
@@ -1259,6 +1261,16 @@ class binarytree(object):
                        else:
                                header.pop(k, None)
 
+               # These values may be useful for using a binhost without
+               # having a local copy of the profile (bug #470006).
+               for k in self.settings.get("USE_EXPAND_IMPLICIT", "").split():
+                       k = "USE_EXPAND_VALUES_" + k
+                       v = self.settings.get(k)
+                       if v:
+                               header[k] = v
+                       else:
+                               header.pop(k, None)
+
        def _pkgindex_version_supported(self, pkgindex):
                version = pkgindex.header.get("VERSION")
                if version: