summaryrefslogtreecommitdiff
path: root/setconfig.py
AgeCommit message (Collapse)Author
2020-01-24Use 'python3' instead of 'python' in hashbangsUlf Magnusson
It's not obligatory for distributions to have a 'python' binary these days, but 'python3' is likely to be available: https://www.python.org/dev/peps/pep-0394/#for-python-runtime-distributors. Change all hashbangs to point to 'python3'. This will break running $ ./script.py on *nix systems that don't have a 'python3' executable. Changing it to $ python script.py is pretty painless at least. This change won't break Python 2 when installing via 'pip', because entry_points creates bounce scripts with their own hashbangs. The major version will be increased, in case someone looks at the major version but doesn't install via 'pip'. Fixes: #89
2020-01-12Make help for Kconfig file argument consistent in toolsUlf Magnusson
Say 'top-level' instea of 'base'.
2019-12-14Add Kconfig.__init__() helper flag for suppressing tracebacksUlf Magnusson
Tools that don't use standard_kconfig() currently generate spammy tracebacks for e.g. syntax errors. Add a suppress_traceback flag to Kconfig.__init__() for catching "expected" exceptions and printing them to stderr and exiting with status 1. Use it to make all tools consistently hide tracebacks.
2019-07-02setconfig: Use 'orig_type' instead of 'type' in error messageUlf Magnusson
It's confusing to have tristate symbols show up as bool in the bad-value error message when modules are disabled. set_value() validates the value against 'orig_type' rather than 'type' as well. Piggyback some quote consistency and make a comment in set_value() more informative.
2019-06-03Have load_config() and write_(min_)config() return messagesUlf Magnusson
Hardcoding load_config() and write_(min_)config() to write any message to stdout is awkward, because it means that the message can't be easily reused when stdout is the wrong place to write it to (e.g. in menuconfig/guiconfig). This gets extra bad now that there's also the "No change to ..." message. Modify load_config() and write_(min_)config() to return the message as a string instead, and have them always return a message, instead of just when 'filename' is None and verbose=True. This makes things flexible and straightforward. Use the new behavior in menuconfig.py and guiconfig.py. They now show "No change to ..." when saving a file doesn't modify it. Tools that want to write messages to stdout should now do print(kconf.load_config()) / print(kconf.write_config()). There's no clean way to preserve perfect backwards compatibility here, but keep accepting the 'verbose' argument and print a deprecation warning if a value is ever passed for it. That way, scripts will keep running, though possibly with less output on stdout. This changes the meaning of the load_config() return value as well, though I suspect it was only ever used by the menuconfig/guiconfig interfaces. The new behavior applies for kconfiglib.VERSION >= (12, 0, 0).
2019-05-19Make .config.old easier to discoverUlf Magnusson
Mention that the old version of an overwritten configuration file is saved to <filename>.old in a few different places, to make it easier to discover.
2019-03-22Whitespace consistency nitUlf Magnusson
2019-03-22Convert some comments to module docstrings in utilitiesUlf Magnusson
This makes running pydoc(3) on the utilities helpful. Reuse the module docstring for the --help text for utilities that use argparse. Also fix some copy-paste errors in the all*config.py descriptions and clean up the language a bit. Piggyback removal of an optimization in allmodconfig.py that's pretty irrelevant now.
2019-03-06setconfig: Fix help text formatUlf Magnusson
Need to use RawDescriptionHelpFormatter to preserve newlines in the description. Also fix a typo in the help text (s/assignments/assignment/)
2019-02-11setconfig: Add scriptUlf Magnusson
This is a simple script for updating configuration values from the command line, with (optional) checking that the assigned value matches the actual symbol value afterwards (which it might not if there are unsatisfied dependencies). Sample usage: $ setconfig FOO_SUPPORT=y BAR_BITS=8 This is useful for patching the configuration in automated build systems, in a way that's safer than directly patching configuration files.