2013-04-04 19:03:17

by John Stultz

[permalink] [raw]
Subject: [PATCH] merge_config.sh: Avoid creating unnessary source softlinks

Viresh noticed when using merge_config.sh that a source softlink
was being created even when he didn't specify the -O option.

The problem arises due to the previous commit 409f117e2d6b
which added the -O option. Basically if -O is not specified,
we still pass '-O=.' to the make command, which then generates
a source softlink to ./

This patch adds an extra check so if there is no -O specified
to merge_config.sh, we don't pass one on to make.

Cc: Zhangfei Gao <[email protected]>
Cc: Viresh Kumar <[email protected]>
Cc: Michal Marek <[email protected]>
Cc: Bruce Ashfield <[email protected]>
Cc: Darren Hart <[email protected]>
Reported-by: Viresh Kumar <[email protected]>
Tested-by: Viresh Kumar <[email protected]>
Signed-off-by: John Stultz <[email protected]>
---
scripts/kconfig/merge_config.sh | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/scripts/kconfig/merge_config.sh b/scripts/kconfig/merge_config.sh
index 05274fc..81b0c61 100755
--- a/scripts/kconfig/merge_config.sh
+++ b/scripts/kconfig/merge_config.sh
@@ -120,10 +120,18 @@ if [ "$MAKE" = "false" ]; then
exit
fi

+# If we have an output dir, setup the O= argument, otherwise leave
+# it blank, since O=. will create an unnecessary ./source softlink
+OUTPUT_ARG=""
+if [ "$OUTPUT" != "." ] ; then
+ OUTPUT_ARG="O=$OUTPUT"
+fi
+
+
# Use the merged file as the starting point for:
# alldefconfig: Fills in any missing symbols with Kconfig default
# allnoconfig: Fills in any missing symbols with # CONFIG_* is not set
-make KCONFIG_ALLCONFIG=$TMP_FILE O=$OUTPUT $ALLTARGET
+make KCONFIG_ALLCONFIG=$TMP_FILE $OUTPUT_ARG $ALLTARGET


# Check all specified config values took (might have missed-dependency issues)
--
1.7.10.4


2013-04-05 15:26:59

by Darren Hart

[permalink] [raw]
Subject: Re: [PATCH] merge_config.sh: Avoid creating unnessary source softlinks



On 04/04/2013 12:02 PM, John Stultz wrote:
> Viresh noticed when using merge_config.sh that a source softlink
> was being created even when he didn't specify the -O option.
>
> The problem arises due to the previous commit 409f117e2d6b
> which added the -O option. Basically if -O is not specified,
> we still pass '-O=.' to the make command, which then generates
> a source softlink to ./
>
> This patch adds an extra check so if there is no -O specified
> to merge_config.sh, we don't pass one on to make.
>
> Cc: Zhangfei Gao <[email protected]>
> Cc: Viresh Kumar <[email protected]>
> Cc: Michal Marek <[email protected]>
> Cc: Bruce Ashfield <[email protected]>
> Cc: Darren Hart <[email protected]>
> Reported-by: Viresh Kumar <[email protected]>
> Tested-by: Viresh Kumar <[email protected]>
> Signed-off-by: John Stultz <[email protected]>

Thanks John!

Acked-by: Darren Hart <[email protected]>


> ---
> scripts/kconfig/merge_config.sh | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/kconfig/merge_config.sh b/scripts/kconfig/merge_config.sh
> index 05274fc..81b0c61 100755
> --- a/scripts/kconfig/merge_config.sh
> +++ b/scripts/kconfig/merge_config.sh
> @@ -120,10 +120,18 @@ if [ "$MAKE" = "false" ]; then
> exit
> fi
>
> +# If we have an output dir, setup the O= argument, otherwise leave
> +# it blank, since O=. will create an unnecessary ./source softlink
> +OUTPUT_ARG=""
> +if [ "$OUTPUT" != "." ] ; then
> + OUTPUT_ARG="O=$OUTPUT"
> +fi
> +
> +
> # Use the merged file as the starting point for:
> # alldefconfig: Fills in any missing symbols with Kconfig default
> # allnoconfig: Fills in any missing symbols with # CONFIG_* is not set
> -make KCONFIG_ALLCONFIG=$TMP_FILE O=$OUTPUT $ALLTARGET
> +make KCONFIG_ALLCONFIG=$TMP_FILE $OUTPUT_ARG $ALLTARGET
>
>
> # Check all specified config values took (might have missed-dependency issues)
>

--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Technical Lead - Linux Kernel

2013-04-10 08:57:25

by Michal Marek

[permalink] [raw]
Subject: Re: [PATCH] merge_config.sh: Avoid creating unnessary source softlinks

On Fri, Apr 05, 2013 at 08:26:56AM -0700, Darren Hart wrote:
>
>
> On 04/04/2013 12:02 PM, John Stultz wrote:
> > Viresh noticed when using merge_config.sh that a source softlink
> > was being created even when he didn't specify the -O option.
> >
> > The problem arises due to the previous commit 409f117e2d6b
> > which added the -O option. Basically if -O is not specified,
> > we still pass '-O=.' to the make command, which then generates
> > a source softlink to ./
> >
> > This patch adds an extra check so if there is no -O specified
> > to merge_config.sh, we don't pass one on to make.
> >
> > Cc: Zhangfei Gao <[email protected]>
> > Cc: Viresh Kumar <[email protected]>
> > Cc: Michal Marek <[email protected]>
> > Cc: Bruce Ashfield <[email protected]>
> > Cc: Darren Hart <[email protected]>
> > Reported-by: Viresh Kumar <[email protected]>
> > Tested-by: Viresh Kumar <[email protected]>
> > Signed-off-by: John Stultz <[email protected]>
>
> Thanks John!
>
> Acked-by: Darren Hart <[email protected]>

Added to kbuild.git#kconfig.

Michal