| # |
| # Extra RecipeInfo will be all defined in this file. Currently, |
| # Only Hob (Image Creator) Requests some extra fields. So |
| # HobRecipeInfo is defined. It's named HobRecipeInfo because it |
| # is introduced by 'hob'. Users could also introduce other |
| # RecipeInfo or simply use those already defined RecipeInfo. |
| # In the following patch, this newly defined new extra RecipeInfo |
| # will be dynamically loaded and used for loading/saving the extra |
| # cache fields |
| |
| # Copyright (C) 2011, Intel Corporation. All rights reserved. |
| |
| # SPDX-License-Identifier: GPL-2.0-only |
| # |
| |
| from bb.cache import RecipeInfoCommon |
| |
| class HobRecipeInfo(RecipeInfoCommon): |
| __slots__ = () |
| |
| classname = "HobRecipeInfo" |
| # please override this member with the correct data cache file |
| # such as (bb_cache.dat, bb_extracache_hob.dat) |
| cachefile = "bb_extracache_" + classname +".dat" |
| |
| # override this member with the list of extra cache fields |
| # that this class will provide |
| cachefields = ['summary', 'license', 'section', |
| 'description', 'homepage', 'bugtracker', |
| 'prevision', 'files_info'] |
| |
| def __init__(self, filename, metadata): |
| |
| self.summary = self.getvar('SUMMARY', metadata) |
| self.license = self.getvar('LICENSE', metadata) |
| self.section = self.getvar('SECTION', metadata) |
| self.description = self.getvar('DESCRIPTION', metadata) |
| self.homepage = self.getvar('HOMEPAGE', metadata) |
| self.bugtracker = self.getvar('BUGTRACKER', metadata) |
| self.prevision = self.getvar('PR', metadata) |
| self.files_info = self.getvar('FILES_INFO', metadata) |
| |
| @classmethod |
| def init_cacheData(cls, cachedata): |
| # CacheData in Hob RecipeInfo Class |
| cachedata.summary = {} |
| cachedata.license = {} |
| cachedata.section = {} |
| cachedata.description = {} |
| cachedata.homepage = {} |
| cachedata.bugtracker = {} |
| cachedata.prevision = {} |
| cachedata.files_info = {} |
| |
| def add_cacheData(self, cachedata, fn): |
| cachedata.summary[fn] = self.summary |
| cachedata.license[fn] = self.license |
| cachedata.section[fn] = self.section |
| cachedata.description[fn] = self.description |
| cachedata.homepage[fn] = self.homepage |
| cachedata.bugtracker[fn] = self.bugtracker |
| cachedata.prevision[fn] = self.prevision |
| cachedata.files_info[fn] = self.files_info |