|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| lxdialog/ | H | 25-Apr-2025 | - | 2,402 | 1,834 |
| patches/ | H | 25-Apr-2025 | - | 843 | 768 |
| .gitignore | H A D | 25-Apr-2025 | 124 | 8 | 7 |
| Makefile | H A D | 25-Apr-2025 | 8.5 KiB | 235 | 170 |
| Makefile.mk | H A D | 25-Apr-2025 | 3.1 KiB | 115 | 69 |
| README.md | H A D | 25-Apr-2025 | 2.9 KiB | 86 | 57 |
| conf.c | H A D | 25-Apr-2025 | 19.9 KiB | 928 | 787 |
| confdata.c | H A D | 25-Apr-2025 | 25.8 KiB | 1,315 | 996 |
| description.md | H A D | 25-Apr-2025 | 20 | 2 | 1 |
| expr.c | H A D | 25-Apr-2025 | 30 KiB | 1,303 | 1,071 |
| expr.h | H A D | 25-Apr-2025 | 9.5 KiB | 326 | 181 |
| gconf-cfg.sh | H A D | 25-Apr-2025 | 789 | 34 | 25 |
| gconf.c | H A D | 25-Apr-2025 | 37.9 KiB | 1,512 | 1,209 |
| gconf.glade | H A D | 25-Apr-2025 | 25 KiB | 662 | 603 |
| images.c | H A D | 25-Apr-2025 | 6.4 KiB | 329 | 308 |
| images.h | H A D | 25-Apr-2025 | 862 | 34 | 24 |
| internal.h | H A D | 25-Apr-2025 | 172 | 10 | 5 |
| lexer.l | H A D | 25-Apr-2025 | 9.4 KiB | 496 | 424 |
| lexer.lex.c_shipped | H A D | 25-Apr-2025 | 113 KiB | 4,138 | 3,443 |
| list.h | H A D | 25-Apr-2025 | 3.7 KiB | 133 | 55 |
| lkc.h | H A D | 25-Apr-2025 | 3.7 KiB | 151 | 109 |
| lkc_proto.h | H A D | 25-Apr-2025 | 2 KiB | 60 | 46 |
| mconf-cfg.sh | H A D | 25-Apr-2025 | 1.6 KiB | 62 | 44 |
| mconf.c | H A D | 25-Apr-2025 | 26.1 KiB | 996 | 912 |
| menu.c | H A D | 25-Apr-2025 | 21.1 KiB | 855 | 588 |
| merge_config.sh | H A D | 25-Apr-2025 | 5.2 KiB | 212 | 166 |
| mnconf-common.c | H A D | 25-Apr-2025 | 794 | 54 | 38 |
| mnconf-common.h | H A D | 25-Apr-2025 | 372 | 19 | 12 |
| nconf-cfg.sh | H A D | 25-Apr-2025 | 1.4 KiB | 54 | 40 |
| nconf.c | H A D | 25-Apr-2025 | 39 KiB | 1,596 | 1,406 |
| nconf.gui.c | H A D | 25-Apr-2025 | 15.2 KiB | 642 | 534 |
| nconf.h | H A D | 25-Apr-2025 | 2.2 KiB | 89 | 72 |
| parser.tab.c_shipped | H A D | 25-Apr-2025 | 72.2 KiB | 2,184 | 1,865 |
| parser.tab.h_shipped | H A D | 25-Apr-2025 | 4.9 KiB | 133 | 114 |
| parser.y | H A D | 25-Apr-2025 | 15.3 KiB | 718 | 589 |
| preprocess.c | H A D | 25-Apr-2025 | 11.1 KiB | 578 | 385 |
| qconf-cfg.sh | H A D | 25-Apr-2025 | 1,016 | 41 | 31 |
| qconf.cc | H A D | 25-Apr-2025 | 43.5 KiB | 1,929 | 1,589 |
| qconf.h | H A D | 25-Apr-2025 | 6.4 KiB | 276 | 233 |
| regex.c | H A D | 25-Apr-2025 | 156.4 KiB | 4,946 | 2,922 |
| regex.h | H A D | 25-Apr-2025 | 18.2 KiB | 491 | 168 |
| streamline_config.pl | H A D | 25-Apr-2025 | 16.4 KiB | 707 | 468 |
| symbol.c | H A D | 25-Apr-2025 | 28.2 KiB | 1,280 | 1,042 |
| toada.c | H A D | 25-Apr-2025 | 3 KiB | 136 | 112 |
| util.c | H A D | 25-Apr-2025 | 2.1 KiB | 129 | 101 |
README.md
1# coreboot kconfig
2
3This is coreboot's copy of kconfig which tracks Linux as upstream but comes
4with a few patches for portability but also a few semantic changes.
5
6The patches that lead to this tree can be found in the patches/ subdirectory
7in a [quilt](http://savannah.nongnu.org/projects/quilt) friendly format that
8is also simple enough to manage manually with Unix tooling.
9
10## Updating kconfig
11
12The first step is to unapply the patches. This can either be done with quilt
13in an already-configured tree (`quilt pop -a` should cleanly unapply them all)
14or manually if quilt doesn't have its tracking metadata around yet:
15
16```sh
17for i in $( ls patches/*.patch | tac ); do patch -p1 -R -i "$i"; done
18```
19
20The result should be a subtree that, apart from a few coreboot specific
21files on our side (e.g. documentation, integration in our build system)
22and a few files on the upstream end that we don't carry (e.g. the tests),
23is identical to the scripts/kconfig/ directory of Linux as of the most recent
24uprev we did. Check the uprev version by looking through
25`git log util/kconfig` output in our tree.
26
27Assuming that you want to uprev from Linux 5.13 to 5.14, with a Linux git tree
28available in `~/linux`
29
30```sh
31cd util/kconfig && (cd ~/linux/ && git diff v5.13..v5.14 scripts/kconfig) | patch -p2`
32```
33
34applies the changes to your local tree.
35
36Then reapply our patch train, which might be as simple as
37`quilt push -a --refresh` but might also require some meddling with the
38patches to make them apply again with the changes you just imported from
39Linux.
40
41Check that kconfig still works, `git add` and `git commit` the changes and
42write a meaningful commit message that documents what Linux kconfig version
43the tree has been upreved to.
44
45## Adding a new patch
46
47The format of the patches to kconfig is a mix of the headers produced by `git
48format-patch` and the patch format of quilt. However neither git nor quilt
49seems to have any functionality to directly produce a file in such a format
50
51To add a patch in this format:
521. Add your changes to the sources and `git commit` them
532. Generate a git patch for the commit:
54
55 $ git format-patch HEAD~
56
573. Reverse apply the newly created patch file to restore the tree back to the
58 state quilt thinks it is in:
59
60 $ git apply -R <the patch file>
61
624. Import the patch info quilt:
63
64 $ quilt import <the patch file>
65
665. Force push the change to the top of quilt's patch stack (quilt won't like
67 the git diff style and would normally refuse to apply the patch):
68
69 $ quilt push -f <the patch file>
70
716. Add the changed files to be tracked against the quilt:
72
73 $ quilt add <the files you changed>
74
757. Re-apply your changes from the patch file:
76
77 $ git apply <the patch file>
78
798. Add the changes to quilt to regenerate the patch file in a quilt compatible
80 format while keeping the git header:
81
82 $ quilt refresh
83
849. The new patch file and updated patches/series files can now be added to the
85 git commit
86