Unverified Commit a136def4 authored by Alyssa Ross's avatar Alyssa Ross
Browse files

compressFirmwareXz: fix symlink type check

The previous version didn't work in the case of relative symlinks in
subdirectories.  If "foo/bar" was a link to "baz", it would check for
a link to "baz" in the root, rather than under "foo".

We don't need to dereference the symlink ourselves for [ anyway, as it
dereferences its arguments itself, so all we need to do to fix this is
to pass it the link.

Fixes: 14f83d5c ("compressFirmwareXz: fix links to directories")
parent 9a9ed628
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@ 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")"
      if [ -f $target ]; then
      if [ -f "${firmware}/$link" ]; then
        ln -vs -- "''${target/^${firmware}/$out}.xz" "$out/$link.xz"
      else
        ln -vs -- "''${target/^${firmware}/$out}" "$out/$link"