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 7134DC38A2D for ; Mon, 24 Oct 2022 08:36:46 +0000 (UTC) Subject: license manifest files effectively disappear when do_rootfs is not rerun To: openembedded-core@lists.openembedded.org From: =?UTF-8?B?Q2hyaXN0aWFuIFRoaWXDn2Vu?= X-Originating-Location: Düsseldorf, North Rhine-Westphalia, DE (163.116.173.55) X-Originating-Platform: Windows Chrome 106 User-Agent: GROUPS.IO Web Poster MIME-Version: 1.0 Date: Mon, 24 Oct 2022 01:36:41 -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 ; Mon, 24 Oct 2022 08:36:46 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/172077 (Cross-post: I first posted to https://lists.yoctoproject.org/g/yocto/messa= ge/58392, then realized that according to the poky readme this list is more= appropriate. Sorry, beginner's mistake) Dear list, when building an image with a Yocto setup based on kirkstone, it seems I've= come across an interesting corner case: The image built successfully, the = build/tmp/deploy/licenses/${IMAGE}-${MACHINE} symlink got updated as expect= ed, but that new directory contained only image_license.manifest. license.m= anifest 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 the oe-core classes. I'm not sure how though: Could the ma= nifest generation be moved to a different point in the build, e.g. where im= age_license.manifest is generated? Or should build/tmp/deploy/licenses/${IM= AGE}-${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 retained? Maybe you have a completely different idea? I'll leave th= at up for discussion. Thank you, Christian Thie=C3=9Fen