sys-apps/fwupd: Fix fwupd-at-boot.sh for multiple pending updates
This changes fixes the fwupd-at-boot.sh script to prevent the system
hanging during boot on the updating firmware splash screen when multiple
firmware updates are pending.
BUG=b:192101144
TEST=reboot with multiple files in /var/lib/fwupd/pending
Change-Id: Ia00083665f1d69cdaf379a0d1d2820fd10ca6364
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/2989317
Tested-by: Daniel Campello <campello@chromium.org>
Auto-Submit: Daniel Campello <campello@chromium.org>
Reviewed-by: Benson Leung <bleung@google.com>
Commit-Queue: Daniel Campello <campello@chromium.org>
diff --git a/sys-apps/fwupd/files/fwupd-at-boot.sh b/sys-apps/fwupd/files/fwupd-at-boot.sh
index 3b803e6..07b5e89 100755
--- a/sys-apps/fwupd/files/fwupd-at-boot.sh
+++ b/sys-apps/fwupd/files/fwupd-at-boot.sh
@@ -17,17 +17,16 @@
fi
local pending
- pending="$(find /var/lib/fwupd/pending -type f -size -100c 2>/dev/null)"
+ read -ra pending < \
+ <(find /var/lib/fwupd/pending -type f -size -100c 2>/dev/null | xargs)
if [ -z "${pending[*]}" ]; then
return "${ret}"
fi
- # Background process that shows boot alert.
- chromeos-boot-alert update_fwupd_firmware &
- local bg_pid=$!
+ # Show boot alert.
+ chromeos-boot-alert update_fwupd_firmware
local i
-
# Give it time for enumeration to detect devices.
for i in "${pending[@]}"; do
local seconds=0