linux/scripts/kconfig
Masahiro Yamada 16952b77d8 kconfig: make syncconfig update .config regardless of sym_change_count
syncconfig updates the .config only when sym_change_count > 0, i.e.
any change in config symbols has been detected.

Not only symbols but also comments are contained in the .config file.
If only comments are updated, they are not fed back to the .config,
then the stale comments are left-over.  Of course, this is just a
matter of comments, but why not fix it.

I see some scenarios where this happens.

Scenario A:

 1. You have a source tree that has already been configured.

 2. Linus increments the version number in the top-level Makefile
    (i.e. he commits a new release)

 3. You pull it, and run 'make'

 4. syncconfig is invoked because the environment variable,
    KERNELVERSION is updated, but the .config is not updated since
    no config symbol is changed.

 5. The .config file contains a kernel version in the top line:

    # Automatically generated file; DO NOT EDIT.
    # Linux/arm64 4.18.0-rc2 Kernel Configuration

    ... which points to a previous version.

Scenario B:

 1. You have a source tree that has already been configured.

 2. You upgrade the compiler, but it still has the same version number.
    This may happen if you regularly build the latest compiler from
    the source code.

 3. You run 'make'

 4. syncconfig is invoked because the environment variable,
    CC_VERSION_TEXT is updated, but the .config is not updated since
    no config symbol is changed.

 5. The .config file contains the version string of the compiler:

    #
    # Compiler: aarch64-linux-gcc (GCC) 9.0.0 20180628 (experimental)
    #

    ... which carries the information of the old compiler.

If KCONFIG_NOSILENTUPDATE is set, syncconfig is not allowed to update
the .config file.  Otherwise, it is fine to update it regardless of
sym_change_count.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-07-25 23:25:30 +09:00
..
lxdialog kconfig: drop localization support 2018-05-28 18:25:21 +09:00
tests kconfig: test: add Kconfig macro language tests 2018-05-29 03:31:19 +09:00
.gitignore kconfig: drop localization support 2018-05-28 18:25:21 +09:00
check-pkgconfig.sh kconfig: check for pkg-config on make {menu,n,g,x}config 2018-07-18 01:18:09 +09:00
conf.c kconfig: make syncconfig update .config regardless of sym_change_count 2018-07-25 23:25:30 +09:00
confdata.c kconfig: create directories needed for syncconfig by itself 2018-07-25 23:25:30 +09:00
expr.c kconfig: make unmet dependency warnings readable 2018-03-26 02:04:06 +09:00
expr.h kconfig: rename SYMBOL_AUTO to SYMBOL_NO_WRITE 2018-07-18 01:18:09 +09:00
gconf-cfg.sh kconfig: refactor GTK+ package checks for building gconf 2018-05-28 18:25:21 +09:00
gconf.c kconfig: rename SYMBOL_AUTO to SYMBOL_NO_WRITE 2018-07-18 01:18:09 +09:00
gconf.glade
images.c
kconf_id.c kconfig: reference environment variables directly and remove 'option env=' 2018-05-29 03:28:58 +09:00
list.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
lkc_proto.h kconfig: handle format string before calling conf_message_callback() 2018-07-25 23:24:35 +09:00
lkc.h kconfig: rename file_write_dep and move it to confdata.c 2018-07-25 23:25:28 +09:00
Makefile kconfig: create directories needed for syncconfig by itself 2018-07-25 23:25:30 +09:00
mconf-cfg.sh kconfig: refactor ncurses package checks for building mconf and nconf 2018-05-28 18:25:21 +09:00
mconf.c kconfig: handle format string before calling conf_message_callback() 2018-07-25 23:24:35 +09:00
menu.c kconfig: rename SYMBOL_AUTO to SYMBOL_NO_WRITE 2018-07-18 01:18:09 +09:00
merge_config.sh kconfig/merge_config.sh: Accept a single file 2015-10-14 16:19:37 +02:00
nconf-cfg.sh kconfig: refactor ncurses package checks for building mconf and nconf 2018-05-28 18:25:21 +09:00
nconf.c kconfig: handle format string before calling conf_message_callback() 2018-07-25 23:24:35 +09:00
nconf.gui.c kconfig: add xrealloc() helper 2018-02-10 11:26:04 +09:00
nconf.h kconfig: drop localization support 2018-05-28 18:25:21 +09:00
preprocess.c kconfig: loop boundary condition fix 2018-06-28 22:48:08 +09:00
qconf-cfg.sh kconfig: refactor Qt package checks for building qconf 2018-05-28 18:25:21 +09:00
qconf.cc kconfig: drop localization support 2018-05-28 18:25:21 +09:00
qconf.h Port xconfig to Qt5 - Source format. 2015-10-14 14:59:03 +02:00
streamline_config.pl kconfig: fix localmodconfig 2018-06-11 09:16:30 +09:00
symbol.c kconfig: rename SYMBOL_AUTO to SYMBOL_NO_WRITE 2018-07-18 01:18:09 +09:00
util.c kconfig: rename file_write_dep and move it to confdata.c 2018-07-25 23:25:28 +09:00
zconf.l kconfig: expand lefthand side of assignment statement 2018-05-29 03:31:19 +09:00
zconf.y kconfig: rename SYMBOL_AUTO to SYMBOL_NO_WRITE 2018-07-18 01:18:09 +09:00