public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: "'Andreas Naumann' via isar-users" <isar-users@googlegroups.com>
To: isar-users@googlegroups.com
Cc: Andreas Naumann <anaumann@emlix.com>
Subject: [PATCH 1/2] rootfs: Prevent adding unneeded package variants to recursive dependency chain
Date: Mon,  3 Nov 2025 16:42:22 +0100	[thread overview]
Message-ID: <20251103154223.985951-2-anaumann@emlix.com> (raw)
In-Reply-To: <20251103154223.985951-1-anaumann@emlix.com>

Using recrdeptask has the side effect that every package of which a task
appears in the dependency chain, will be fully built and deployed, even
if just a subset of tasks was needed to fulfil an inter-task dependency.

For coupled packages like the native/compat ones, which can share part of
their tasks, see 2ca3a7e  dpkg-source: Build source package only once,
this leads to a full build of the base package, while e.g. only the native
part needed to be produced.

Refrain from doing so by going back to using deptask which only adds the
deploy task of the direct dependencies and rely on correct cache and
inter-task settings of the used classes/recipes.
Add rdeptask handling to allow for runtime dependency settings.

This is a partial revert of 7c7628e  rootfs: recursively depend on packages.

This fixes build failures with custom packages which dont support
crosscompiling (-native only or "all"), improves performance as no unneeded
compiling is being done, and avoids ambiguity when both packages produce the
same artifact (deb-file).

Signed-off-by: Andreas Naumann <anaumann@emlix.com>
---
 meta/classes/rootfs.bbclass | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass
index cd8fd1188d..082a723996 100644
--- a/meta/classes/rootfs.bbclass
+++ b/meta/classes/rootfs.bbclass
@@ -234,7 +234,8 @@ do_rootfs_install[root_cleandirs] = "${ROOTFSDIR}"
 do_rootfs_install[vardeps] += "${ROOTFS_CONFIGURE_COMMAND} ${ROOTFS_INSTALL_COMMAND}"
 do_rootfs_install[vardepsexclude] += "IMAGE_ROOTFS"
 do_rootfs_install[depends] = "bootstrap-${@'target' if d.getVar('ROOTFS_ARCH') == d.getVar('DISTRO_ARCH') else 'host'}:do_build"
-do_rootfs_install[recrdeptask] = "do_deploy_deb"
+do_rootfs_install[deptask] = "do_deploy_deb"
+do_rootfs_install[rdeptask] = "do_deploy_deb"
 do_rootfs_install[network] = "${TASK_USE_SUDO}"
 python do_rootfs_install() {
     configure_cmds = (d.getVar("ROOTFS_CONFIGURE_COMMAND") or "").split()
-- 
2.43.0

-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20251103154223.985951-2-anaumann%40emlix.com.

  reply	other threads:[~2025-11-03 15:43 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-03 15:42 [PATCH 0/2] " 'Andreas Naumann' via isar-users
2025-11-03 15:42 ` 'Andreas Naumann' via isar-users [this message]
2025-11-03 15:42 ` [PATCH 2/2] DONOTMERGE: testcase for transient native dependency 'Andreas Naumann' via isar-users
2025-11-03 15:52   ` 'MOESSBAUER, Felix' via isar-users
2025-11-03 17:00     ` 'Andreas Naumann' via isar-users

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251103154223.985951-2-anaumann@emlix.com \
    --to=isar-users@googlegroups.com \
    --cc=anaumann@emlix.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox