kconfig: support read-only Buildroot source directories
PATCH 1/1 kconfig: support read-only Buildroot source directories
merge_config.sh currently tries to create a .tmp file in the top-level Buildroot source tree. This fails when that directory is read-only, leading to unexpected .config file contents (affecting the configuration of Buildroot itself, Linux, and Busybox).
Fix it by using mktemp --tmpdir to create the .tmp file in $TMPDIR or /tmp.
--- support/kconfig/merge_config.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
support/kconfig/merge_config.sh +1 -1
@@ -82,7 +82,7 @@ shift; MERGE_LIST=$* SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(CONFIG_[a-zA-Z0-9_]*\)[= ].*/\2/p" -TMP_FILE=$(mktemp ./.tmp.config.XXXXXXXXXX) +TMP_FILE=$(mktemp --tmpdir .tmp.config.XXXXXXXXXX) echo "Using $INITFILE as base" cat $INITFILE > $TMP_FILE
Signature · 1 line
2.3.2
PATCH 1/1 kconfig: support read-only Buildroot source directories
Hollis, All,
On 2015-08-13 15:22 -0700, Hollis Blanchard spake thusly:
Quoted 8 lines
merge_config.shcurrently tries to create a .tmp file in the top-level Buildroot source tree. This fails when that directory is read-only, leading to unexpected .config file contents (affecting the configuration of Buildroot itself, Linux, and Busybox).Fix it by using mktemp --tmpdir to create the .tmp file in $TMPDIR or /tmp.
Signed-off-by Hollis Blanchard <[email protected]>
Regards,
Yann E. MORIN.
Quoted 24 lines
--- support/kconfig/merge_config.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)support/kconfig/merge_config.sh +1
-1@@ -82,7 +82,7 @@ shift; MERGE_LIST=$* SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(CONFIG_[a-zA-Z0-9_]*\)[= ].*/\2/p" -TMP_FILE=$(mktemp ./.tmp.config.XXXXXXXXXX) +TMP_FILE=$(mktemp --tmpdir .tmp.config.XXXXXXXXXX) echo "Using $INITFILE as base" cat $INITFILE > $TMP_FILESignature · 6 lines
2.3.2 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 1/1 kconfig: support read-only Buildroot source directories
Hello Hollis,
Quoted 8 lines · Yann E. MORIN
Hollis, All,
On 2015-08-13 15:22 -0700, Hollis Blanchard spake thusly:
Quoted 5 lines
merge_config.shcurrently tries to create a .tmp file in the top-level Buildroot source tree. This fails when that directory is read-only, leading to unexpected .config file contents (affecting the configuration of Buildroot itself, Linux, and Busybox).
Quoted 9 lines
Quoted 3 lines
Fix it by using mktemp --tmpdir to create the .tmp file in $TMPDIR or /tmp.
Signed-off-by Hollis Blanchard <[email protected]>Acked-by "Yann E. MORIN" <[email protected]>Regards,
Yann E. MORIN.
I mentioned on IRC the other day that I had reproduced the problem; I have tested this patch and it works for me, so:
PATCH 1/1 kconfig: support read-only Buildroot source directories
In reply to Hollis BlanchardHollis,
Quoted 17 lines · Hollis Blanchard
merge_config.shcurrently tries to create a .tmp file in the top-level Buildroot source tree. This fails when that directory is read-only, leading to unexpected .config file contents (affecting the configuration of Buildroot itself, Linux, and Busybox).Fix it by using mktemp --tmpdir to create the .tmp file in $TMPDIR or /tmp.
Signed-off-by Hollis Blanchard <[email protected]>--- support/kconfig/merge_config.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)support/kconfig/merge_config.sh +0
-0
support/kconfig/merge_config.sh shift; · line 88
Quoted 8 lines
support/kconfig/merge_config.sh +1
-1@@ -82,7 +82,7 @@ shift; MERGE_LIST=$* SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(CONFIG_[a-zA-Z0-9_]*\)[= ].*/\2/p" -TMP_FILE=$(mktemp ./.tmp.config.XXXXXXXXXX) +TMP_FILE=$(mktemp --tmpdir .tmp.config.XXXXXXXXXX) echo "Using $INITFILE as base" cat $INITFILE > $TMP_FILE
Thanks for this patch! It looks good in principle, but is not done correctly. support/kconfig/ is directly inherited from the kernel source code, and we keep a series of patches in support/kconfig/patches/ to clearly identify the changes we made compared to the original kernel version. See support/kconfig/README.buildroot for details.
Could you rework your patch to also add a patch to support/kconfig/patches/ ? Can you check whether the problem also exists in the kernel kconfig code, and if so, report the problem to the kernel developers ?
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 kconfig: support read-only Buildroot source directories
Hello all,
This bug seems to be somewhat major to remain in the 2015.08 release, as it prevents users from using a read-only buildroot source with out-of-tree builds.
Quoted 7 lines · Thomas Petazzoni
Thanks for this patch! It looks good in principle, but is not done correctly. support/kconfig/ is directly inherited from the kernel source code, and we keep a series of patches in support/kconfig/patches/ to clearly identify the changes we made compared to the original kernel version. See support/kconfig/README.buildroot for details.
Quoted 5 lines
Could you rework your patch to also add a patch to support/kconfig/patches/ ? Can you check whether the problem also exists in the kernel kconfig code, and if so, report the problem to the kernel developers ?
Hollis, did you manage to evolve this issue with the kernel developers? Or, will you have time to work this patch before the release according to Thomas' review?
I believe it would be a very important fix, and I could pick it in case you are unable right now.
Thanks,
Erico
PATCH 1/1 kconfig: support read-only Buildroot source directories
It's on my list, but I don't expect to be able to get back to this for quite a while. Sorry!
Hollis Blanchard
Mentor Graphics Emulation Division
Quoted 29 lines · Erico Nunes
Hello all,
This bug seems to be somewhat major to remain in the 2015.08 release, as it prevents users from using a read-only buildroot source with out-of-tree builds.
Quoted 7 lines · Thomas Petazzoni
Thanks for this patch! It looks good in principle, but is not done correctly. support/kconfig/ is directly inherited from the kernel source code, and we keep a series of patches in support/kconfig/patches/ to clearly identify the changes we made compared to the original kernel version. See support/kconfig/README.buildroot for details.
Quoted 5 lines
Could you rework your patch to also add a patch to support/kconfig/patches/ ? Can you check whether the problem also exists in the kernel kconfig code, and if so, report the problem to the kernel developers ?
Hollis, did you manage to evolve this issue with the kernel developers? Or, will you have time to work this patch before the release according to Thomas' review?
I believe it would be a very important fix, and I could pick it in case you are unable right now.Thanks,
Erico