KCONFIG-gettext(1)

πŸ’– KCONFIG-gettext β€” the manual page, but make it make sense πŸ’–

okay bestie, gather round, because we're talking about kconfig-gettext(1) β€” a standalone implementation of the Linux Kconfig parser, straight outta October 2017. she's giving vintage, she's giving parser energy, and honestly? she ate. πŸ“


✨ NAME ✨

kconfig-gettext β€” a standalone implementation of the Linux Kconfig parser. no cap, that's the whole vibe.


πŸ¦‹ SYNOPSIS πŸ¦‹

kconfig-gettext [options] <KConfig_file>

one binary, some options, one file. simple. iconic. πŸ’…


🌸 DESCRIPTION 🌸

so the kconfig toolkit supports the Kconfig language and implements the parser and the configuration support that goes with the KConfig files β€” all while respecting the Linux kernel KConfig convention. periodt.

now, at configuration time, you got options, and they're each built on a different toolkit, iykyk:

  • kconfig-mconf is based on ncurses (that's menuconfig, the classic)
  • kconfig-conf is based on dialog (that's config)
  • kconfig-gconf is based on GTK+ (that's gconfig, the fancy one πŸ‘‘

and the associated tools:

  • kconfig-diff displays symbols diff between .config files

πŸ’œ OPTIONS πŸ’œ

  • --silentoldconfig β€” only for kconfig-conf. it reloads a given .config and regenerates the header and command files accordingly. lowkey a glow-up for your config. ✨
  • --allnoconfig β€” sets all boolean configuration to no. everything's a no from her. πŸ™ˆ
  • --allyesconfig β€” sets all boolean configuration to yes. yes yes yes, she's saying yes to everything, main character energy. πŸ‘‘
  • --randconfig β€” generates a random configuration. chaos, but make it structured. 🎲

🌈 ENVIRONMENT 🌈

πŸŽ€ Environment variables for *config

  • KCONFIG_CONFIG

this environment variable can be used to specify a default kernel config file name, overriding the default name of ".config".

  • KCONFIG_OVERWRITECONFIG

if you set KCONFIG_OVERWRITECONFIG in the environment, Kconfig will not break symlinks when .config is a symlink to somewhere else.

  • CONFIG_

if you set CONFIG_ in the environment, Kconfig will prefix all symbols with its value when saving the configuration, instead of using the default, "CONFIG_".

🧚 Environment variables for {allyes/allmod/allno/rand}config

  • KCONFIG_ALLCONFIG

the allyesconfig/allmodconfig/allnoconfig/randconfig variants can also use the environment variable KCONFIG_ALLCONFIG as a flag or a filename that contains config symbols that the user requires to be set to a specific value. if KCONFIG_ALLCONFIG is used without a filename β€” where KCONFIG_ALLCONFIG == "" or KCONFIG_ALLCONFIG == "1" β€” make *config checks for a file named "all{yes/mod/no/def/random}.config" (corresponding to the *config command that was used) for symbol values that are to be forced. if this file is not found, it checks for a file named "all.config" to contain forced values.

this enables you to create "miniature" config (miniconfig) or custom config files containing just the config symbols that you are interested in. then the kernel config system generates the full .config file, including symbols of your miniconfig file.

this KCONFIG_ALLCONFIG file is a config file which contains (usually a subset of all) preset config symbols. these variable settings are still subject to normal dependency checks. πŸ‘€

Examples:

KCONFIG_ALLCONFIG=custom-notebook.config make allnoconfig or
KCONFIG_ALLCONFIG=mini.config make allnoconfig or
make KCONFIG_ALLCONFIG=mini.config allnoconfig

these examples will disable most options (allnoconfig) but enable or disable the options that are explicitly listed in the specified mini-config files.

⭐ Environment variables for randconfig

  • KCONFIG_SEED

you can set this to the integer value used to seed the RNG, if you want to somehow debug the behaviour of the kconfig parser/frontends. if not set, the current time will be used. ⏰

  • KCONFIG_PROBABILITY

this variable can be used to skew the probabilities. see /usr/share/doc/kconfig-frontends/kconfig.txt.gz.

πŸ’€ Environment variables for silentoldconfig

  • KCONFIG_NOSILENTUPDATE

if this variable has a non-blank value, it prevents silent kernel config updates (requires explicit updates). no sneaky updates allowed, bestie. 🚫

  • KCONFIG_AUTOCONFIG

this environment variable can be set to specify the path name of the "auto.conf" file. its default value is "include/config/auto.conf".

  • KCONFIG_TRISTATE

this environment variable can be set to specify the path name of the "tristate.conf" file. its default value is "include/config/tristate.conf".

  • KCONFIG_AUTOHEADER

this environment variable can be set to specify the path name of the "autoconf.h" (header) file. its default value is "include/generated/autoconf.h".


🫢 HISTORY 🫢

June 2017, man page originally compiled by Philippe Thierry (phil at reseau-libre dot com). shoutout to the original author, fr fr. 🫑


and that's the whole page, bestie!! every flag, every env var, every default β€” all of it, untouched, just wrapped in ✨aura✨. stay parsing, stay slaying. πŸ’…πŸŒΈ

kconfig-gettext Man Page β€” Philippe Thierry β€” October 2017 πŸ’–