summaryrefslogtreecommitdiff
path: root/defconfig.py
diff options
context:
space:
mode:
authorUlf Magnusson <ulfalizer@gmail.com>2019-04-27 14:16:10 +0200
committerUlf Magnusson <ulfalizer@gmail.com>2019-04-27 15:09:08 +0200
commit4f1674fc32224003931af4a74aa18168786ec9a2 (patch)
tree0b2e2226325fccf7cf0c8d2a53de9870f8d6c59a /defconfig.py
parentde8fa40a11e8a84b0388502147a346e00b6318a8 (diff)
defconfig: Add script
Simple script for initializing the configuration from an existing configuration file (usually a minimal configuration). Just copying the minimal configuration to .config would usually work, due to Kconfig semantics, but having it be a full configuration file from the start might be handier and less confusing.
Diffstat (limited to 'defconfig.py')
-rwxr-xr-xdefconfig.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/defconfig.py b/defconfig.py
new file mode 100755
index 0000000..7b02833
--- /dev/null
+++ b/defconfig.py
@@ -0,0 +1,43 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2019, Ulf Magnusson
+# SPDX-License-Identifier: ISC
+
+"""
+Reads a specified configuration file, then writes a new configuration file.
+This can be used to initialize the configuration from e.g. an arch-specific
+configuration file. This input configuration file would usually be a minimal
+configuration file, as generated by e.g. savedefconfig.
+
+The default output filename is '.config'. A different filename can be passed in
+the KCONFIG_CONFIG environment variable.
+"""
+import argparse
+
+import kconfiglib
+
+
+def main():
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.RawDescriptionHelpFormatter,
+ description=__doc__)
+
+ parser.add_argument(
+ "--kconfig",
+ default="Kconfig",
+ help="Base Kconfig file (default: Kconfig)")
+
+ parser.add_argument(
+ "config",
+ metavar="CONFIGURATION",
+ help="Input configuration file")
+
+ args = parser.parse_args()
+
+ kconf = kconfiglib.Kconfig(args.kconfig)
+ kconf.load_config(args.config)
+ kconf.write_config()
+
+
+if __name__ == "__main__":
+ main()