Accepting request 305449 from openSUSE:Tools
Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/305449 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/build-compare?expand=0&rev=89
This commit is contained in:
commit
447feb8035
@ -1,3 +1,16 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 28 11:52:12 UTC 2015 - olaf@aepfle.de
|
||||
|
||||
- 2015.04.28
|
||||
- Filter InitrdID in /linuxrc.config
|
||||
- Hexdump old and new file in parallel
|
||||
- Sort cpio file list with files to compare
|
||||
- Extract old and new files in parallel
|
||||
- Ignore block device nodes
|
||||
- Ignore character device nodes
|
||||
- Always clean tmpdir on exit in pkg-diff.sh
|
||||
- Handle squashfs files
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 13 08:55:39 UTC 2015 - olaf@aepfle.de
|
||||
|
||||
|
@ -21,7 +21,7 @@ Summary: Build Result Compare Script
|
||||
License: GPL-2.0+
|
||||
Group: Development/Tools/Building
|
||||
Url: https://github.com/openSUSE/build-compare
|
||||
Version: 2015.04.13
|
||||
Version: 2015.04.28
|
||||
Release: 0
|
||||
Source1: COPYING
|
||||
Source2: same-build-result.sh
|
||||
|
71
pkg-diff.sh
71
pkg-diff.sh
@ -20,6 +20,21 @@ if test "$#" != 2; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Always clean up on exit
|
||||
local_tmpdir=`mktemp -d`
|
||||
if test -z "${local_tmpdir}"
|
||||
then
|
||||
exit 1
|
||||
fi
|
||||
function _exit()
|
||||
{
|
||||
chmod -R u+w "${local_tmpdir}"
|
||||
rm -rf "${local_tmpdir}"
|
||||
}
|
||||
trap _exit EXIT
|
||||
# Let further mktemp refer to private tmpdir
|
||||
export TMPDIR=$local_tmpdir
|
||||
|
||||
self_script=$(cd $(dirname $0); echo $(pwd)/$(basename $0))
|
||||
|
||||
source $FUNCTIONS
|
||||
@ -168,8 +183,9 @@ diff_two_files()
|
||||
fi
|
||||
|
||||
echo "$file differs ($ftype)"
|
||||
hexdump -C old/$file > $file1
|
||||
hexdump -C new/$file > $file2
|
||||
hexdump -C old/$file > $file1 &
|
||||
hexdump -C new/$file > $file2 &
|
||||
wait
|
||||
diff -u $file1 $file2 | head -n 200
|
||||
return 1
|
||||
}
|
||||
@ -246,20 +262,23 @@ check_compressed_file()
|
||||
bz2)
|
||||
mv old/$file{,.bz2}
|
||||
mv new/$file{,.bz2}
|
||||
bzip2 -d old/$file.bz2
|
||||
bzip2 -d new/$file.bz2
|
||||
bzip2 -d old/$file.bz2 &
|
||||
bzip2 -d new/$file.bz2 &
|
||||
wait
|
||||
;;
|
||||
gzip)
|
||||
mv old/$file{,.gz}
|
||||
mv new/$file{,.gz}
|
||||
gzip -d old/$file.gz
|
||||
gzip -d new/$file.gz
|
||||
gzip -d old/$file.gz &
|
||||
gzip -d new/$file.gz &
|
||||
wait
|
||||
;;
|
||||
xz)
|
||||
mv old/$file{,.xz}
|
||||
mv new/$file{,.xz}
|
||||
xz -d old/$file.xz
|
||||
xz -d new/$file.xz
|
||||
xz -d old/$file.xz &
|
||||
xz -d new/$file.xz &
|
||||
wait
|
||||
;;
|
||||
esac
|
||||
ftype=`/usr/bin/file old/$file | sed 's@^[^:]\+:[[:blank:]]*@@'`
|
||||
@ -324,7 +343,7 @@ check_single_file()
|
||||
return 0
|
||||
;;
|
||||
*.cpio)
|
||||
flist=`cpio --quiet --list --force-local < "new/$file"`
|
||||
flist=`cpio --quiet --list --force-local < "new/$file" | sort`
|
||||
pwd=$PWD
|
||||
fdir=$file.extract.$PPID.$$
|
||||
mkdir old/$fdir new/$fdir
|
||||
@ -345,6 +364,23 @@ check_single_file()
|
||||
rm -rf old/$fdir new/$fdir
|
||||
return $ret
|
||||
;;
|
||||
*.squashfs)
|
||||
flist=`unsquashfs -no-progress -ls -dest '' "new/$file" | grep -Ev '^(Parallel unsquashfs:|[0-9]+ inodes )' | sort`
|
||||
fdir=$file.extract.$PPID.$$
|
||||
unsquashfs -no-progress -dest old/$fdir "old/$file"
|
||||
unsquashfs -no-progress -dest new/$fdir "new/$file"
|
||||
local ret=0
|
||||
for f in $flist; do
|
||||
if ! check_single_file $fdir/$f; then
|
||||
ret=1
|
||||
if test -z "$check_all"; then
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
rm -rf old/$fdir new/$fdir
|
||||
return $ret
|
||||
;;
|
||||
*.tar|*.tar.bz2|*.tar.gz|*.tgz|*.tbz2)
|
||||
flist=`tar tf new/$file`
|
||||
pwd=$PWD
|
||||
@ -626,6 +662,11 @@ check_single_file()
|
||||
}' "$f"
|
||||
done
|
||||
;;
|
||||
*/linuxrc.config)
|
||||
echo "${file}"
|
||||
sed -i '/^InitrdID:/s@^.*@InitrdID: something@' "old/$file"
|
||||
sed -i '/^InitrdID:/s@^.*@InitrdID: something@' "new/$file"
|
||||
;;
|
||||
esac
|
||||
|
||||
ftype=`/usr/bin/file old/$file | sed 's@^[^:]\+:[[:blank:]]*@@'`
|
||||
@ -722,6 +763,14 @@ check_single_file()
|
||||
return 1
|
||||
fi
|
||||
;;
|
||||
Squashfs\ filesystem,*)
|
||||
echo "$file ($ftype)"
|
||||
mv old/$file{,.squashfs}
|
||||
mv new/$file{,.squashfs}
|
||||
if ! check_single_file ${file}.squashfs; then
|
||||
return 1
|
||||
fi
|
||||
;;
|
||||
symbolic\ link\ to\ *)
|
||||
readlink "old/$file" > $file1
|
||||
readlink "new/$file" > $file2
|
||||
@ -730,6 +779,10 @@ check_single_file()
|
||||
return 1
|
||||
fi
|
||||
;;
|
||||
block\ special\ *)
|
||||
;;
|
||||
character\ special\ *)
|
||||
;;
|
||||
*)
|
||||
if ! diff_two_files; then
|
||||
return 1
|
||||
|
Loading…
Reference in New Issue
Block a user