コード例 #1
0
def have_variant_but_for_python(meta: MetaData) -> bool:
    """Checks if we have an exact or ``py[23]_`` prefixed match to
    name/version/buildstring

    Ignores osx.

    Args:
      meta: Variant MetaData object

    Returns:
      True if FIXME
    """
    def strip_py(build):
        if build.startswith("py"):
            return build[4:]
        return build

    builds = RepoData().get_package_data('build',
                                         name=meta.name(),
                                         version=meta.version(),
                                         platform=['linux', 'noarch'])
    res = [
        build for build in builds
        if strip_py(build) == strip_py(meta.build_id())
    ]
    if res:
        logger.debug("Package %s=%s has %s (want %s)", meta.name(),
                     meta.version(), res, meta.build_id())
    return bool(res)
コード例 #2
0
def have_variant(meta: MetaData) -> bool:
    """Checks if we have an exact match to name/version/buildstring

    Args:
      meta: Variant MetaData object

    Returns:
      True if the variant's build string exists already in the repodata
    """
    res = RepoData().get_package_data(name=meta.name(),
                                      version=meta.version(),
                                      build=meta.build_id(),
                                      platform=['linux', 'noarch'])
    if res:
        logger.debug("Package %s=%s=%s exists", meta.name(), meta.version(),
                     meta.build_id())
    return res
コード例 #3
0
def has_invalid_build_string(meta: MetaData) -> bool:
    build_string = meta.build_id()
    return not (build_string and
                set(build_string).issubset(allowed_build_string_characters))