[yocto] [OE-core][yocto-kernel-tools][PATCH] merge_configs.sh: fail loudly if make also fails

Bruce Ashfield bruce.ashfield at windriver.com
Mon Aug 29 06:27:42 PDT 2016


On 2016-08-29 09:22 AM, Ioan-Adrian Ratiu wrote:
> On Mon, 29 Aug 2016, Bruce Ashfield <bruce.ashfield at windriver.com> wrote:
>> On 2016-08-29 08:07 AM, Bruce Ashfield wrote:
>>>
>>>
>>> On Mon, Aug 29, 2016 at 5:19 AM, Ioan-Adrian Ratiu <adrian.ratiu at ni.com
>>> <mailto:adrian.ratiu at ni.com>> wrote:
>>>
>>>     merge_configs.sh calls make on the generated kernel config from
>>>     the defconfig + fragments to fill in any missing symbols. make
>>>     can fail and this can lead to nasty errors further on in the
>>>     build like generating an unbootable kernel image.
>>>
>>>     Check the make return code and fail loudly if non-zero.
>>>
>>>
>>> We don't want merge config to fail in a scenario like this. It is up to
>>> whatever
>>> calls merge_config to add that sort of logic. Which is what I do with
>>> the kernel
>>> audit phase of linux-yocto.
>>
>> I saw the other patch after replying here. So this is causing some sort
>> of non Kconfig related error (i.e. host contamination) ? If so, that is
>> a different scenario than I was thinking of when I wrote this.
>
> Yes, exactly.
>
>>
>> Either way, like I said in my other email, I'd like to understand why
>> this is popping up now, since I'm not seeing anything like it in my
>> builds .. with my recent changes, all that I've essentially done is
>> expose merge_config to the actual tasks, so if this is showing an error
>> I jiggled something else, or it was always around.
>
> It was always around, even before the cleanup you did in this area .
> Remember I sent you a year ago patches for this issue when you were on
> vacation and you told me you didn't need that patch?

Let me spin up a couple more builds.

I'm about to push v4.8 support, and I'd like to see if I can trigger
the same issue in my clean builds.

If I can't make it happen, my answer will still be the same :D But
If I do see this, I'll queue the patch with my series and let you
know.

Bruce

>
> These patches are a rebase on top of the current master of those from
> a year ago. This issue is around since the sysroot poisoning commit back
> in 2014.
>
>>
>> Bruce
>>
>>>
>>> If you do want to try and make it fail in a scenario like this, the
>>> patch needs to
>>> go to the linux kernel mailing list.
>>>
>>> Cheers,
>>>
>>> Bruce
>>>
>>>
>>>
>>>     Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu at ni.com
>>>     <mailto:adrian.ratiu at ni.com>>
>>>     ---
>>>      tools/merge_config.sh | 5 ++++-
>>>      1 file changed, 4 insertions(+), 1 deletion(-)
>>>
>>>     diff --git a/tools/merge_config.sh b/tools/merge_config.sh
>>>     index 67d1314..5212f37 100755
>>>     --- a/tools/merge_config.sh
>>>     +++ b/tools/merge_config.sh
>>>     @@ -152,7 +152,10 @@ fi
>>>      # 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 $OUTPUT_ARG $ALLTARGET
>>>     -
>>>     +if [ "$?" -ne 0 ]; then
>>>     +    echo "Make failed to fill missing config symbols. Exit." >&2
>>>     +    exit 1
>>>     +fi
>>>
>>>
>>>      # Check all specified config values took (might have
>>>     missed-dependency issues)
>>>      for CFG in $(sed -n "$SED_CONFIG_EXP" $TMP_FILE); do
>>>     --
>>>     2.9.3
>>>
>>>
>>>
>>>
>>> --
>>> "Thou shalt not follow the NULL pointer, for chaos and madness await
>>> thee at its end"
>>>
>>>




More information about the yocto mailing list