forcibly disable config

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello, dear community,

I want to ask what is a proper way to disable config forcibly.

For example, I have some config somewhere in common Kconfig:
config NAME
bool "some short description" if EXPERT
default y

When I do the command `make olddefconfig`, it will generate a new
config based on old .config.
So my expectation was if I put CONFIG_NAME=n to .config and then ran
the command, I'll get CONFIG_NAME=n in the final .config, but it
doesn't work.

If you update 'config NAME' from `default y` to `default n`, all will
be fine, but it is not the best solution to touch common Kconfig.
If you use 'make defconfig' and put `# CONFIG_NAME is not set`, then
all will be fine too, but my CI uses 'make olddefconfig`, which ignores
`*_defconfig`.
Also, I tried to override CONFIG_NAME in arch-specific Kconfig in the
following way:
config NAME
bool
default n
and it works for olddefconfig, but if you use `make randconfig`, it
still can set CONFIG_NAME=y.

I tried debugging the conf utility and found that [1] CONFIG_NAME is
set to n, but [2] it takes `default y` from the original in Kconfig
common, ignoring what I write to .config.
Is it expected behavior?

Could you please let me know the right solution?


[1]
https://github.com/torvalds/linux/blob/master/scripts/kconfig/confdata.c#L490


[2]
https://github.com/torvalds/linux/blob/master/scripts/kconfig/symbol.c#L394


_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies




[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]

  Powered by Linux