Example #1
0
def deps(archive, source, dsc):
    deps = dsc['Build-Depends']
    data = {
        "Build-Depends": Block(dsc['Build-Depends']).to_dict()
    }
    return data


def cayley(el, data, component, package, version):
    if el is None:
        el = ""
    data = data['Build-Depends']
    relations = data.get("relations", [])
    for relation in relations:
        targets = relation.get("targets", [])
        for target in targets:
            package_bd = target.get("package")
            el += "<{package}> <{relation}> <{target}> .\r\n".format(
                package=package,
                relation="build_depends",
                target=package_bd,
            )
    return el


archive.amap(10, "unstable", "main", deps)
data = archive.reduce("main", cayley)

with open("build-depends", "w") as fd:
    fd.write(data)