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 v2 2/3] rootfs: Do not recursively build unneeded packages
Date: Tue, 18 Nov 2025 15:35:22 +0100	[thread overview]
Message-ID: <20251118143523.2326879-3-anaumann@emlix.com> (raw)
In-Reply-To: <20251118143523.2326879-1-anaumann@emlix.com>

Using recrdeptask has the side effect that every package of which a task
appears in the dependency chain, will be 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 "any" packages which dont support
crosscompiling (-native only), improves performance as no unneeded compiling is
being done.

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 e1179e61..e12e1b8a 100644
--- a/meta/classes/rootfs.bbclass
+++ b/meta/classes/rootfs.bbclass
@@ -387,7 +387,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/20251118143523.2326879-3-anaumann%40emlix.com.

  parent reply	other threads:[~2025-11-18 14:38 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-18 14:35 [PATCH v2 0/3] test and fix transitive multiarch dependencies 'Andreas Naumann' via isar-users
2025-11-18 14:35 ` [PATCH v2 1/3] test: Add test to check correct multiarch dependency propagation 'Andreas Naumann' via isar-users
2025-11-18 14:35 ` 'Andreas Naumann' via isar-users [this message]
2025-11-18 14:35 ` [PATCH v2 3/3] multiarch: Replace divertion of deploy task for "all" packages 'Andreas Naumann' via isar-users
2025-11-27  8:34 ` [PATCH v2 0/3] test and fix transitive multiarch dependencies Zhihang Wei

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=20251118143523.2326879-3-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