From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C5F0CC433FE for ; Fri, 21 Oct 2022 13:31:37 +0000 (UTC) Subject: license manifest files effectively disappear when do_rootfs is not rerun To: yocto@lists.yoctoproject.org From: =?UTF-8?B?Q2hyaXN0aWFuIFRoaWXDn2Vu?= X-Originating-Location: Düsseldorf, North Rhine-Westphalia, DE (163.116.173.53) X-Originating-Platform: Windows Chrome 106 User-Agent: GROUPS.IO Web Poster MIME-Version: 1.0 Date: Fri, 21 Oct 2022 06:31:32 -0700 Message-ID: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 21 Oct 2022 13:31:37 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto/message/58392 Dear list, when building an image based on kirkstone, it seems I've come across an int= eresting corner case: The image built successfully, the build/tmp/deploy/li= censes/${IMAGE}-${MACHINE} symlink got updated as expected, but that new di= rectory contained only image_license.manifest. license.manifest and package= .manifest were missing. I've discovered that these latter files are generated by the image's do_roo= tfs task (ROOTFS_POSTPROCESS_COMMAND:prepend =3D "write_package_manifest; l= icense_create_manifest; " in poky/meta/classes/license_image.bbclass). This= task apparently did not need to be rerun in that particular build. This behavior is at least a bit surprising to the user; bitbake claims to h= ave run everything that needed to be run, completes successfully and then s= ome files are just not there. It might be what happened here https://lists.= yoctoproject.org/g/yocto/message/49600 too. For me, it broke a CI build tha= t ran due to an environment change that didn't affect the image and then fa= iled to deploy the manifest files. I could run bitbake with -C rootfs as a = workaround, but that causes a warning and the problem could probably better= be fixed within Yocto. I'm not sure how though: Could the manifest generat= ion be moved to a different point in the build, e.g. where image_license.ma= nifest is generated? Or should build/tmp/deploy/licenses/${IMAGE}-${MACHINE= } become a directory containing symlinks to files, instead of a symlink to = a new directory, so that things that don't need to be updated can be retain= ed? Maybe you have a completely different idea? I'll leave that up for disc= ussion. Thank you, Christian Thie=C3=9Fen