1 #!/usr/bin/env python3
2 #
3 # Copyright © 2022 Collabora, Ltd.
4 #
5 # SPDX-License-Identifier: LGPL-2.1-or-later
6 #
7 # Original author: Xavier Claessens
8
9 """
10 This script checks Meson configuration logs to verify no installed file is
11 missing installation tag.
12 """
13
14 import argparse
15 import json
16 from pathlib import Path
17
18
19 def main():
20 parser = argparse.ArgumentParser()
21 parser.add_argument("builddir", type=Path)
22 args = parser.parse_args()
23
24 success = True
25 path = args.builddir / "meson-info" / "intro-install_plan.json"
26 with path.open(encoding="utf-8") as f:
27 install_plan = json.load(f)
28 for target in install_plan.values():
29 for info in target.values():
30 if not info["tag"]:
31 print("Missing install_tag for", info["destination"])
32 success = False
33 return 0 if success else 1
34
35
36 if __name__ == "__main__":
37 exit(main())