]> git.ipfire.org Git - thirdparty/dracut-ng.git/commitdiff
fix(plymouth): check all library directories for Plymouth
authorBenjamin Drung <benjamin.drung@canonical.com>
Mon, 29 Sep 2025 22:22:40 +0000 (00:22 +0200)
committerNeal Gompa (ニール・ゴンパ) <ngompa13@gmail.com>
Tue, 30 Sep 2025 20:52:07 +0000 (16:52 -0400)
On amd64 `dpkg-architecture -qDEB_HOST_MULTIARCH` returns
`x86_64-linux-gnu` but `uname -m` returns only `x86_64`.
`/usr/lib/x86_64` does not exist on Debian/Ubuntu but
`/usr/lib/x86_64-linux-gnu` exists.

Rely on `libdirs` to provide all possible library directories including
the Debian multiarch directory `/usr/lib/x86_64-linux-gnu`.

Fixes: 1b374931126c ("fix(plymouth): do not depend on dpkg-architecture")
modules.d/45plymouth/module-setup.sh

index 9c916ad9bdb5e3c559e6a4da15b1d593875cfea2..455e26297205cd81f6c82c8239e9c268cb528043 100755 (executable)
@@ -1,12 +1,9 @@
 #!/bin/bash
 
 pkglib_dir() {
-    local _dirs="/usr/lib/plymouth /usr/libexec/plymouth/"
-    local _arch=${DRACUT_ARCH:-$(uname -m)}
-    [ -n "$_arch" ] && _dirs+=" /usr/lib/$_arch/plymouth"
-    for _dir in $_dirs; do
-        if [ -x "${dracutsysrootdir-}$_dir"/plymouth-populate-initrd ]; then
-            echo "$_dir"
+    for _dir in /usr/libexec $libdirs; do
+        if [ -x "${dracutsysrootdir-}$_dir/plymouth/plymouth-populate-initrd" ]; then
+            echo "$_dir/plymouth"
             return
         fi
     done