diff options
Diffstat (limited to '')
-rwxr-xr-x | tools/update-packaging/test/diffmar.sh | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tools/update-packaging/test/diffmar.sh b/tools/update-packaging/test/diffmar.sh new file mode 100755 index 0000000000..4b16ffb77a --- /dev/null +++ b/tools/update-packaging/test/diffmar.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# Compares two mars + +marA="$1" +marB="$2" +testDir="$3" +workdir="/tmp/diffmar/$testDir" +fromdir="$workdir/0" +todir="$workdir/1" + +# On Windows, creation time can be off by a second or more between the files in +# the fromdir and todir due to them being extracted synchronously so use +# time-style and exclude seconds from the creation time. +lsargs="-algR" +unamestr=`uname` +if [ ! "$unamestr" = 'Darwin' ]; then + unamestr=`uname -o` + if [ "$unamestr" = 'Msys' -o "$unamestr" = "Cygwin" ]; then + lsargs="-algR --time-style=+%Y-%m-%d-%H:%M" + fi +fi + +rm -rf "$workdir" +mkdir -p "$fromdir" +mkdir -p "$todir" + +cp "$1" "$fromdir" +cp "$2" "$todir" + +cd "$fromdir" +mar -x "$1" +rm "$1" +rm -f updatev2.manifest # Older files may contain this +mv updatev3.manifest updatev3.manifest.xz +xz -d updatev3.manifest.xz +ls $lsargs > files.txt + +cd "$todir" +mar -x "$2" +rm "$2" +mv updatev3.manifest updatev3.manifest.xz +xz -d updatev3.manifest.xz +ls $lsargs > files.txt + +echo "diffing $fromdir and $todir" +echo "on linux shell sort and python sort return different results" +echo "which can cause differences in the manifest files" +diff -ru "$fromdir" "$todir" |