about summary refs log tree commit diff
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorFranz Pletz <fpletz@fnordicwalking.de>2024-01-23 07:16:59 +0100
committerFranz Pletz <fpletz@fnordicwalking.de>2024-01-23 07:16:59 +0100
commit14f83d5c6f98a93b7cce1d0a90b24aa9908ea57e (patch)
tree6da8eb8c3e1d5099fc3af6a7aad50c60e7bf3121 /pkgs/build-support
parent379bf3e0e698c240e09021db147a7314872c78d2 (diff)
downloadnixlib-14f83d5c6f98a93b7cce1d0a90b24aa9908ea57e.tar
nixlib-14f83d5c6f98a93b7cce1d0a90b24aa9908ea57e.tar.gz
nixlib-14f83d5c6f98a93b7cce1d0a90b24aa9908ea57e.tar.bz2
nixlib-14f83d5c6f98a93b7cce1d0a90b24aa9908ea57e.tar.lz
nixlib-14f83d5c6f98a93b7cce1d0a90b24aa9908ea57e.tar.xz
nixlib-14f83d5c6f98a93b7cce1d0a90b24aa9908ea57e.tar.zst
nixlib-14f83d5c6f98a93b7cce1d0a90b24aa9908ea57e.zip
compressFirmwareXz: fix links to directories
Only add the `.xz` suffix to links if link target is a regular file.
This breaks if the target is a directory.

Fixes #283005.
Diffstat (limited to 'pkgs/build-support')
-rw-r--r--pkgs/build-support/kernel/compress-firmware-xz.nix6
1 files changed, 5 insertions, 1 deletions
diff --git a/pkgs/build-support/kernel/compress-firmware-xz.nix b/pkgs/build-support/kernel/compress-firmware-xz.nix
index cfb06a5c0f15..a69b31bb3bd0 100644
--- a/pkgs/build-support/kernel/compress-firmware-xz.nix
+++ b/pkgs/build-support/kernel/compress-firmware-xz.nix
@@ -15,6 +15,10 @@ runCommand "${firmware.name}-xz" args ''
           sh -c 'xz -9c -T1 -C crc32 --lzma2=dict=2MiB "${firmware}/$1" > "$1.xz"' --)
   (cd ${firmware} && find lib/firmware -type l) | while read link; do
       target="$(readlink "${firmware}/$link")"
-      ln -vs -- "''${target/^${firmware}/$out}.xz" "$out/$link.xz"
+      if [ -f $target ]; then
+        ln -vs -- "''${target/^${firmware}/$out}.xz" "$out/$link.xz"
+      else
+        ln -vs -- "''${target/^${firmware}/$out}" "$out/$link"
+      fi
   done
 ''