]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
feat(dracut-init.sh): add inst_libdir_dir() helper
authorAntonio Alvarez Feijoo <antonio.feijoo@suse.com>
Thu, 29 Sep 2022 10:02:16 +0000 (12:02 +0200)
committerLaszlo Gombos <laszlo.gombos@gmail.com>
Sat, 22 Oct 2022 01:49:56 +0000 (21:49 -0400)
This helper function is similar to inst_libdir_file(), but it installs plain
directories located on a library directory instead of files.

dracut-init.sh

index 6ef3fc8bb205e6b6b9b1c873a3ada419bad15271..aba42bb31bd613da8c166f2921dacb6949d5723b 100755 (executable)
@@ -644,6 +644,22 @@ inst_any() {
     return 1
 }
 
+# inst_libdir_dir <dir> [<dir>...]
+# Install a <dir> located on a lib directory to the initramfs image
+inst_libdir_dir() {
+    local -a _dirs
+    for _dir in $libdirs; do
+        for _i in "$@"; do
+            for _d in "$dracutsysrootdir$_dir"/$_i; do
+                [[ -d $_d ]] && _dirs+=("${_d#"$dracutsysrootdir"}")
+            done
+        done
+    done
+    for _dir in "${_dirs[@]}"; do
+        inst_dir "$_dir"
+    done
+}
+
 # inst_libdir_file [-n <pattern>] <file> [<file>...]
 # Install a <file> located on a lib directory to the initramfs image
 # -n <pattern> install matching files