diff options
author | Franz Pletz <fpletz@fnordicwalking.de> | 2024-01-23 07:16:59 +0100 |
---|---|---|
committer | Franz Pletz <fpletz@fnordicwalking.de> | 2024-01-23 07:16:59 +0100 |
commit | 14f83d5c6f98a93b7cce1d0a90b24aa9908ea57e (patch) | |
tree | 6da8eb8c3e1d5099fc3af6a7aad50c60e7bf3121 /pkgs/build-support | |
parent | 379bf3e0e698c240e09021db147a7314872c78d2 (diff) | |
download | nixlib-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.nix | 6 |
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 '' |