diff options
Diffstat (limited to 'bitbake/lib/bb/cache.py')
-rw-r--r-- | bitbake/lib/bb/cache.py | 14 |
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, |