blob: 344dfecbbbfb417f4392b0b7690a42d3f637b238 [file] [log] [blame]
Patrick Williamsb48b7b42016-08-17 15:04:38 -05001SUMMARY = "Initramfs generator using udev"
Brad Bishopd7bf8c12018-02-25 22:55:05 -05002HOMEPAGE = "https://dracut.wiki.kernel.org/index.php/Main_Page"
Patrick Williamsb48b7b42016-08-17 15:04:38 -05003DESCRIPTION = "Dracut is an event driven initramfs infrastructure. dracut (the tool) is used to create an initramfs image by copying tools and files from an installed system and combining it with the dracut framework, usually found in /usr/lib/dracut/modules.d."
4
5LICENSE = "GPLv2"
6LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
7
8PE = "1"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08009PV = "049"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050010
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080011# v048 tag
12SRCREV = "225e4b94cbdb702cf512490dcd2ad9ca5f5b22c1"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050013SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git;protocol=http \
14 file://0001-util.h-include-sys-reg.h-when-libc-glibc.patch \
Brad Bishop34ae6002019-04-08 15:21:03 -040015 file://0001-dracut.sh-improve-udevdir.patch \
Brad Bishopd7bf8c12018-02-25 22:55:05 -050016 "
Patrick Williamsb48b7b42016-08-17 15:04:38 -050017
Brad Bishopd7bf8c12018-02-25 22:55:05 -050018DEPENDS += "kmod"
19DEPENDS_append_libc-musl = " fts"
20
21inherit bash-completion pkgconfig
Patrick Williamsb48b7b42016-08-17 15:04:38 -050022
23S = "${WORKDIR}/git"
24
25EXTRA_OECONF = "--prefix=${prefix} \
26 --libdir=${prefix}/lib \
27 --datadir=${datadir} \
28 --sysconfdir=${sysconfdir} \
29 --sbindir=${sbindir} \
30 --disable-documentation \
31 --bindir=${bindir} \
32 --includedir=${includedir} \
33 --localstatedir=${localstatedir} \
34 "
35
36# RDEPEND on systemd optionally
Brad Bishop6e60e8b2018-02-01 10:27:11 -050037PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050038PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,,systemd"
39
Brad Bishopd7bf8c12018-02-25 22:55:05 -050040EXTRA_OEMAKE += 'libdir=${prefix}/lib LDLIBS="${LDLIBS}"'
41
42LDLIBS_append_libc-musl = " -lfts"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050043
44do_configure() {
45 ./configure ${EXTRA_OECONF}
46}
47
48do_install() {
49 oe_runmake install DESTDIR=${D}
50 # Its Makefile uses cp -arx to install modules.d, so fix the owner
51 # to root:root
52 chown -R root:root ${D}/${prefix}/lib/dracut/modules.d
53}
54
55FILES_${PN} += "${prefix}/lib/kernel \
56 ${prefix}/lib/dracut \
57 ${systemd_unitdir} \
58 "
59FILES_${PN}-dbg += "${prefix}/lib/dracut/.debug"
60
61CONFFILES_${PN} += "${sysconfdir}/dracut.conf"
62
63RDEPENDS_${PN} = "findutils cpio util-linux-blkid util-linux-getopt util-linux bash ldd"
64
65# This could be optimized a bit, but let's avoid non-booting systems :)
66RRECOMMENDS_${PN} = " \
67 kernel-modules \
68 busybox \
Patrick Williamsddad1a12017-02-23 20:36:32 -060069 coreutils \
Patrick Williamsb48b7b42016-08-17 15:04:38 -050070 "