Re: [PATCH] scripts: kconfig: merge_config.sh: keep temp file in the output dir
Nicolas Schier <[email protected]> Wed, 8 Jul 2026 20:47:25 +0200
| Newsgroups | gmane.linux.kbuild.devel,gmane.linux.kernel |
|---|---|
| Message-ID | <ak6bPbhLtfBV5M0q@levanger> |
On Wed, Jul 08, 2026 at 04:04:54AM -0700, Gustavo Luiz Duarte wrote: > merge_config.sh currently creates a temporary file in the current > directory. Create it under $OUTPUT instead, which allows running the > script against a read-only source tree. > > The default behavior is unchanged: $OUTPUT is "." so the file stays in > the cwd. Out of curiosity: in which situation do you need this fix? > > Signed-off-by: Gustavo Luiz Duarte <[email protected]> > --- > scripts/kconfig/merge_config.sh | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/kconfig/merge_config.sh b/scripts/kconfig/merge_config.sh > index f08e0863b7128..a63250d4cbf12 100755 > --- a/scripts/kconfig/merge_config.sh > +++ b/scripts/kconfig/merge_config.sh > @@ -122,7 +122,7 @@ fi > > MERGE_LIST=$* > > -TMP_FILE=$(mktemp ./.tmp.config.XXXXXXXXXX) > +TMP_FILE=$(mktemp "$OUTPUT/.tmp.config.XXXXXXXXXX") <bike-shedding> While this does as written in the commit message, I'd rather expected something like mktemp --tmpdir="$OUTPUT" .tmp.config.XXXXXXXXXX instead. </bike-shedding> When I am reading the help text for merge_config.sh's '-O', I think we should adjust the default output directory as well: -O dir to put generated output files. Consider setting $KCONFIG_CONFIG instead. With a read-only source tree in mind, KCONFIG_CONFIG probably has to be set, otherwise we'd not need to put the temporary file somewhere else. Might it be more consistent to use $(dirname ${KBUILD_KCONFIG}) as default for OUTPUT instead of '.'? So, once again: in which situation do you need the fix? Is it really sufficient as it is? Nevertheless, I think it's a good idea, thanks for the patch. Kind regards, Nicolas