diff mbox series

[1/1] package/dracut: Bump to dracut-ng-108

Message ID 20251001152456.93171-1-mateo.pourrier@smile.fr
State New
Headers show
Series [1/1] package/dracut: Bump to dracut-ng-108 | expand

Commit Message

Matéo Pourrier Oct. 1, 2025, 3:24 p.m. UTC
Signed-off-by: Mateo Pourrier <mateo.pourrier@smile.fr>

Bump dracut package source to the newest version of the project, dracut-ng, release 108.

Rename dracut package dracut-ng, and adapt files accordingly, dracut.mk and dracut.hash become dracut-ng.mk and dracut-ng.hash.

Rename dracut related environnement variables too mention DRACUT_NG instead of DRACUT.

Update fs/cpio/Config.in and package/dracut-ng/Config.in help entries to mention dracut-ng name and dracut-ng documentation.

Patch Makefile to adapt to dracut-ng changes in paths handling.

Add sections in Config.in.legacy to support use of old config variables, adapt fs/cpio/Config.in with default values depending on legacy DRACUT config variables. Any projet that uses dracut and its config variables will just have to run make menuconfig to adapt config and be able to build with dracut-ng.

Fix every check-package warning about coding style and Config.in rules, let warning on merged-usr-module-setup.sh as it was.

Change dracut to dracut-ng in DEVELOPERS file, so that get-developers will give correct output for dracut-ng renamed package.

Signed-off-by: Matéo Pourrier <mateo.pourrier@smile.fr>
---
 .checkpackageignore                           |  2 -
 Config.in.legacy                              | 15 ++++
 DEVELOPERS                                    |  4 +-
 fs/cpio/Config.in                             | 23 ++---
 fs/cpio/cpio.mk                               | 26 +++---
 package/Config.in.host                        |  2 +-
 ...-Makefile-paths-for-dracutng-support.patch | 86 +++++++++++++++++++
 package/dracut-ng/Config.in.host              |  9 ++
 .../busybox-init-module-setup.sh              |  0
 .../dracut.hash => dracut-ng/dracut-ng.hash}  |  2 +-
 .../dracut.mk => dracut-ng/dracut-ng.mk}      | 32 +++----
 .../{dracut => dracut-ng}/dracut_wrapper.in   |  0
 .../libc-links-module-setup.sh                |  0
 .../merged-usr-module-setup.sh                |  0
 ...001-dracut.sh-don-t-unset-LD_PRELOAD.patch | 31 -------
 package/dracut/Config.in.host                 |  9 --
 16 files changed, 155 insertions(+), 86 deletions(-)
 create mode 100644 package/dracut-ng/0001-add-prefix-to-Makefile-paths-for-dracutng-support.patch
 create mode 100644 package/dracut-ng/Config.in.host
 rename package/{dracut => dracut-ng}/busybox-init-module-setup.sh (100%)
 rename package/{dracut/dracut.hash => dracut-ng/dracut-ng.hash} (51%)
 rename package/{dracut/dracut.mk => dracut-ng/dracut-ng.mk} (58%)
 rename package/{dracut => dracut-ng}/dracut_wrapper.in (100%)
 rename package/{dracut => dracut-ng}/libc-links-module-setup.sh (100%)
 rename package/{dracut => dracut-ng}/merged-usr-module-setup.sh (100%)
 delete mode 100644 package/dracut/0001-dracut.sh-don-t-unset-LD_PRELOAD.patch
 delete mode 100644 package/dracut/Config.in.host
diff mbox series

Patch

diff --git a/.checkpackageignore b/.checkpackageignore
index 69877d1778..1098978f32 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -336,8 +336,6 @@  package/dmraid/S20dmraid lib_sysv.Variables
 package/docopt-cpp/0001-only-build-one-target-use-BUILD_SHARED_LIBS-where-appropriate.patch lib_patch.Upstream
 package/domoticz/S99domoticz Shellcheck
 package/dovecot/0001-auth-Fix-handling-passdbs-with-identical-driver-args.patch lib_patch.Upstream
-package/dracut/0001-dracut.sh-don-t-unset-LD_PRELOAD.patch lib_patch.Upstream
-package/dracut/merged-usr-module-setup.sh Shellcheck
 package/dropbear/S50dropbear Shellcheck lib_sysv.Indent lib_sysv.Variables
 package/dt/0001-adjust-os-symlink.patch lib_patch.Upstream
 package/dt/0002-dt-default-source-define.patch lib_patch.Upstream
diff --git a/Config.in.legacy b/Config.in.legacy
index ffcd53930a..a85d46a537 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -175,6 +175,21 @@  config BR2_PACKAGE_DMENU_WAYLAND
 	  was sway, and that now relies on wmenu. Please select
 	  wmenu instead.
 
+config BR2_PACKAGE_DRACUT
+	bool "dracut has been ported to dracut-ng (renamed BR2_PACKAGE_DRACUT_NG)"
+	select BR2_LEGACY
+	select BR2_PACKAGE_DRACUT_NG
+	help
+	  This option has been renamed to BR2_PACKAGE_DRACUT_NG because
+	  dracut package has been ported to dracut-ng.
+
+config BR2_TARGET_ROOTFS_CPIO_DRACUT
+	bool "rootfs cpio with dracut-ng (renamed to BR2_TARGET_ROOTFS_CPIO_DRACUT_NG)"
+	help
+	  This option has been renamed to
+	  BR2_TARGET_ROOTFS_CPIO_DRACUT_NG
+	  because dracut package has been ported to dracut-ng.
+
 config BR2_PACKAGE_SYLPHEED
 	bool "sylpheed has been removed"
 	select BR2_LEGACY
diff --git a/DEVELOPERS b/DEVELOPERS
index d3fdbb49a0..542e70c187 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -277,7 +277,7 @@  F:	package/python-aiohttp-sse-client/
 N:	Arnout Vandecappelle <arnout@rnout.be>
 F:	package/arp-scan/
 F:	package/dehydrated/
-F:	package/dracut/
+F:	package/dracut-ng/
 F:	package/freescale-imx/firmware-imx/
 F:	package/freescale-imx/imx-lib/
 F:	package/libpagekite/
@@ -3169,7 +3169,7 @@  N:	Theo Debrouwere <t.debrouwere@televic.com>
 F:	package/pugixml/
 
 N:	Thierry Bultel <tbultel@free.fr>
-F:	package/dracut/
+F:	package/dracut-ng/
 F:	package/mpd-mpc/
 
 N:	Thijs Vermeir <thijsvermeir@gmail.com>
diff --git a/fs/cpio/Config.in b/fs/cpio/Config.in
index 4d38276c88..8db73ad793 100644
--- a/fs/cpio/Config.in
+++ b/fs/cpio/Config.in
@@ -9,32 +9,33 @@  if BR2_TARGET_ROOTFS_CPIO
 
 choice
 	prompt "cpio type"
-	default BR2_TARGET_ROOTFS_CPIO_FULL
+	default BR2_TARGET_ROOTFS_CPIO_FULL if !BR2_TARGET_ROOTFS_CPIO_DRACUT #legacy
+	default BR2_TARGET_ROOTFS_CPIO_DRACUT_NG if BR2_TARGET_ROOTFS_CPIO_DRACUT #legacy
 
 config BR2_TARGET_ROOTFS_CPIO_FULL
 	bool "cpio the whole root filesystem"
 	help
 	  Build a cpio archive containing the whole root filesystem.
 
-config BR2_TARGET_ROOTFS_CPIO_DRACUT
-	bool "Invoke dracut to make a partial initramfs"
-	select BR2_PACKAGE_HOST_DRACUT
+config BR2_TARGET_ROOTFS_CPIO_DRACUT_NG
+	bool "Invoke dracut-ng to make a partial initramfs"
+	select BR2_PACKAGE_HOST_DRACUT_NG
 	help
-	  Build an additional initramfs using dracut. This only contains
-	  a subset of the rootfs, as determined by the configuration
-	  file.
+	  Build an additional initramfs using dracut-ng. This only
+	  contains a subset of the rootfs, as determined by the
+	  configuration file.
 	  This can be useful to create a recovery system, for instance.
 
 endchoice
 
-if BR2_TARGET_ROOTFS_CPIO_DRACUT
+if BR2_TARGET_ROOTFS_CPIO_DRACUT_NG
 
-config BR2_TARGET_ROOTFS_CPIO_DRACUT_MODULES
+config BR2_TARGET_ROOTFS_CPIO_DRACUT_NG_MODULES
 	string "extra dracut modules"
 	help
 	  Space-separated list of directories containing dracut modules.
 
-config BR2_TARGET_ROOTFS_CPIO_DRACUT_CONF_FILES
+config BR2_TARGET_ROOTFS_CPIO_DRACUT_NG_CONF_FILES
 	string "dracut configuration files"
 	default "fs/cpio/dracut.conf"
 	help
@@ -42,7 +43,7 @@  config BR2_TARGET_ROOTFS_CPIO_DRACUT_CONF_FILES
 	  determine which parts of the rootfs get included in the
 	  cpio image. See:
 	    dracut.conf(5)
-	    https://github.com/dracutdevs/dracut/blob/master/man/dracut.conf.5.asc
+	    https://github.com/dracut-ng/dracut-ng/blob/main/man/dracut.conf.5.adoc
 
 	  The default configuration file is suitable for busybox init.
 	  It doesn't, however, pivot_root into a full rootfs.
diff --git a/fs/cpio/cpio.mk b/fs/cpio/cpio.mk
index 00ab6a8f82..d973f7087f 100644
--- a/fs/cpio/cpio.mk
+++ b/fs/cpio/cpio.mk
@@ -46,24 +46,24 @@  define ROOTFS_CPIO_CMD
 	> $@
 endef
 
-else ifeq ($(BR2_TARGET_ROOTFS_CPIO_DRACUT),y)
+else ifeq ($(BR2_TARGET_ROOTFS_CPIO_DRACUT_NG),y)
 
-ROOTFS_CPIO_DEPENDENCIES += host-dracut
+ROOTFS_CPIO_DEPENDENCIES += host-dracut-ng
 
-ROOTFS_CPIO_DRACUT_MODULES = $(call qstrip,$(BR2_TARGET_ROOTFS_CPIO_DRACUT_MODULES))
+ROOTFS_CPIO_DRACUT_NG_MODULES = $(call qstrip,$(BR2_TARGET_ROOTFS_CPIO_DRACUT_NG_MODULES))
 ifeq ($(BR_BUILDING),y)
-ifneq ($(words $(ROOTFS_CPIO_DRACUT_MODULES)),$(words $(sort $(notdir $(ROOTFS_CPIO_DRACUT_MODULES)))))
-$(error No two dracut modules can have the same basename, check your BR2_TARGET_ROOTFS_CPIO_DRACUT_MODULES setting)
+ifneq ($(words $(ROOTFS_CPIO_DRACUT_NG_MODULES)),$(words $(sort $(notdir $(ROOTFS_CPIO_DRACUT_NG_MODULES)))))
+$(error No two dracut modules can have the same basename, check your BR2_TARGET_ROOTFS_CPIO_DRACUT_NG_MODULES setting)
 endif
 endif
 
-ROOTFS_CPIO_DRACUT_CONF_FILES = $(call qstrip,$(BR2_TARGET_ROOTFS_CPIO_DRACUT_CONF_FILES))
+ROOTFS_CPIO_DRACUT_NG_CONF_FILES = $(call qstrip,$(BR2_TARGET_ROOTFS_CPIO_DRACUT_NG_CONF_FILES))
 ifeq ($(BR_BUILDING),y)
-ifeq ($(ROOTFS_CPIO_DRACUT_CONF_FILES),)
-$(error No dracut config file name specified, check your BR2_TARGET_ROOTFS_CPIO_DRACUT_CONF_FILES setting)
+ifeq ($(ROOTFS_CPIO_DRACUT_NG_CONF_FILES),)
+$(error No dracut config file name specified, check your BR2_TARGET_ROOTFS_CPIO_DRACUT_NG_CONF_FILES setting)
 endif
-ifneq ($(words $(ROOTFS_CPIO_DRACUT_CONF_FILES)),$(words $(sort $(notdir $(ROOTFS_CPIO_DRACUT_CONF_FILES)))))
-$(error No two dracut config files can have the same basename, check your BR2_TARGET_ROOTFS_CPIO_DRACUT_CONF_FILES setting)
+ifneq ($(words $(ROOTFS_CPIO_DRACUT_NG_CONF_FILES)),$(words $(sort $(notdir $(ROOTFS_CPIO_DRACUT_NG_CONF_FILES)))))
+$(error No two dracut config files can have the same basename, check your BR2_TARGET_ROOTFS_CPIO_DRACUT_NG_CONF_FILES setting)
 endif
 endif
 
@@ -77,10 +77,10 @@  endif
 define ROOTFS_CPIO_CMD
 	mkdir -p $(ROOTFS_CPIO_DIR)/tmp $(ROOTFS_CPIO_DIR)/confdir $(HOST_DIR)/lib/dracut/modules.d
 	touch $(ROOTFS_CPIO_DIR)/empty-config
-	$(foreach cfg,$(ROOTFS_CPIO_DRACUT_CONF_FILES), \
+	$(foreach cfg,$(ROOTFS_CPIO_DRACUT_NG_CONF_FILES), \
 		cp $(cfg) $(ROOTFS_CPIO_DIR)/confdir/$(notdir $(cfg))
 	)
-	$(foreach m,$(ROOTFS_CPIO_DRACUT_MODULES), \
+	$(foreach m,$(ROOTFS_CPIO_DRACUT_NG_MODULES), \
 		cp -a $(m)/* $(HOST_DIR)/lib/dracut/modules.d/
 	)
 	$(HOST_DIR)/bin/dracut \
@@ -95,7 +95,7 @@  define ROOTFS_CPIO_CMD
 		$@
 endef
 
-endif #BR2_TARGET_ROOTFS_CPIO_DRACUT
+endif #BR2_TARGET_ROOTFS_CPIO_DRACUT_NG
 
 ifeq ($(BR2_TARGET_ROOTFS_CPIO_UIMAGE),y)
 ROOTFS_CPIO_DEPENDENCIES += host-uboot-tools
diff --git a/package/Config.in.host b/package/Config.in.host
index b0f7529a13..a7c5c4868e 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -29,7 +29,7 @@  menu "Host utilities"
 	source "package/dos2unix/Config.in.host"
 	source "package/dosfstools/Config.in.host"
 	source "package/doxygen/Config.in.host"
-	source "package/dracut/Config.in.host"
+	source "package/dracut-ng/Config.in.host"
 	source "package/dtc/Config.in.host"
 	source "package/e2fsprogs/Config.in.host"
 	source "package/e2tools/Config.in.host"
diff --git a/package/dracut-ng/0001-add-prefix-to-Makefile-paths-for-dracutng-support.patch b/package/dracut-ng/0001-add-prefix-to-Makefile-paths-for-dracutng-support.patch
new file mode 100644
index 0000000000..656689b552
--- /dev/null
+++ b/package/dracut-ng/0001-add-prefix-to-Makefile-paths-for-dracutng-support.patch
@@ -0,0 +1,86 @@ 
+Makefile: Add $(prefix) prefix to paths that need it to allow dracutng support, remove $(DESTDIR) because unused in host building
+
+Upstream: Mateo Pourrier <mateo.pourrier@smile.fr>
+Signed-off-by: Mateo Pourrier <mateo.pourrier@smile.fr>
+
+--- host-dracut-ng-108/Makefile.orig       2025-09-25 11:24:20.124563719 +0200
++++ host-dracut-ng-108/Makefile            2025-09-25 11:37:25.710580961 +0200
+@@ -227,13 +227,13 @@
+ 	ln -fs dracut.cmdline.7 $(DESTDIR)$(mandir)/man7/dracut.kernel.7
+ endif
+ 	if [ -n "$(systemdsystemunitdir)" ]; then \
+-		mkdir -p $(DESTDIR)$(systemdsystemunitdir); \
+-		ln -srf $(DESTDIR)$(pkglibdir)/modules.d/77dracut-systemd/dracut-shutdown-onfailure.service $(DESTDIR)$(systemdsystemunitdir)/dracut-shutdown-onfailure.service; \
+-		ln -srf $(DESTDIR)$(pkglibdir)/modules.d/77dracut-systemd/dracut-shutdown.service $(DESTDIR)$(systemdsystemunitdir)/dracut-shutdown.service; \
+-		mkdir -p $(DESTDIR)$(systemdsystemunitdir)/sysinit.target.wants; \
++		mkdir -p $(prefix)$(systemdsystemunitdir); \
++		ln -srf $(prefix)$(pkglibdir)/modules.d/77dracut-systemd/dracut-shutdown-onfailure.service $(prefix)$(systemdsystemunitdir)/dracut-shutdown-onfailure.service; \
++		ln -srf $(prefix)$(pkglibdir)/modules.d/77dracut-systemd/dracut-shutdown.service $(prefix)$(systemdsystemunitdir)/dracut-shutdown.service; \
++		mkdir -p $(prefix)$(systemdsystemunitdir)/sysinit.target.wants; \
+ 		ln -sf ../dracut-shutdown.service \
+-		$(DESTDIR)$(systemdsystemunitdir)/sysinit.target.wants/dracut-shutdown.service; \
+-		mkdir -p $(DESTDIR)$(systemdsystemunitdir)/initrd.target.wants; \
++		$(prefix)$(systemdsystemunitdir)/sysinit.target.wants/dracut-shutdown.service; \
++		mkdir -p $(prefix)$(systemdsystemunitdir)/initrd.target.wants; \
+ 		for i in \
+ 		    dracut-cmdline.service \
+ 		    dracut-mount.service \
+@@ -242,39 +242,40 @@
+ 		    dracut-pre-trigger.service \
+ 		    dracut-pre-udev.service \
+ 		    ; do \
+-			ln -srf $(DESTDIR)$(pkglibdir)/modules.d/77dracut-systemd/$$i $(DESTDIR)$(systemdsystemunitdir); \
++			ln -srf $(prefix)$(pkglibdir)/modules.d/77dracut-systemd/$$i $(prefix)$(systemdsystemunitdir); \
+ 			ln -sf ../$$i \
+-			$(DESTDIR)$(systemdsystemunitdir)/initrd.target.wants/$$i; \
++			$(prefix)$(systemdsystemunitdir)/initrd.target.wants/$$i; \
+ 		done; \
+-		ln -srf $(DESTDIR)$(pkglibdir)/modules.d/77initqueue/dracut-initqueue.service $(DESTDIR)$(systemdsystemunitdir); \
++		ln -srf $(prefix)$(pkglibdir)/modules.d/77initqueue/dracut-initqueue.service $(prefix)$(systemdsystemunitdir); \
+ 		ln -sf ../dracut-initqueue.service \
+-		$(DESTDIR)$(systemdsystemunitdir)/initrd.target.wants/dracut-initqueue.service; \
++		$(prefix)$(systemdsystemunitdir)/initrd.target.wants/dracut-initqueue.service; \
+ 	fi
+ 	if [ -f src/install/dracut-install ]; then \
+-		install -m 0755 src/install/dracut-install $(DESTDIR)$(pkglibdir)/dracut-install; \
++		install -m 0755 src/install/dracut-install $(pkglibdir)/dracut-install; \
+ 	fi
+ 	if [ -f src/skipcpio/skipcpio ]; then \
+-		install -m 0755 src/skipcpio/skipcpio $(DESTDIR)$(pkglibdir)/skipcpio; \
++		install -m 0755 src/skipcpio/skipcpio $(pkglibdir)/skipcpio; \
+ 	fi
+ 	if [ -f dracut-util ]; then \
+-		install -m 0755 dracut-util $(DESTDIR)$(pkglibdir)/dracut-util; \
++		install -m 0755 dracut-util $(pkglibdir)/dracut-util; \
+ 	fi
++
+ ifeq ($(enable_dracut_cpio),yes)
+ 	install -m 0755 dracut-cpio $(DESTDIR)$(pkglibdir)/dracut-cpio
+ endif
+-	mkdir -p $(DESTDIR)${prefix}/lib/kernel/install.d
+-	install -m 0755 install.d/50-dracut.install $(DESTDIR)${prefix}/lib/kernel/install.d/50-dracut.install
+-	install -m 0755 install.d/51-dracut-rescue.install $(DESTDIR)${prefix}/lib/kernel/install.d/51-dracut-rescue.install
+-	mkdir -p $(DESTDIR)${bashcompletiondir}
+-	install -m 0644 shell-completion/bash/dracut $(DESTDIR)${bashcompletiondir}/dracut
+-	install -m 0644 shell-completion/bash/lsinitrd $(DESTDIR)${bashcompletiondir}/lsinitrd
+-	mkdir -p $(DESTDIR)${pkgconfigdatadir}
+-	install -m 0644 dracut.pc $(DESTDIR)${pkgconfigdatadir}/dracut.pc
++	mkdir -p ${prefix}/lib/kernel/install.d
++	install -m 0755 install.d/50-dracut.install ${prefix}/lib/kernel/install.d/50-dracut.install
++	install -m 0755 install.d/51-dracut-rescue.install ${prefix}/lib/kernel/install.d/51-dracut-rescue.install
++	mkdir -p ${bashcompletiondir}
++	install -m 0644 shell-completion/bash/dracut ${bashcompletiondir}/dracut
++	install -m 0644 shell-completion/bash/lsinitrd ${bashcompletiondir}/lsinitrd
++	mkdir -p ${pkgconfigdatadir}
++	install -m 0644 dracut.pc ${pkgconfigdatadir}/dracut.pc
+ 	if ! [ -n "$(systemdsystemunitdir)" ]; then \
+-		rm -rf $(DESTDIR)$(pkglibdir)/test/TEST-[0-9][0-9]-*SYSTEMD* ;\
+-		rm -rf $(DESTDIR)$(pkglibdir)/modules.d/*systemd* $(DESTDIR)$(mandir)/*.service.* ; \
++		rm -rf $(pkglibdir)/test/TEST-[0-9][0-9]-*SYSTEMD* ;\
++		rm -rf $(pkglibdir)/modules.d/*systemd* $(mandir)/*.service.* ; \
+ 		for i in bluetooth connman dbus* fido2 lvmmerge lvmthinpool-monitor memstrack pcsc pkcs11 rngd squash* tpm2-tss; do \
+-			rm -rf $(DESTDIR)$(pkglibdir)/modules.d/[0-9][0-9]$${i}; \
++			rm -rf $(pkglibdir)/modules.d/[0-9][0-9]$${i}; \
+ 		done \
+ 	fi
+ 
diff --git a/package/dracut-ng/Config.in.host b/package/dracut-ng/Config.in.host
new file mode 100644
index 0000000000..a3511215ef
--- /dev/null
+++ b/package/dracut-ng/Config.in.host
@@ -0,0 +1,9 @@ 
+config BR2_PACKAGE_HOST_DRACUT_NG
+	bool
+	select BR2_PACKAGE_HOST_KMOD
+	help
+	  dracut-ng is used to create an initramfs image by
+	  copying tools and files from an installed system
+	  and combining it with the dracuti-ng framework.
+
+	  https://github.com/dracut-ng/dracut-ng/wiki
diff --git a/package/dracut/busybox-init-module-setup.sh b/package/dracut-ng/busybox-init-module-setup.sh
similarity index 100%
rename from package/dracut/busybox-init-module-setup.sh
rename to package/dracut-ng/busybox-init-module-setup.sh
diff --git a/package/dracut/dracut.hash b/package/dracut-ng/dracut-ng.hash
similarity index 51%
rename from package/dracut/dracut.hash
rename to package/dracut-ng/dracut-ng.hash
index 6ca352c542..cb3427b0c6 100644
--- a/package/dracut/dracut.hash
+++ b/package/dracut-ng/dracut-ng.hash
@@ -1,3 +1,3 @@ 
 # Locally computed
-sha256  eabf0bb685420c1e1d5475b6855ef787104508f0135ff570312845256e0fcecf  dracut-059.tar.gz
+sha256  8a84bdb4ba29b1bf3cd6aef6e76933329e6b1fd3fbf059962728e2e676c16f73  dracut-ng-108.tar.gz
 sha256  8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  COPYING
diff --git a/package/dracut/dracut.mk b/package/dracut-ng/dracut-ng.mk
similarity index 58%
rename from package/dracut/dracut.mk
rename to package/dracut-ng/dracut-ng.mk
index cb6044415e..9e0fd13c0f 100644
--- a/package/dracut/dracut.mk
+++ b/package/dracut-ng/dracut-ng.mk
@@ -4,33 +4,33 @@ 
 #
 ################################################################################
 
-DRACUT_VERSION = 059
-DRACUT_SITE = $(call github,dracutdevs,dracut,$(DRACUT_VERSION))
-DRACUT_LICENSE = GPL-2.0
-DRACUT_LICENSE_FILES = COPYING
-DRACUT_CPE_ID_VALID = YES
+DRACUT_NG_VERSION = 108
+DRACUT_NG_SITE = $(call github,dracut-ng,dracut-ng,$(DRACUT_NG_VERSION))
+DRACUT_NG_LICENSE = GPL-2.0
+DRACUT_NG_LICENSE_FILES = COPYING
+DRACUT_NG_CPE_ID_VALID = YES
 
-HOST_DRACUT_DEPENDENCIES = host-pkgconf host-kmod host-cross-ldd
+HOST_DRACUT_NG_DEPENDENCIES = host-pkgconf host-kmod host-cross-ldd
 
-define HOST_DRACUT_POST_INSTALL_WRAPPER_SCRIPT
+define HOST_DRACUT_NG_POST_INSTALL_WRAPPER_SCRIPT
 	mv $(HOST_DIR)/bin/dracut $(HOST_DIR)/bin/dracut.real
 	sed -e "s%@@TARGET_CROSS@@%$(TARGET_CROSS)%" \
-		$(HOST_DRACUT_PKGDIR)/dracut_wrapper.in > \
+		$(HOST_DRACUT_NG_PKGDIR)/dracut_wrapper.in > \
 		$(@D)/dracut_wrapper
 	install -D -m 0755 $(@D)/dracut_wrapper $(HOST_DIR)/bin/dracut
 endef
-HOST_DRACUT_POST_INSTALL_HOOKS += HOST_DRACUT_POST_INSTALL_WRAPPER_SCRIPT
+HOST_DRACUT_NG_POST_INSTALL_HOOKS += HOST_DRACUT_NG_POST_INSTALL_WRAPPER_SCRIPT
 
 # When using uClibc or musl, there must be "ld-uClibc.so.1" or
 # "ld-musl-x.so" symlinks, respectively - else the init process cannot
 # start
-define HOST_DRACUT_POST_INSTALL_LIBC_LINKS_MODULE
-	$(INSTALL) -D -m 0755 package/dracut/merged-usr-module-setup.sh \
+define HOST_DRACUT_NG_POST_INSTALL_LIBC_LINKS_MODULE
+	$(INSTALL) -D -m 0755 package/dracut-ng/merged-usr-module-setup.sh \
 		$(HOST_DIR)/lib/dracut/modules.d/0000-merged-usr/module-setup.sh
-	$(INSTALL) -D -m 0755 package/dracut/libc-links-module-setup.sh \
+	$(INSTALL) -D -m 0755 package/dracut-ng/libc-links-module-setup.sh \
 		$(HOST_DIR)/lib/dracut/modules.d/05libc-links/module-setup.sh
 endef
-HOST_DRACUT_POST_INSTALL_HOOKS += HOST_DRACUT_POST_INSTALL_LIBC_LINKS_MODULE
+HOST_DRACUT_NG_POST_INSTALL_HOOKS += HOST_DRACUT_NG_POST_INSTALL_LIBC_LINKS_MODULE
 
 ifeq ($(BR2_INIT_BUSYBOX),y)
 # Dracut does not support busybox init (systemd init is assumed to work
@@ -42,11 +42,11 @@  ifeq ($(BR2_INIT_BUSYBOX),y)
 # Note that setting the script as executable (0755) is not mandatory,
 # but this is what dracut does on all its modules, so lets just conform
 # to it.
-define HOST_DRACUT_POST_INSTALL_BUSYBOX_INIT_MODULE
-	$(INSTALL) -D -m 0755 package/dracut/busybox-init-module-setup.sh \
+define HOST_DRACUT_NG_POST_INSTALL_BUSYBOX_INIT_MODULE
+	$(INSTALL) -D -m 0755 package/dracut-ng/busybox-init-module-setup.sh \
 		$(HOST_DIR)/lib/dracut/modules.d/05busybox-init/module-setup.sh
 endef
-HOST_DRACUT_POST_INSTALL_HOOKS += HOST_DRACUT_POST_INSTALL_BUSYBOX_INIT_MODULE
+HOST_DRACUT_NG_POST_INSTALL_HOOKS += HOST_DRACUT_NG_POST_INSTALL_BUSYBOX_INIT_MODULE
 endif
 
 $(eval $(host-autotools-package))
diff --git a/package/dracut/dracut_wrapper.in b/package/dracut-ng/dracut_wrapper.in
similarity index 100%
rename from package/dracut/dracut_wrapper.in
rename to package/dracut-ng/dracut_wrapper.in
diff --git a/package/dracut/libc-links-module-setup.sh b/package/dracut-ng/libc-links-module-setup.sh
similarity index 100%
rename from package/dracut/libc-links-module-setup.sh
rename to package/dracut-ng/libc-links-module-setup.sh
diff --git a/package/dracut/merged-usr-module-setup.sh b/package/dracut-ng/merged-usr-module-setup.sh
similarity index 100%
rename from package/dracut/merged-usr-module-setup.sh
rename to package/dracut-ng/merged-usr-module-setup.sh
diff --git a/package/dracut/0001-dracut.sh-don-t-unset-LD_PRELOAD.patch b/package/dracut/0001-dracut.sh-don-t-unset-LD_PRELOAD.patch
deleted file mode 100644
index 394917eeb0..0000000000
--- a/package/dracut/0001-dracut.sh-don-t-unset-LD_PRELOAD.patch
+++ /dev/null
@@ -1,31 +0,0 @@ 
-From bb12f15856911d8532b569116da7dab4cbf107be Mon Sep 17 00:00:00 2001
-From: Thierry Bultel <thierry.bultel@linatsea.fr>
-Date: Mon, 10 Jan 2022 09:09:43 +0100
-Subject: [PATCH] dracut.sh: don't unset LD_PRELOAD
-
-LD_PRELOAD and LD_LIBRARY_PATH are needed to run under fakeroot.
-
-Signed-off-by: Thierry Bultel <thierry.bultel@linatsea.fr>
-Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
-[yann.morin.1998@free.fr: commit log also mentions LD_LIBRARY_PATH]
-Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
----
- dracut.sh | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/dracut.sh b/dracut.sh
-index 60ac46f4..37f25b38 100755
---- a/dracut.sh
-+++ b/dracut.sh
-@@ -868,8 +868,6 @@ export LC_ALL=C
- export LANG=C
- unset LC_MESSAGES
- unset LC_CTYPE
--unset LD_LIBRARY_PATH
--unset LD_PRELOAD
- unset GREP_OPTIONS
- 
- export DRACUT_LOG_LEVEL=warning
--- 
-2.37.1
-
diff --git a/package/dracut/Config.in.host b/package/dracut/Config.in.host
deleted file mode 100644
index 18f562b310..0000000000
--- a/package/dracut/Config.in.host
+++ /dev/null
@@ -1,9 +0,0 @@ 
-config BR2_PACKAGE_HOST_DRACUT
-	bool
-	select BR2_PACKAGE_HOST_KMOD
-	help
-	  dracut is used to create an initramfs image by
-	  copying tools and files from an installed system
-	  and combining it with the dracut framework.
-
-	  https://dracut.wiki.kernel.org