#!/usr/bin/env python3 from os import getenv, environ from pathlib import Path from subprocess import run, PIPE from sys import argv import json if len(argv) != 2: print("JSON info files script requires ouput file as argument") exit(1) output_path = Path(argv[1]) assert getenv("WORK_DIR"), "$WORK_DIR required" work_dir = Path(getenv("WORK_DIR")) output = {} for json_file in work_dir.glob("*.json"): image_info = json.loads(json_file.read_text()) if not output: output.update(image_info) else: # get first (and only) profile in json file device_id = next(iter(image_info["profiles"].keys())) if device_id not in output["profiles"]: output["profiles"].update(image_info["profiles"]) else: output["profiles"][device_id]["images"].append( image_info["profiles"][device_id]["images"][0] ) if output: default_packages, output["arch_packages"] = run( [ "make", "--no-print-directory", "-C", "target/linux/{}".format(output['target'].split('/')[0]), "val.DEFAULT_PACKAGES", "val.ARCH_PACKAGES", ], stdout=PIPE, stderr=PIPE, check=True, env=environ.copy().update({"TOPDIR": Path().cwd()}), universal_newlines=True, ).stdout.splitlines() output["default_packages"] = default_packages.split() output_path.write_text(json.dumps(output, sort_keys=True, separators=(",", ":"))) else: print("JSON info file script could not find any JSON files for target") en/?h=staging-4.2'>summaryrefslogtreecommitdiffstats
path: root/tools/vnet/vnet-module/Makefile-2.4
blob: 7ece1c51f530bf40e27850a0b44a36a399812a12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98