Agustin Benito Bethencourt pushed to branch master at BuildStream / debsrc2bst
Commits:
2 changed files:
Changes:
| ... | ... | @@ -25,6 +25,8 @@ if __name__ == "__main__": |
| 25 | 25 |
parser = argparse.ArgumentParser(description="Generate bst files from a set of repositories")
|
| 26 | 26 |
parser.add_argument("-b", "--debian-base", required=True,
|
| 27 | 27 |
help="Element path that all dpkg-build elements use as 'base'")
|
| 28 |
+ parser.add_argument("--base-build-depend", action="store_true",
|
|
| 29 |
+ help="Whether the 'base' element is of type 'build'. If not, it will be of type 'all'")
|
|
| 28 | 30 |
parser.add_argument("-o", "--output-dir", required=True,
|
| 29 | 31 |
help="Directory to generate output bst files in")
|
| 30 | 32 |
parser.add_argument("-p", "--element-prefix", help="Prefix to prepend to all generated element paths")
|
| ... | ... | @@ -34,7 +36,8 @@ if __name__ == "__main__": |
| 34 | 36 |
"debian-base": args.debian_base,
|
| 35 | 37 |
"output-dir": args.output_dir,
|
| 36 | 38 |
"repositories": args.repository,
|
| 37 |
- "element-prefix": args.element_prefix or None
|
|
| 39 |
+ "element-prefix": args.element_prefix or None,
|
|
| 40 |
+ "base-build-depend": args.base_build_depend or None
|
|
| 38 | 41 |
}
|
| 39 | 42 |
validate(argdata)
|
| 40 | 43 |
generate(argdata)
|
| ... | ... | @@ -86,10 +86,12 @@ def calculate_depends(providedata, sourcedata): |
| 86 | 86 |
if providedata[d] not in depends:
|
| 87 | 87 |
depends[providedata[d]] = {
|
| 88 | 88 |
"filename": providedata[d],
|
| 89 |
- "type": "run"
|
|
| 89 |
+ "type": "runtime"
|
|
| 90 | 90 |
}
|
| 91 |
- elif depends[providedata[d]]["type"] == "build":
|
|
| 92 |
- depends[providedata[d]]["type"] = "all"
|
|
| 91 |
+ elif (type(depends[providedata[d]]) == dict and depends[providedata[d]]["type"] == "build"):
|
|
| 92 |
+ # buildstream doesn't read depends of type 'all'
|
|
| 93 |
+ # instead, they are defined without type.
|
|
| 94 |
+ depends[providedata[d]] = providedata[d]
|
|
| 93 | 95 |
elif d:
|
| 94 | 96 |
unmet_depends.add(d)
|
| 95 | 97 |
|
| ... | ... | @@ -108,7 +110,11 @@ def calculate_bst_contents(args, sourcedata, providedata): |
| 108 | 110 |
bst_content['kind'] = "dpkg_build"
|
| 109 | 111 |
bst_content['description'] = ("dpkg build based on {}"
|
| 110 | 112 |
.format(sourcedata["source"]["Source"]))
|
| 111 |
- bst_content['depends'] = [args["debian-base"]]
|
|
| 113 |
+ if args.get("base-build-depend", False):
|
|
| 114 |
+ bst_content['depends'] = [{"filename": args["debian-base"],
|
|
| 115 |
+ "type": "build"}]
|
|
| 116 |
+ else:
|
|
| 117 |
+ bst_content['depends'] = [args["debian-base"]]
|
|
| 112 | 118 |
bst_content['depends'] += calculate_depends(providedata, sourcedata)
|
| 113 | 119 |
|
| 114 | 120 |
if os.path.exists(os.path.join(sourcedata['repository'], ".git")):
|
