File tree Expand file tree Collapse file tree 1 file changed +18
-4
lines changed
tests/zfs-tests/tests/functional/rsend Expand file tree Collapse file tree 1 file changed +18
-4
lines changed Original file line number Diff line number Diff line change @@ -848,10 +848,24 @@ function recursive_cksum
848848 \; | sort | sha256 -q
849849 ;;
850850 Darwin)
851- find $1 -type f -exec sh -c 'sha256sum {}; xattr -lv {} | \
852- sha256sum' \; | \
853- sort -k 2 | awk '{ print $1 }' | sha256sum | \
854- awk '{ print $1 }'
851+ # Posix makes no promise on the order of readdir entries
852+ # so sort the find. Alas, XNU's "xattr" also doesn't sort
853+ # so it becomes a hassle. Neither command can strip the
854+ # full path in filename.
855+ for name in $(find $1 -type f -print0 | sort -V -z | xargs -0)
856+ do
857+ # file's checksum
858+ filsum=$(sha256sum "${name}" | awk '{print $1}')
859+ # echo "${name}:${filsum}"
860+ echo "${filsum}"
861+ # sort xattrs too
862+ for a in $(xattr "${name}" | sort -V)
863+ do
864+ cksum=$(xattr -px "$a" "${name}" | sha256sum | awk '{print $1}')
865+ echo "${a}:${cksum}"
866+ # echo "${cksum}"
867+ done
868+ done | sha256sum | awk '{print $1}'
855869 ;;
856870 *)
857871 find $1 -type f -exec sh -c 'sha256sum {}; getfattr \
You can’t perform that action at this time.
0 commit comments