diff mbox series

[RFC,08/08] rootfs: fail if an IMAGE_INSTALL_DEBUGFS package can't be installed

Message ID 20261106173235.4155305-9-bruce.ashfield@gmail.com
State New
Headers show
Series enhance kernel -devsrc output options | expand

Commit Message

Bruce Ashfield Nov. 6, 2026, 5:32 p.m. UTC
From: Bruce Ashfield <bruce.ashfield@gmail.com>

IMAGE_INSTALL_DEBUGFS packages are installed in attempt-only mode, so a
package whose dependencies can't be met is skipped (dnf --skip-broken),
the image builds, and the package is silently missing from the debug
rootfs. The only trace is in log.do_rootfs:

  - nothing provides /usr/bin/foo needed by <pkg> from oe-repo
  Skipping packages with broken dependencies:
   <pkg>

These packages are asked for by name, the same as IMAGE_INSTALL, which
fails the build in this case. (A missing package already fails earlier,
since the image RDEPENDS on them.) Install them normally, so a broken
dependency is reported as an error rather than leaving a debug rootfs
without the package that was requested.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
---
 meta/lib/oe/rootfs.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py
index aac93dc42e..a28c888070 100644
--- a/meta/lib/oe/rootfs.py
+++ b/meta/lib/oe/rootfs.py
@@ -165,12 +165,14 @@  class Rootfs(object, metaclass=ABCMeta):
         """
         Install additional debug packages. Possibility to install additional packages,
         which are not automatically installed as complementary package of
-        standard one, e.g. debug package of static libraries.
+        standard one, e.g. debug package of static libraries. They are asked
+        for by name, so like IMAGE_INSTALL, it is an error if they can't be
+        installed.
         """
         extra_debug_pkgs = self.d.getVar('IMAGE_INSTALL_DEBUGFS')
         if extra_debug_pkgs:
             bb.note("  Install extra debug packages...")
-            self.pm.install(extra_debug_pkgs.split(), True)
+            self.pm.install(extra_debug_pkgs.split())
 
         bb.utils.remove(intercepts_dir, True)
         bb.utils.rename(intercepts_dir + '-orig', intercepts_dir)