Пример #1
0
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)
Пример #2
0
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)
Пример #3
0
    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)
Пример #4
0
    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)