diff options
Diffstat (limited to 'nixpkgs/pkgs/build-support/kernel/compress-firmware-xz.nix')
-rw-r--r-- | nixpkgs/pkgs/build-support/kernel/compress-firmware-xz.nix | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/nixpkgs/pkgs/build-support/kernel/compress-firmware-xz.nix b/nixpkgs/pkgs/build-support/kernel/compress-firmware-xz.nix index cfb06a5c0f15..cb9ce7a71338 100644 --- a/nixpkgs/pkgs/build-support/kernel/compress-firmware-xz.nix +++ b/nixpkgs/pkgs/build-support/kernel/compress-firmware-xz.nix @@ -3,7 +3,9 @@ firmware: let - args = lib.optionalAttrs (firmware ? meta) { inherit (firmware) meta; }; + args = { + allowedRequisites = []; + } // lib.optionalAttrs (firmware ? meta) { inherit (firmware) meta; }; in runCommand "${firmware.name}-xz" args '' @@ -15,6 +17,13 @@ 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 "${firmware}/$link" ]; then + ln -vs -- "''${target/^${firmware}/$out}.xz" "$out/$link.xz" + else + ln -vs -- "''${target/^${firmware}/$out}" "$out/$link" + fi done + + echo "Checking for broken symlinks:" + find -L $out -type l -print -execdir false -- '{}' '+' '' |