Conversation
This replaces 'tools/kconfig' git submodule with shallow on-demand clone triggered by 'make defconfig' or 'make config'. Add 'make distclean' to remove the cloned Kconfiglib along with build artifacts. It converts all boolean $(shell,...) checks in configs/Kconfig to the portable $(python,...) preprocessor function, which evaluates Python code in-process without spawning a shell. This eliminates shell-specific idioms (2>/dev/null, && echo y || echo n, test -n) and the shell injection vector from environment variables. COMPILER_TYPE retains $(shell,...) since $(python,...) only returns y/n and cannot produce string output.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This replaces 'tools/kconfig' git submodule with shallow on-demand clone triggered by 'make defconfig' or 'make config'. Add 'make distclean' to remove the cloned Kconfiglib along with build artifacts.
It converts all boolean
$(shell,...)checks in configs/Kconfig to the portable$(python,...)preprocessor function, which evaluates Python code in-process without spawning a shell. This eliminates shell-specific idioms (2>/dev/null, && echo y || echo n, test -n) and the shell injection vector from environment variables.COMPILER_TYPE retains
$(shell,...)since $(python,...) only returns y/n and cannot produce string output.Summary by cubic
Switch Kconfig to the built-in $(python) function for boolean checks and fetch Kconfiglib via an on-demand shallow clone. This removes shell-specific logic, improves portability, and reduces risk from env-based shell injection; adds distclean for cleanup.
Refactors
Dependencies
Written for commit 0a06e45. Summary will update on new commits.