Maybe someone has a better idea for a cleaner fix. The regression was
introduced in 2019 by
https://github.com/openembedded/openembedded-core/commit/1ba4728f058b90957741fa016230ffa72e206ff3
which moved do_symlink_kernsrc to a separated task (and hence the
do_unpack[cleandirs] value does not apply to do_symlink_kernsrc any more).
The reason for moving do_symlink_kernsrc to a separated task was that
do_unpack is deleted when EXTERNALSRC is enabled.

Etienne

On Sat, Dec 16, 2023 at 2:24 PM Etienne Cordonnier via
lists.openembedded.org <[email protected]> wrote:

> From: Etienne Cordonnier <[email protected]>
>
> The function do_symlink_kernsrc is not reentrant in the case where S is
> defined
> to a non-default value. This causes build-failures e.g. when building
> linux-yocto, then updating
> poky to a commit which modifies kernel.bbclass, and then building
> linux-yocto again.
>
> Bugzilla:
> https://urldefense.proofpoint.com/v2/url?u=https-3A__bugzilla.yoctoproject.org_show-5Fbug.cgi-3Fid-3D15325&d=DwIDAg&c=ncDTmphkJTvjIDPh0hpF_4vCHvabgGkICC2epckfdiw&r=AhkbNonVuMIGRfPx_Qj9TsRih1DULJTKUkSGa66m67E&m=Ajdk4NY7T_6MCYvTdJy8xaozyLd62tWw2RgcDnKF3P9UqWVnuU0Xjffudai_QkNp&s=eRsvoOQpEGvpV51FEvvKLBMPTyDPwytETHxf6kOb8dg&e=
>
> Signed-off-by: Etienne Cordonnier <[email protected]>
> ---
>  meta/classes-recipe/kernel.bbclass | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/meta/classes-recipe/kernel.bbclass
> b/meta/classes-recipe/kernel.bbclass
> index 9ff37f5c38..130bedd901 100644
> --- a/meta/classes-recipe/kernel.bbclass
> +++ b/meta/classes-recipe/kernel.bbclass
> @@ -194,6 +194,11 @@ python do_symlink_kernsrc () {
>              os.symlink(s, kernsrc)
>          else:
>              import shutil
> +            if os.path.islink(s):
> +                # this happens for instance when a poky update forces
> symlink_kernsrc to run again
> +                # after s was already moved to kernsrc
> +                bb.warn("%s is already a symlink! Not symlinking kernel
> sources" % s)
> +                return 0
>              shutil.move(s, kernsrc)
>              os.symlink(kernsrc, s)
>  }
> --
> 2.34.1
>
>
> 
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#192563): 
https://lists.openembedded.org/g/openembedded-core/message/192563
Mute This Topic: https://lists.openembedded.org/mt/103208167/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to