Source: dracut
Severity: normal
Tags: patch
Dear Maintainer,
first let me thank you for providing dracut to debian! Replacing
initramfs-tools with dracut went amazingly smooth. There is only one little
problem with dracut and plymouth:
The current version of dracut (037-2) in Debian Jessie is not able to locate
Plymouth. It fails with something like
'.../usr/libexec/plymouth/plymouth-populate-initrd: No such file or
directory...' when running dracut. The reason can be found in file
'/usr/lib/dracut/modules.d/50plymouth/module-setup.sh'. This script is
expecting plymouth to be found at '/usr/libexec/...', but this path does not
exist in debian. Correct would be e.g. '/usr/lib/x86_64-linux-gnu/...' on
amd64. As dracut is not able to locate plymouth it falls back to its own
plymouth installation script
'/usr/lib/dracut/modules.d/50plymouth/plymouth-populate-initrd.sh'. But that
script is faulty too, because it expects a file
'/usr/share/pixmaps/system-logo-white.png', which again does not exist in
debian.
To fix the first error, i've attached a patch to this bug report. This patch
changes '.../50plymouth/module-setup.sh' in such a way, that the script first
extracts the current system architecture triplet (e.g. 'x86_64-linux-gnu' for
amd64) and then uses this information to locate plymouth. However, this
requires 'dpkg-architecture' which is part of the 'dpkg-dev' package. Thus the
package dependencies need an update, too. Until now i haven't found a
satisfying solution without 'dpkg-architecture' :-(
Cheers
Jakob
-- System Information:
Debian Release: jessie/sid
APT prefers testing-proposed-updates
APT policy: (500, 'testing-proposed-updates'), (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.14-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
--- /usr/lib/dracut/modules.d/50plymouth/module-setup.sh.orig 2014-06-27 11:58:43.387775226 +0200
+++ /usr/lib/dracut/modules.d/50plymouth/module-setup.sh 2014-06-27 12:15:06.687493675 +0200
@@ -15,12 +15,13 @@
# called by dracut
install() {
- if grep -q nash /usr/libexec/plymouth/plymouth-populate-initrd \
- || [ ! -x /usr/libexec/plymouth/plymouth-populate-initrd ]; then
+ DEB_HOST_MULTIARCH=$(dpkg-architecture -qDEB_HOST_MULTIARCH)
+ if grep -q nash /usr/lib/${DEB_HOST_MULTIARCH}/plymouth/plymouth-populate-initrd \
+ || [ ! -x /usr/lib/${DEB_HOST_MULTIARCH}/plymouth/plymouth-populate-initrd ]; then
. "$moddir"/plymouth-populate-initrd.sh
else
PLYMOUTH_POPULATE_SOURCE_FUNCTIONS="$dracutfunctions" \
- /usr/libexec/plymouth/plymouth-populate-initrd -t "$initdir"
+ /usr/lib/${DEB_HOST_MULTIARCH}/plymouth/plymouth-populate-initrd -t "$initdir"
fi
inst_hook emergency 50 "$moddir"/plymouth-emergency.sh