Browse Source

dracut: install modules to /usr/lib

The dracut modules will be installed to /usr/lib64 while building 64bit
targets with multilib enabled, this causes runtime errors:

  dracut: Cannot find /usr/lib/dracut/dracut-functions.sh.
  dracut: Are you running from a git checkout?
  dracut: Try passing -l as an argument to /usr/bin/dracut

The dracut modules, 50-dracut.install and 51-dracut-rescue.install must
be installed to /usr/lib as Fedora 20 does.

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Wenzong Fan 8 years ago
parent
commit
f4533380c8
1 changed files with 7 additions and 2 deletions
  1. 7 2
      meta-initramfs/recipes-devtools/dracut/dracut_git.bb

+ 7 - 2
meta-initramfs/recipes-devtools/dracut/dracut_git.bb

@@ -14,7 +14,7 @@ SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git"
 S = "${WORKDIR}/git"
 
 EXTRA_OECONF = "--prefix=${prefix} \
-                --libdir=${libdir} \
+                --libdir=${prefix}/lib \
                 --datadir=${datadir} \
                 --sysconfdir=${sysconfdir} \
                 --sbindir=${sbindir} \
@@ -28,6 +28,8 @@ EXTRA_OECONF = "--prefix=${prefix} \
 PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
 PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,,systemd"
 
+EXTRA_OEMAKE += 'libdir=${prefix}/lib'
+
 do_configure() {
     ./configure ${EXTRA_OECONF}
 }
@@ -40,9 +42,12 @@ PACKAGES =+ "${PN}-bash-completion"
 
 FILES_${PN}-bash-completion = "${datadir}/bash-completion"
 
-FILES_${PN} += " ${libdir}/kernel \
+FILES_${PN} += "${prefix}/lib/kernel \
+                ${prefix}/lib/dracut \
                 ${systemd_unitdir} \
                "
+FILES_${PN}-dbg += "${prefix}/lib/dracut/.debug"
+
 CONFFILES_${PN} += "${sysconfdir}/dracut.conf"
 
 RDEPENDS_${PN} = "findutils cpio util-linux-blkid util-linux-getopt bash ldd"