Accepting request 260844 from home:olh:branches:openSUSE:Tools
- Update check-all option to really keep going and check all files - Add check to recursively look into gzip files with odd suffix to properly handle /usr/share/vlc/skins2/default.vlt - Fix quoting . remove filelist handling part of the change in previous SR. OBS-URL: https://build.opensuse.org/request/show/260844 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/build-compare?expand=0&rev=151
This commit is contained in:
parent
f4a628f3a0
commit
3c69ae3451
@ -1,3 +1,15 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 7 11:12:10 UTC 2014 - ohering@suse.de
|
||||
|
||||
- Update check-all option to really keep going and check all files
|
||||
- Add check to recursively look into gzip files with odd suffix
|
||||
to properly handle /usr/share/vlc/skins2/default.vlt
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Aug 2 19:37:18 UTC 2014 - johannesobermayr@gmx.de
|
||||
|
||||
- Fix quoting .
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 29 15:07:04 UTC 2014 - johannesobermayr@gmx.de
|
||||
|
||||
|
32
functions.sh
32
functions.sh
@ -82,25 +82,31 @@ function cmp_spec ()
|
||||
# the DISTURL tag can be used as checkin ID
|
||||
#echo "$QF"
|
||||
if ! diff -au $file1 $file2; then
|
||||
rm $file1 $file2
|
||||
return 1
|
||||
if test -z "$check_all"; then
|
||||
rm $file1 $file2
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Remember to quote the . which is in release
|
||||
release1=`$RPM --qf "%{RELEASE}" "$oldrpm"|sed -e 's/\./\\./g'`
|
||||
release2=`$RPM --qf "%{RELEASE}" "$newrpm"|sed -e 's/\./\\./g'`
|
||||
release1=`$RPM --qf "%{RELEASE}" "$oldrpm"|sed -e 's/\./\\\./g'`
|
||||
release2=`$RPM --qf "%{RELEASE}" "$newrpm"|sed -e 's/\./\\\./g'`
|
||||
# This might happen with a forced rebuild of factory
|
||||
if [ "${release1%.*}" != "${release2%.*}" ] ; then
|
||||
echo "release prefix mismatch"
|
||||
return 1
|
||||
if test -z "$check_all"; then
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
check_provides $oldrpm $release1 > $file1
|
||||
check_provides $newrpm $release2 > $file2
|
||||
|
||||
if ! diff -au $file1 $file2; then
|
||||
rm $file1 $file2
|
||||
return 1
|
||||
if test -z "$check_all"; then
|
||||
rm $file1 $file2
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# scripts, might contain release number
|
||||
@ -109,8 +115,10 @@ function cmp_spec ()
|
||||
check_header $newrpm | sed -e "s,-$release2$,-@RELEASE@," > $file2
|
||||
|
||||
if ! diff -au $file1 $file2; then
|
||||
rm $file1 $file2
|
||||
return 1
|
||||
if test -z "$check_all"; then
|
||||
rm $file1 $file2
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# First check the file attributes and later the md5s
|
||||
@ -130,8 +138,10 @@ function cmp_spec ()
|
||||
check_header $newrpm | sed -e "s,-$release2,-@RELEASE@," > $file2
|
||||
|
||||
if ! diff -au $file1 $file2; then
|
||||
rm $file1 $file2
|
||||
return 1
|
||||
if test -z "$check_all"; then
|
||||
rm $file1 $file2
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# now the md5sums. if they are different, we check more detailed
|
||||
|
49
rpm-check.sh
49
rpm-check.sh
@ -104,7 +104,9 @@ case $RES in
|
||||
;;
|
||||
1)
|
||||
echo "RPM meta information is different"
|
||||
exit 1
|
||||
if test -z "$check_all"; then
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
2)
|
||||
;;
|
||||
@ -150,6 +152,45 @@ strip_numbered_anchors()
|
||||
}
|
||||
|
||||
|
||||
check_gzip_file()
|
||||
{
|
||||
local file=$1
|
||||
local tmpdir=`mktemp -d`
|
||||
local ftype
|
||||
local ret=0
|
||||
if test -n "$tmpdir"; then
|
||||
mkdir $tmpdir/{old,new}
|
||||
cp --parents --dereference old/$file $tmpdir/
|
||||
cp --parents --dereference new/$file $tmpdir/
|
||||
if pushd $tmpdir > /dev/null ; then
|
||||
mv old/$file{,.gz}
|
||||
mv new/$file{,.gz}
|
||||
gunzip old/$file.gz
|
||||
gunzip new/$file.gz
|
||||
ftype=`/usr/bin/file old/$file | cut -d: -f2-`
|
||||
case $ftype in
|
||||
*POSIX\ tar\ archive)
|
||||
echo "gzip content is: $ftype"
|
||||
mv old/$file{,.tar}
|
||||
mv new/$file{,.tar}
|
||||
if ! check_single_file ${file}.tar; then
|
||||
ret=1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "unhandled gzip content: $ftype"
|
||||
if ! diff_two_files; then
|
||||
ret=1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
popd > /dev/null
|
||||
fi
|
||||
rm -rf "$tmpdir"
|
||||
fi
|
||||
return $ret
|
||||
}
|
||||
|
||||
check_single_file()
|
||||
{
|
||||
local file="$1"
|
||||
@ -513,6 +554,12 @@ check_single_file()
|
||||
# tar might package directories - ignore them here
|
||||
return 0
|
||||
;;
|
||||
*gzip\ compressed\ data*)
|
||||
echo "gzipped file with odd filename: $file"
|
||||
if ! check_gzip_file "$file"; then
|
||||
return 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
if ! diff_two_files; then
|
||||
return 1
|
||||
|
Loading…
Reference in New Issue
Block a user