[v2,1/1] generate_initramfs: fix progress reporting on dracut

Message ID 20251117115104.410537-1-felix.moessbauer@siemens.com
State Under Review
Headers show
Series [v2,1/1] generate_initramfs: fix progress reporting on dracut | expand

Commit Message

Felix Moessbauer Nov. 17, 2025, 11:51 a.m. UTC
When generating the initrd with dracut, the copy-in operations emit
output that is different from the initramfs-tools output. This patch
extends the progress parser to also support the dracut output.

Prior to the patch, the progress bar stayed at 0% until the task was
finished.

Reported-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
---
Changes since v1:
- format code according to black formatter rules

 meta/lib/rootfs_progress.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Patch

diff --git a/meta/lib/rootfs_progress.py b/meta/lib/rootfs_progress.py
index 1cc70c87..0ac81e14 100644
--- a/meta/lib/rootfs_progress.py
+++ b/meta/lib/rootfs_progress.py
@@ -81,7 +81,11 @@  class InitrdProgressHandler(PkgsProgressHandler):
             self._stage = 'post-prepare'
 
     def process_line(self, line):
-        if line.startswith('Adding module'):
+        if (
+            line.startswith("Adding module")
+            or line.startswith("dracut-install: cp")
+            or line.startswith("dracut-install: Failed to find module")
+        ):
             self._pkg += 1
         elif line.startswith('(excluding'):
             self._pkg += len(line.split(' ')) - 1