From: Jörg Thalheim Date: Thu, 2 Jan 2020 10:38:24 +0000 (+0000) Subject: add script to download linux kernel configs from nix X-Git-Tag: v0.5.7~47^2 X-Git-Url: https://jxself.org/git/?a=commitdiff_plain;h=b7c4e0c76c78ebffdf33a5f2bfb597a8fc231347;p=kconfig-hardened-check.git add script to download linux kernel configs from nix --- diff --git a/contrib/get-nix-kconfig.py b/contrib/get-nix-kconfig.py new file mode 100644 index 0000000..b69692c --- /dev/null +++ b/contrib/get-nix-kconfig.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python + +import json +import os +import shutil +import subprocess +import sys +from tempfile import TemporaryDirectory + + +def main() -> None: + proc = subprocess.run( + ["nix", "search", "-u", "--json", "^nixpkgs.linux_"], capture_output=True + ) + data = json.loads(proc.stdout) + with TemporaryDirectory() as temp: + for pkg in data.keys(): + symlink = os.path.join(temp, pkg) + res = subprocess.run(["nix", "build", f"{pkg}.configfile", "-o", symlink]) + if res.returncode != 0: + print(f"failed to get configuration for {pkg}", file=sys.stderr) + continue + name = f"{pkg.replace('.', '-')}-config" + with open(name, "w") as dst, open(symlink) as src: + shutil.copyfileobj(src, dst) + + +if __name__ == "__main__": + main()