90 lines
3.0 KiB
Bash
90 lines
3.0 KiB
Bash
# Template file for 'dracut'
|
|
pkgname=dracut
|
|
version=105
|
|
revision=1
|
|
build_style=configure
|
|
configure_args="--prefix=/usr --sysconfdir=/etc"
|
|
conf_files="/etc/dracut.conf"
|
|
hostmakedepends="pkg-config asciidoc"
|
|
makedepends="libkmod-devel"
|
|
depends="bash coreutils cpio eudev gzip kmod>=3.7 kpartx util-linux"
|
|
short_desc="Low-level tool for generating an initramfs/initrd image"
|
|
maintainer="Zach Dykstra <dykstra.zachary@gmail.com>"
|
|
license="GPL-2.0-or-later, LGPL-2.0-or-later"
|
|
homepage="https://github.com/dracut-ng/dracut-ng/wiki"
|
|
changelog="https://raw.githubusercontent.com/dracut-ng/dracut-ng/master/NEWS.md"
|
|
distfiles="https://github.com/dracut-ng/dracut-ng/archive/refs/tags/${version}.tar.gz"
|
|
checksum=a5f94012873f589e2efc3659341f5e383ec90419f5c361a6fd3561f946133f69
|
|
alternatives="
|
|
initramfs:/etc/kernel.d/post-install/20-initramfs:/usr/libexec/dracut/kernel-hook-postinst
|
|
initramfs:/etc/kernel.d/post-remove/20-initramfs:/usr/libexec/dracut/kernel-hook-postrm
|
|
"
|
|
subpackages="dracut-network"
|
|
# Checks require distfiles come from a git repository
|
|
make_check=no
|
|
|
|
make_dirs="
|
|
/etc/dracut.conf.d 0755 root root
|
|
/usr/lib/dracut/dracut.conf.d 0755 root root"
|
|
|
|
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
|
|
makedepends+=" musl-fts-devel"
|
|
fi
|
|
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
i686*|x86_64*|aarch64*) # archs supported by dracut for EFI bundle
|
|
subpackages+=" dracut-uefi"
|
|
;;
|
|
esac
|
|
|
|
post_install() {
|
|
# kernel hooks.
|
|
vinstall ${FILESDIR}/kernel-hook-postinst 755 usr/libexec/dracut
|
|
vinstall ${FILESDIR}/kernel-hook-postrm 755 usr/libexec/dracut
|
|
|
|
# We don't need the systemd stuff.
|
|
rm -r ${DESTDIR}/usr/lib/dracut/modules.d/*systemd*
|
|
|
|
# systemd dependent additional dracut modules
|
|
for f in 06rngd 06dbus-broker 06dbus-daemon 09dbus \
|
|
35connman 35network-manager 80lvmmerge \
|
|
91fido2 91pcsc 91pkcs11 91tpm2-tss 95squash* \
|
|
99memstrack 99squash*; do
|
|
rm -r ${DESTDIR}/usr/lib/dracut/modules.d/${f}
|
|
done
|
|
|
|
# don't need s390x architecture dependent dracut modules
|
|
for f in 80cms 81cio_ignore 91zipl 95dasd 95dasd_mod \
|
|
95dcssblk 95zfcp 95znet; do
|
|
rm -r ${DESTDIR}/usr/lib/dracut/modules.d/${f}
|
|
done
|
|
|
|
rm ${DESTDIR}/usr/share/man/man8/*.service.*
|
|
rm -r ${DESTDIR}/usr/lib/kernel
|
|
rm -r "${DESTDIR}"/usr/lib/dracut/test
|
|
}
|
|
|
|
dracut-network_package() {
|
|
depends="dhclient ${sourcepkg}-${version}_${revision}"
|
|
short_desc+=" - network modules"
|
|
pkg_install() {
|
|
for f in 35network-legacy 40network 45url-lib \
|
|
90kernel-network-modules 90qemu-net 90livenet \
|
|
95cifs 95fcoe 95fcoe-uefi 95iscsi 95nbd 95nfs 95ssh-client; do
|
|
vmove usr/lib/dracut/modules.d/${f}
|
|
done
|
|
}
|
|
}
|
|
|
|
dracut-uefi_package() {
|
|
depends="binutils systemd-boot-efistub ${sourcepkg}>=${version}_${revision}"
|
|
short_desc+=" - UEFI bundle hook"
|
|
conf_files="/etc/default/dracut-uefi-hook"
|
|
|
|
pkg_install() {
|
|
vinstall ${FILESDIR}/dracut-uefi-hook.confd 644 etc/default dracut-uefi-hook
|
|
vinstall ${FILESDIR}/kernel-uefi-hook-postinst 755 etc/kernel.d/post-install 20-dracut-uefi
|
|
vinstall ${FILESDIR}/kernel-uefi-hook-postrm 755 etc/kernel.d/post-remove 20-dracut-uefi
|
|
}
|
|
}
|