]> git.ipfire.org Git - thirdparty/dracut-ng.git/commitdiff
fix(nfs): use `DRACUT_CP` instead of `cp`
authorAntonio Alvarez Feijoo <antonio.feijoo@suse.com>
Tue, 1 Apr 2025 12:33:38 +0000 (14:33 +0200)
committerNeal Gompa (ニール・ゴンパ) <ngompa13@gmail.com>
Sun, 13 Apr 2025 01:40:30 +0000 (21:40 -0400)
Using `cp` directly ignores `DRACUT_NO_XATTR`.

modules.d/95nfs/module-setup.sh

index 6c76faf47734f62824cd7869384440f5c6b5b2e5..d097cd38f5f2ebd11bdd99d5a05be540313fbcf4 100755 (executable)
@@ -120,9 +120,15 @@ install() {
     mkdir -m 0770 -p "$initdir/var/lib/rpcbind"
 
     # use the same directory permissions as the host
-    [ -d "/var/lib/nfs/statd" ] && cp -a --attributes-only "$dracutsysrootdir"/var/lib/nfs/statd "${initdir}"/var/lib/nfs/ && rm -rf "${initdir}"/var/lib/nfs/statd/*
-    [ -d "/var/lib/nfs/statd/sm" ] && cp -a --attributes-only "$dracutsysrootdir"/var/lib/nfs/statd/sm "${initdir}"/var/lib/nfs/statd/ && rm -rf "${initdir}"/var/lib/nfs/statd/sm/*
-    [ -d "/var/lib/nfs/sm" ] && cp -a --attributes-only "$dracutsysrootdir"/var/lib/nfs/sm "${initdir}"/var/lib/nfs/ && rm -rf "${initdir}"/var/lib/nfs/sm/*
+    [[ -d "$dracutsysrootdir"/var/lib/nfs/statd ]] \
+        && $DRACUT_CP -L --preserve=ownership -t "$initdir"/var/lib/nfs "$dracutsysrootdir"/var/lib/nfs/statd \
+        && rm -rf "$initdir"/var/lib/nfs/statd/*
+    [[ -d "$dracutsysrootdir"/var/lib/nfs/statd/sm ]] \
+        && $DRACUT_CP -L --preserve=ownership -t "$initdir"/var/lib/nfs/statd "$dracutsysrootdir"/var/lib/nfs/statd/sm \
+        && rm -rf "$initdir"/var/lib/nfs/statd/sm/*
+    [[ -d "$dracutsysrootdir"/var/lib/nfs/sm ]] \
+        && $DRACUT_CP -L --preserve=ownership -t "$initdir"/var/lib/nfs "$dracutsysrootdir"/var/lib/nfs/sm \
+        && rm -rf "$initdir"/var/lib/nfs/sm/*
 
     # Rather than copy the passwd file in, just set a user for rpcbind
     # We'll save the state and restart the daemon from the root anyway