]> git.ipfire.org Git - thirdparty/dracut-ng.git/commitdiff
chore(dracut): finalize transition to /var/lib/dracut/hooks
authorVitaly Kuznetsov <vkuznets@redhat.com>
Thu, 25 Sep 2025 09:53:06 +0000 (11:53 +0200)
committerBenjamin Drung <bdrung@ubuntu.com>
Wed, 4 Feb 2026 11:10:25 +0000 (12:10 +0100)
Commit a45048b80c ("move hooks directory from /usr/lib to /var/lib")
moved hooks to /var/lib/dracut/hooks and created a symlink from /lib
to avoid the code churn. In preparation to supporting additional
hooks locations, finalize the transition and use /var/lib/dracut/hooks
everywhere.

No functional change intended.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
12 files changed:
doc_site/modules/ROOT/pages/developer/modules.adoc
dracut.sh
modules.d/74resume/parse-resume.sh
modules.d/77dracut-systemd/dracut-cmdline.service
modules.d/77dracut-systemd/dracut-mount.service
modules.d/77dracut-systemd/dracut-pre-mount.service
modules.d/77dracut-systemd/dracut-pre-pivot.service
modules.d/77dracut-systemd/dracut-pre-trigger.service
modules.d/77dracut-systemd/dracut-pre-udev.service
modules.d/80base/dracut-lib.sh
modules.d/80base/module-setup.sh
modules.d/86shutdown/module-setup.sh

index 6b57eab4da282887442d64c48d2b9d677915e7f4..54e21967a552fa6b1b144b17a04b440ddacde40e 100644 (file)
@@ -125,16 +125,16 @@ You are encouraged to provide a `README` that describes what the module is for.
 
 init has the following hook points to inject scripts:
 
-`/lib/dracut/hooks/cmdline/*.sh`::
+`/var/lib/dracut/hooks/cmdline/*.sh`::
 scripts for command line parsing
 
-`/lib/dracut/hooks/pre-udev/*.sh`::
+`/var/lib/dracut/hooks/pre-udev/*.sh`::
 scripts to run before udev is started
 
-`/lib/dracut/hooks/pre-trigger/*.sh`::
+`/var/lib/dracut/hooks/pre-trigger/*.sh`::
 scripts to run before the main udev trigger is pulled
 
-`/lib/dracut/hooks/initqueue/*.sh`::
+`/var/lib/dracut/hooks/initqueue/*.sh`::
 runs in parallel to the udev trigger
 +
 Udev events can add scripts here with `/sbin/initqueue`.
@@ -142,7 +142,7 @@ Udev events can add scripts here with `/sbin/initqueue`.
 If `/sbin/initqueue` is called with the `--onetime` option, the script
 will be removed after it was run.
 +
-If `/lib/dracut/hooks/initqueue/work` is created then
+If `/var/lib/dracut/hooks/initqueue/work` is created then
 this loop can process the jobs in parallel to the udevtrigger.
 +
 If the udev queue is empty and no root device is found or no root
@@ -151,23 +151,23 @@ a timeout.
 +
 Scripts can remove themselves from the initqueue by `rm $job`.
 
-`/lib/dracut/hooks/pre-mount/*.sh`::
+`/var/lib/dracut/hooks/pre-mount/*.sh`::
 scripts to run before the root filesystem is mounted
 +
 Network filesystems like NFS that do not use device files are an
 exception. Root can be mounted already at this point.
 
-`/lib/dracut/hooks/mount/*.sh`::
+`/var/lib/dracut/hooks/mount/*.sh`::
 scripts to mount the root filesystem
 +
 If the udev queue is empty and no root device is found or no root
 filesystem was mounted, the user will be dropped to a shell after
 a timeout.
 
-`/lib/dracut/hooks/pre-pivot/*.sh`::
+`/var/lib/dracut/hooks/pre-pivot/*.sh`::
 scripts to run before latter initramfs cleanups
 
-`/lib/dracut/hooks/cleanup/*.sh`::
+`/var/lib/dracut/hooks/cleanup/*.sh`::
 scripts to run before the real init is executed and the initramfs
 disappears
 +
index 13cd90707cc6475ae71699ef46256b64c6634d6a..6a1963b9d2e057db4e6aa79883a26ee38823b5ef 100755 (executable)
--- a/dracut.sh
+++ b/dracut.sh
@@ -2706,7 +2706,7 @@ if [[ $kernel_only != yes ]]; then
 
     for _d in $hookdirs; do
         # shellcheck disable=SC2174
-        mkdir -m 0755 -p "${initdir}/lib/dracut/hooks/$_d"
+        mkdir -m 0755 -p "${initdir}/var/lib/dracut/hooks/$_d"
     done
     if [[ $EUID == "0" ]] && ! [[ $DRACUT_NO_MKNOD ]]; then
         [[ -c ${initdir}/dev/null ]] || mknod "${initdir}"/dev/null c 1 3
index b5c60a6d13419a307baf73d6ebabcbcda48a4ef4..e29000eba4ce1485c6976a49871c221ce26bbd1b 100755 (executable)
@@ -66,7 +66,7 @@ if ! getarg noresume; then
             printf -- ' cancel_wait_for_dev /dev/resume; rm -f -- "$job" "%s/initqueue/settled/resume.sh";\n' "$hookdir"
         } >> "$hookdir"/initqueue/timeout/resume.sh
 
-        mv /lib/dracut/resume.sh /lib/dracut/hooks/pre-mount/10-resume.sh
+        mv /lib/dracut/resume.sh /var/lib/dracut/hooks/pre-mount/10-resume.sh
     else
         {
             if [ -x /usr/sbin/resume ]; then
index 09f69d77b0db0c0c1b2a8d9230140f21833bb238..d4fbc695a519c688dae5c18d291d7494690115dd 100644 (file)
@@ -9,7 +9,7 @@ After=systemd-journald.socket
 Wants=systemd-journald.socket
 ConditionPathExists=/usr/lib/initrd-release
 ConditionPathExistsGlob=|/etc/cmdline.d/*.conf
-ConditionDirectoryNotEmpty=|/lib/dracut/hooks/cmdline
+ConditionDirectoryNotEmpty=|/var/lib/dracut/hooks/cmdline
 ConditionKernelCommandLine=|rd.break=cmdline
 Conflicts=shutdown.target emergency.target
 
index f3a91918dccf6e31dd4768fb23c57f5073af9d80..884c699bf630730af56e266b4f7fa5a1815c902c 100644 (file)
@@ -6,7 +6,7 @@ Documentation=man:dracut-mount.service(8) man:dracut.bootup(7)
 After=initrd-root-fs.target initrd-parse-etc.service
 After=dracut-initqueue.service dracut-pre-mount.service
 ConditionPathExists=/usr/lib/initrd-release
-ConditionDirectoryNotEmpty=|/lib/dracut/hooks/mount
+ConditionDirectoryNotEmpty=|/var/lib/dracut/hooks/mount
 ConditionKernelCommandLine=|rd.break=mount
 DefaultDependencies=no
 Conflicts=shutdown.target emergency.target
index f55cd51fb51e7377c92218bc9e25b22b579e4d3c..0e19cac0372cfc3be15e00150b082f13686494e2 100644 (file)
@@ -7,7 +7,7 @@ DefaultDependencies=no
 Before=initrd-root-fs.target sysroot.mount systemd-fsck-root.service
 After=dracut-initqueue.service cryptsetup.target
 ConditionPathExists=/usr/lib/initrd-release
-ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-mount
+ConditionDirectoryNotEmpty=|/var/lib/dracut/hooks/pre-mount
 ConditionKernelCommandLine=|rd.break=pre-mount
 Conflicts=shutdown.target emergency.target
 
index daedd7c96dbca4cc5fb0772c2b922cec68a9a15b..6c786341e9dc958cf508ebf9bd318d453f6d54d7 100644 (file)
@@ -10,8 +10,8 @@ Before=initrd-cleanup.service
 Wants=remote-fs.target
 After=remote-fs.target
 ConditionPathExists=/usr/lib/initrd-release
-ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-pivot
-ConditionDirectoryNotEmpty=|/lib/dracut/hooks/cleanup
+ConditionDirectoryNotEmpty=|/var/lib/dracut/hooks/pre-pivot
+ConditionDirectoryNotEmpty=|/var/lib/dracut/hooks/cleanup
 ConditionKernelCommandLine=|rd.break=pre-pivot
 ConditionKernelCommandLine=|rd.break=cleanup
 ConditionKernelCommandLine=|rd.break
index 83923bc710603d822421e3841820027cf1ce158f..555fcefb33d34ff9f0565e46a7bd4f2e710b40c3 100644 (file)
@@ -8,7 +8,7 @@ Before=systemd-udev-trigger.service dracut-initqueue.service
 After=dracut-pre-udev.service systemd-udevd.service systemd-tmpfiles-setup-dev.service
 Wants=dracut-pre-udev.service systemd-udevd.service
 ConditionPathExists=/usr/lib/initrd-release
-ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-trigger
+ConditionDirectoryNotEmpty=|/var/lib/dracut/hooks/pre-trigger
 ConditionKernelCommandLine=|rd.break=pre-trigger
 Conflicts=shutdown.target emergency.target
 
index 316fe005df3444a31db91e7e644d39fd16fe34f1..f3c10214a97e226ce0a0c2d81af1bcdc9401b8d5 100644 (file)
@@ -8,7 +8,7 @@ Before=systemd-udevd.service dracut-pre-trigger.service
 After=dracut-cmdline.service
 Wants=dracut-cmdline.service
 ConditionPathExists=/usr/lib/initrd-release
-ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-udev
+ConditionDirectoryNotEmpty=|/var/lib/dracut/hooks/pre-udev
 ConditionKernelCommandLine=|rd.break=pre-udev
 ConditionKernelCommandLine=|rd.driver.blacklist
 ConditionKernelCommandLine=|rd.driver.pre
index 93b774a931cbb0c94ccddaf415330678b68518af..69936d2f27e0927d3a8177f2c3a71863f1c28528 100755 (executable)
@@ -379,14 +379,14 @@ source_all() {
     done
 }
 
-hookdir=/lib/dracut/hooks
+hookdir=/var/lib/dracut/hooks
 export hookdir
 
 source_hook() {
     local _dir
     _dir=$1
     shift
-    source_all "/lib/dracut/hooks/$_dir" "$@"
+    source_all "/var/lib/dracut/hooks/$_dir" "$@"
 }
 
 check_finished() {
index 3c15379889533d314077a3be10105e2887452ca8..91797d858972eed20b8eb61c1012f2fcfaac0e22 100755 (executable)
@@ -135,7 +135,7 @@ install() {
                     export DRACUT_SYSTEMD=1
                 fi
                 export PREFIX="$initdir"
-                export hookdir=/lib/dracut/hooks
+                export hookdir=/var/lib/dracut/hooks
 
                 # shellcheck source=dracut-dev-lib.sh
                 . "$moddir/dracut-dev-lib.sh"
index 7cb9c5f5404806d7b3293dff4cfd6817170323c6..d9ce47328b804f0fc65c57377f755283e1640b4d 100755 (executable)
@@ -18,6 +18,6 @@ install() {
     ln_r /var/lib/dracut/hooks /lib/dracut/hooks
 
     for _d in $hookdirs shutdown shutdown-emergency; do
-        mkdir -m 0755 -p "${initdir}"/lib/dracut/hooks/"$_d"
+        mkdir -m 0755 -p "${initdir}"/var/lib/dracut/hooks/"$_d"
     done
 }