summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/cache.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/cache.py')
-rw-r--r--bitbake/lib/bb/cache.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
index c477501d68..9a2e2d5298 100644
--- a/bitbake/lib/bb/cache.py
+++ b/bitbake/lib/bb/cache.py
@@ -106,7 +106,19 @@ class RecipeInfo(namedtuple('RecipeInfo', recipe_fields)):
106 return metadata.getVar(var, True) or '' 106 return metadata.getVar(var, True) or ''
107 107
108 @classmethod 108 @classmethod
109 def make_optional(cls, default=None, **kwargs):
110 """Construct the namedtuple from the specified keyword arguments,
111 with every value considered optional, using the default value if
112 it was not specified."""
113 for field in cls._fields:
114 kwargs[field] = kwargs.get(field, default)
115 return cls(**kwargs)
116
117 @classmethod
109 def from_metadata(cls, filename, metadata): 118 def from_metadata(cls, filename, metadata):
119 if cls.getvar('__SKIPPED', metadata):
120 return cls.make_optional(skipped=True)
121
110 tasks = metadata.getVar('__BBTASKS', False) 122 tasks = metadata.getVar('__BBTASKS', False)
111 123
112 pn = cls.getvar('PN', metadata) 124 pn = cls.getvar('PN', metadata)
@@ -124,7 +136,7 @@ class RecipeInfo(namedtuple('RecipeInfo', recipe_fields)):
124 {'tasks': [], 'parents': {}}, 136 {'tasks': [], 'parents': {}},
125 variants = cls.listvar('__VARIANTS', metadata) + [''], 137 variants = cls.listvar('__VARIANTS', metadata) + [''],
126 138
127 skipped = cls.getvar('__SKIPPED', metadata), 139 skipped = False,
128 timestamp = bb.parse.cached_mtime(filename), 140 timestamp = bb.parse.cached_mtime(filename),
129 packages = cls.listvar('PACKAGES', metadata), 141 packages = cls.listvar('PACKAGES', metadata),
130 pn = pn, 142 pn = pn,