coreboot-kgpe-d16/util/kconfig
Martin Roth 35e09ec8ae util/kconfig: Move Kconfig deps back into build/config
revert commit 1b9e740a8 (kconfig: fix failing to generate auto.conf) [1]

The above change caused all of the enabled kconfig options to be written
into the top level build directory.  We don't want that, so go back to
the old behavior for the coreboot tree.

[1] 1b9e740a81

Signed-off-by: Martin Roth <gaumless@gmail.com>
Change-Id: I2904f69a5d85337ad0a6b48590ccd4b4a6e38b70
Reviewed-on: https://review.coreboot.org/c/coreboot/+/69536
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
2022-11-17 23:37:48 +00:00
..
lxdialog
patches util/kconfig: Uprev to Linux 5.18's kconfig 2022-10-30 08:46:23 +00:00
.gitignore
Makefile util/kconfig: Uprev to Linux 5.17's kconfig 2022-10-30 08:46:03 +00:00
Makefile.inc
README.md util/kconfig: Add README.md documenting the uprev procedure 2022-07-22 19:27:32 +00:00
conf.c util/kconfig: Uprev to Linux 5.17's kconfig 2022-10-30 08:46:03 +00:00
confdata.c util/kconfig: Move Kconfig deps back into build/config 2022-11-17 23:37:48 +00:00
description.md
expr.c
expr.h
gconf-cfg.sh util/kconfig: Uprev to Linux 5.19's kconfig 2022-10-30 08:46:50 +00:00
gconf.c
gconf.glade
images.c
images.h
internal.h
lexer.l util/kconfig: Uprev to Linux 5.16's kconfig 2022-10-30 08:45:52 +00:00
lexer.lex.c_shipped
list.h
lkc.h util/kconfig: Uprev to Linux 6.0's kconfig 2022-10-30 08:47:21 +00:00
lkc_proto.h util/kconfig: Uprev to Linux 5.16's kconfig 2022-10-30 08:45:52 +00:00
mconf-cfg.sh util/kconfig: Uprev to Linux 5.19's kconfig 2022-10-30 08:46:50 +00:00
mconf.c
menu.c util/kconfig: Uprev to Linux 6.0's kconfig 2022-10-30 08:47:21 +00:00
merge_config.sh util/kconfig: Uprev to Linux 5.15's kconfig 2021-11-02 08:10:47 +00:00
nconf-cfg.sh util/kconfig: Uprev to Linux 5.19's kconfig 2022-10-30 08:46:50 +00:00
nconf.c util/kconfig: Uprev to Linux 5.19's kconfig 2022-10-30 08:46:50 +00:00
nconf.gui.c
nconf.h
parser.tab.c_shipped
parser.tab.h_shipped
parser.y
preprocess.c util/kconfig: Uprev to Linux 5.17's kconfig 2022-10-30 08:46:03 +00:00
qconf-cfg.sh util/kconfig: Uprev to Linux 6.0's kconfig 2022-10-30 08:47:21 +00:00
qconf.cc
qconf.h
regex.c util/kconfig/regex.c: Remove leftover 2022-09-16 14:52:44 +00:00
regex.h
streamline_config.pl util/kconfig: Uprev to Linux 5.17's kconfig 2022-10-30 08:46:03 +00:00
symbol.c util/kconfig: Uprev to Linux 5.16's kconfig 2022-10-30 08:45:52 +00:00
toada.c
util.c

README.md

coreboot kconfig

This is coreboot's copy of kconfig which tracks Linux as upstream but comes with a few patches for portability but also a few semantic changes.

The patches that lead to this tree can be found in the patches/ subdirectory in a quilt friendly format that is also simple enough to manage manually with Unix tooling.

Updating kconfig

The first step is to unapply the patches. This can either be done with quilt in an already-configured tree (quilt pop -a should cleanly unapply them all) or manually if quilt doesn't have its tracking metadata around yet:

$ for i in `ls patches/*.patch | tac`; do patch -p1 -R -i "$i"; done

The result should be a subtree that, apart from a few coreboot specific files on our side (e.g. documentation, integration in our build system) and a few files on the upstream end that we don't carry (e.g. the tests), is identical to the scripts/kconfig/ directory of Linux as of the most recent uprev we did. Check the uprev version by looking through git log util/kconfig output in our tree.

Assuming that you want to uprev from Linux 5.13 to 5.14, with a Linux git tree available in ~/linux,

$ cd util/kconfig && (cd ~/linux/ && git diff v5.13..v5.14 scripts/kconfig) | patch -p2`

applies the changes to your local tree.

Then reapply our patch train, which might be as simple as quilt push -a --refresh but might also require some meddling with the patches to make them apply again with the changes you just imported from Linux.

Check that kconfig still works, git add and git commit the changes and write a meaningful commit message that documents what Linux kconfig version the tree has been upreved to.