public inbox for kdevops@lists.linux.dev
 help / color / mirror / Atom feed
* [PATCH RFC 0/6] Generate Kconfig environment in Ansible
@ 2025-03-28 20:56 Daniel Gomez
  2025-03-28 20:56 ` [PATCH RFC 1/6] merge_config: add fragment support from kernel Daniel Gomez
                   ` (5 more replies)
  0 siblings, 6 replies; 16+ messages in thread
From: Daniel Gomez @ 2025-03-28 20:56 UTC (permalink / raw)
  To: Luis Chamberlain; +Cc: kdevops, Daniel Gomez, Daniel Gomez

This is an effort to replace the scripts/* we use from Kconfig to
retrieve any possible Kconfig value (y/n/string) with Ansible. I believe
this has been discussed a few times on the mailing list, perhaps as a
potential idea. This aims to explore whether this approach makes sense
and what are the options.

The new workflow is:
* Run make menuconfig
* menuconfig runs kconfig-env target
* kconfig-env target calls Ansible kconfig.yml playbook
* kconfig.yml playbook generates a Kconfig fragment with the environment
(.env.config)
* .env.config is merged with .config
* make olddefconfig is run to generate a valid .config for menuconfig
* menuconfig is shown with the environment generated variables

While this adds new targets, it also removes the $shell calls in
Kconfig. However, when merging fragments, it appears that hidden symbols
cannot be merged and updated in .config, unless these are visible (and
therefore editable). So for this reason, a new Environment menu has
been created to list all these new vars. Any ideas/suggestion to keep
them invisible?

Note that only CONFIG_TOPDIR_PATH_SHA256SUM= is generated with Ansible
and added/merged to the Kconfig environment menu vars.

Thoughts?

Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
Daniel Gomez (6):
      merge_config: add fragment support from kernel
      scripts/kconfig/kconfig.Makefile: extend simple-targets
      kconfig-fragments: add docs and fragments folder
      kconfig-env: generate kconfig environment
      kconfig: env: add support
      playbooks: add kconfig support

 .gitignore                             |   2 +
 Kconfig                                |   9 +-
 Makefile                               |   1 +
 configs/callback-debug.config          |   2 +
 configs/callback-dense.config          |   2 +
 docs/kconfig-fragments.md              |  19 +++
 kconfigs/Kconfig.env                   |   5 +
 playbooks/kconfig.yml                  |   6 +
 playbooks/roles/kconfig/tasks/main.yml |  15 +++
 scripts/kconfig-env.Makefile           |  14 +++
 scripts/kconfig/Makefile               |   3 +
 scripts/kconfig/kconfig.Makefile       |   6 +-
 scripts/kconfig/merge_config.sh        | 213 +++++++++++++++++++++++++++++++++
 13 files changed, 289 insertions(+), 8 deletions(-)
---
base-commit: f83ea7595cc531e1c5413ffdf7f82714fc8ab7f0
change-id: 20250328-kconfig-env-with-ansible-33e3c3b3ae97

Best regards,
-- 
Daniel Gomez <da.gomez@samsung.com>


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2025-04-23  6:01 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-28 20:56 [PATCH RFC 0/6] Generate Kconfig environment in Ansible Daniel Gomez
2025-03-28 20:56 ` [PATCH RFC 1/6] merge_config: add fragment support from kernel Daniel Gomez
2025-03-28 20:56 ` [PATCH RFC 2/6] scripts/kconfig/kconfig.Makefile: extend simple-targets Daniel Gomez
2025-03-28 20:56 ` [PATCH RFC 3/6] kconfig-fragments: add docs and fragments folder Daniel Gomez
2025-03-28 20:56 ` [PATCH RFC 4/6] kconfig-env: generate kconfig environment Daniel Gomez
2025-03-28 20:56 ` [PATCH RFC 5/6] kconfig: env: add support Daniel Gomez
2025-03-28 20:56 ` [PATCH RFC 6/6] playbooks: add kconfig support Daniel Gomez
2025-03-28 22:58   ` Luis Chamberlain
2025-03-31  6:54     ` Daniel Gomez
2025-03-31  7:32       ` Luis Chamberlain
2025-03-31 18:31         ` Daniel Gomez
2025-04-01 21:02           ` Luis Chamberlain
2025-04-04 20:33             ` Daniel Gomez
2025-04-07  4:03               ` Luis Chamberlain
2025-04-14 10:58                 ` Daniel Gomez
2025-04-23  6:01                   ` Luis Chamberlain

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox