On Wed, Aug 2, 2023 at 9:15 AM Joel Stanley <[email protected]> wrote:
>
> On Wed, 2 Aug 2023 at 12:45, Frédéric Martinsons
> <[email protected]> wrote:
> >
> >
> >
> > On Wed, 2 Aug 2023 at 13:47, Joel Stanley <[email protected]> wrote:
> >>
> >> The one liner tests using `[ ] && action` need to have || true after the 
> >> action,
> >> otherwise the line returns false and the recipie fails.
> >>
> >> Signed-off-by: Joel Stanley <[email protected]>
> >> ---
> >>  meta/classes-recipe/kernel.bbclass | 4 ++--
> >>  1 file changed, 2 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/meta/classes-recipe/kernel.bbclass 
> >> b/meta/classes-recipe/kernel.bbclass
> >> index 247ef4a48aa7..f1bc41e82be8 100644
> >> --- a/meta/classes-recipe/kernel.bbclass
> >> +++ b/meta/classes-recipe/kernel.bbclass
> >> @@ -486,7 +486,7 @@ kernel_do_install() {
> >>         install -m 0644 System.map 
> >> ${D}/${KERNEL_IMAGEDEST}/System.map-${KERNEL_VERSION}
> >>         install -m 0644 .config 
> >> ${D}/${KERNEL_IMAGEDEST}/config-${KERNEL_VERSION}
> >>         install -m 0644 vmlinux 
> >> ${D}/${KERNEL_IMAGEDEST}/vmlinux-${KERNEL_VERSION}
> >> -       [ -e Module.symvers ] && install -m 0644 Module.symvers 
> >> ${D}/${KERNEL_IMAGEDEST}/Module.symvers-${KERNEL_VERSION}
> >> +       [ -e Module.symvers ] && install -m 0644 Module.symvers 
> >> ${D}/${KERNEL_IMAGEDEST}/Module.symvers-${KERNEL_VERSION} || true
> >>  }
> >>
> >
> > By doing that, you simply silent possible error of the action after the 
> > test, below is a little snippet showing that
>
> Sure. But the test is looking for the file, so if it doesn't exist
> then the command install won't run.

Something doesn't seem quite right, that test for Module.symvers (there
and in the shared workdir code) were put in place for the scenario
you are mentioning .. if Modules are disabled and hence Module.symvers doesn't
exist.

At one point, we even tested that sort of configuration.

I didn't dig more through the logs, but maybe we had lines after that command
previously, so the last return code wasn't a failure and hence no task
failure.

As was mentioned, we could make the test more explicit if the shorthand of
just checking for the symvers file isn't working, since really, if we have an
|| true in the one-liner, we probably can tweak things to not test for
Module.symvers
at all.

Bruce


>
> I can't think of any realistic situation where install would fail if
> the file is present.
>
> > I think the origin of your issue is that the action failed , having the log 
> > of kernel_do_install task would help.
>
> That isn't the case.
>
> The issue is the Modules.symvers file is not found. This is expected,
> because the kernel does not use modules.
>
> Here is the log, with paths trimmed:
>
> DEBUG: Executing shell function do_install
> NOTE: no modules to install
> WARNING: temp/run.do_install.2584671:225 exit 1 from '[ -e Module.symvers ]'
> WARNING: Backtrace (BB generated script):
>     #1: do_install, temp/run.do_install.2584671, line 225
>     #2: main, temp/run.do_install.2584671, line 283
>
> 
>


-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#185398): 
https://lists.openembedded.org/g/openembedded-core/message/185398
Mute This Topic: https://lists.openembedded.org/mt/100503145/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to