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