def validate_meta(meta): for section in meta: if PEDANTIC and section not in FIELDS: raise RecipeError("Unknown section: %s" % section) submeta = meta.get(section) if submeta is None: submeta = {} for key in submeta: if PEDANTIC and key not in FIELDS[section]: raise RecipeError("in section %r: unknown key %r" % (section, key)) for res in [ check_name(get_field(meta, 'package/name')), check_version(get_field(meta, 'package/version')), check_build_number(get_field(meta, 'build/number', 0)), ]: if res: raise RecipeError(res) if PEDANTIC and str(get_field(meta, 'build/noarch')).lower() == 'python': raise RecipeError("noarch python recipe not allowed in pedantic mode") check_requirements(meta) check_about(meta) check_source(meta)
def index_json(self): for varname in 'name', 'version', 'build': if self.info[varname] != getattr(self, varname): raise PackageError( "info/index.json for %s: %r != %r" % (varname, self.info[varname], getattr(self, varname))) lst = [ check_name(self.info['name']), check_version(self.info['version']), check_build_number(self.info['build_number']), ] if PEDANTIC: lst.append(check_build_string(self.info['build'])) for res in lst: if res: raise PackageError("info/index.json: %s" % res) depends = self.info.get('depends') if depends is None: raise PackageError("info/index.json: key 'depends' missing") res = check_specs(depends) if res: raise PackageError("info/index.json: %s" % res) if PEDANTIC: lf = self.info.get('license_family', self.info.get('license')) if lf not in LICENSE_FAMILIES: raise PackageError("wrong license family: %s" % lf)
def index_json(self): for varname in 'name', 'version', 'build': if self.info[varname] != getattr(self, varname): raise PackageError("info/index.json for %s: %r != %r" % (varname, self.info[varname], getattr(self, varname))) lst = [ check_name(self.info['name']), check_version(self.info['version']), check_build_number(self.info['build_number']), ] if PEDANTIC: lst.append(check_build_string(self.info['build'])) for res in lst: if res: raise PackageError("info/index.json: %s" % res) depends = self.info.get('depends') if depends is None: raise PackageError("info/index.json: key 'depends' missing") res = check_specs(depends) if res: raise PackageError("info/index.json: %s" % res) if PEDANTIC: lf = self.info.get('license_family', self.info.get('license')) if lf not in LICENSE_FAMILIES: raise PackageError("wrong license family: %s" % lf)