3
0
forked from pool/build-compare

Accepting request 35550 from home:a_jaeger:branches:openSUSE:Factory

Copy from home:a_jaeger:branches:openSUSE:Factory/build-compare via accept of submit request 35550 revision 71.
Request was accepted with message:
Reviewed ok, thanks.

OBS-URL: https://build.opensuse.org/request/show/35550
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/build-compare?expand=0&rev=56
This commit is contained in:
Andreas Jaeger 2010-03-23 14:25:33 +00:00 committed by Git OBS Bridge
parent 546594e8cb
commit e10af96a9a
5 changed files with 48 additions and 10 deletions

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Tue Mar 23 13:37:47 UTC 2010 - aj@suse.de
- Handle mono files.
- Mount /proc if it's not mounted already to work around bug in
build script.
-------------------------------------------------------------------
Sun Mar 14 09:22:39 UTC 2010 - aj@suse.de
- Improve last regexp to fix virt-utils.
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Mar 6 04:01:36 UTC 2010 - aj@suse.de Sat Mar 6 04:01:36 UTC 2010 - aj@suse.de

View File

@ -24,7 +24,7 @@ Group: Development/Tools/Building
AutoReqProv: on AutoReqProv: on
Summary: Build Result Compare Script Summary: Build Result Compare Script
Version: 2009.10.14 Version: 2009.10.14
Release: 5 Release: 6
Source: same-build-result.sh Source: same-build-result.sh
Source1: rpm-check.sh Source1: rpm-check.sh
Source2: COPYING Source2: COPYING

0
ready
View File

View File

@ -1,6 +1,6 @@
#! /bin/bash #! /bin/bash
# #
# Copyright (c) 2009 SUSE Linux Product Gmbh, Germany. # Copyright (c) 2009, 2010 SUSE Linux Product GmbH, Germany.
# Licensed under GPL v2, see COPYING file for details. # Licensed under GPL v2, see COPYING file for details.
# #
# Written by Michael Matz and Stephan Coolo # Written by Michael Matz and Stephan Coolo
@ -238,12 +238,9 @@ check_single_file()
sed -i -e "s,Release:.*$release1,Release: @RELEASE@," old/$file sed -i -e "s,Release:.*$release1,Release: @RELEASE@," old/$file
sed -i -e "s,Release:.*$release2,Release: @RELEASE@," new/$file sed -i -e "s,Release:.*$release2,Release: @RELEASE@," new/$file
;; ;;
*.dll|*.exe) *.exe.mdb|*.dll.mdb)
# we can't handle it well enough # Just debug information, we can skip them
if ! cmp -s old/$file new/$file; then echo "$file skipped as debug file."
echo "mono $file differs"
return 1
fi
return 0 return 0
;; ;;
*.a) *.a)
@ -381,8 +378,9 @@ check_single_file()
# .TH debhelper 7 "2010-02-27" "7.4.15" "Debhelper" # .TH debhelper 7 "2010-02-27" "7.4.15" "Debhelper"
# .TH DIRMNGR-CLIENT 1 2010-02-27 "Dirmngr 1.0.3" "GNU Privacy Guard" # .TH DIRMNGR-CLIENT 1 2010-02-27 "Dirmngr 1.0.3" "GNU Privacy Guard"
# .TH ccmake 1 "March 06, 2010" "ccmake 2.8.1-rc3" # .TH ccmake 1 "March 06, 2010" "ccmake 2.8.1-rc3"
# .TH QEMU-IMG 1 "2010-03-14" " " " "
for f in old/$file new/$file; do for f in old/$file new/$file; do
sed -i -e 's|^\.TH \(.*\) \(.\) \("\?20..-..-.."\?\|"[a-zA-Z]* [0-9][0-9], 20[0-9][0-9]"\) |.TH \1 \2 "2000-01-01" |' $f sed -i -e 's|^\.TH \(.*\) \([0-9]\) \("20..-..-.."\|20..-..-..\|"[A-Z][a-z]* [0-9][0-9], 20[0-9][0-9]"\) |.TH \1 \2 "2000-01-01" |' $f
done done
;; ;;
*.elc) *.elc)
@ -416,6 +414,21 @@ check_single_file()
ftype=`/usr/bin/file old/$file | cut -d: -f2-` ftype=`/usr/bin/file old/$file | cut -d: -f2-`
case $ftype in case $ftype in
*PE32\ executable*Mono\/\.Net\ assembly*)
echo "PE32 Mono/.Net assembly: $file"
if [ -x /usr/bin/monodis ] ; then
monodis old/$file 2>/dev/null|sed -e 's/GUID = {.*}/GUID = { 42 }/;'> ${file1}
monodis new/$file 2>/dev/null|sed -e 's/GUID = {.*}/GUID = { 42 }/;'> ${file2}
if ! cmp -s ${file1} ${file2}; then
echo "$file differs ($ftype)"
diff -u ${file1} ${file2}
return 1
fi
else
echo "Cannot compare, no monodis installed"
return 1
fi
;;
*executable*|*LSB\ shared\ object*) *executable*|*LSB\ shared\ object*)
objdump -d --no-show-raw-insn old/$file | filter_disasm > $file1 objdump -d --no-show-raw-insn old/$file | filter_disasm > $file1
if ! test -s $file1; then if ! test -s $file1; then
@ -465,6 +478,15 @@ check_single_file()
return 0 return 0
} }
# We need /proc mounted for some tests, so check that it's mounted and
# complain if not.
PROC_MOUNTED=0
if [ ! -d /proc/self/ ]; then
echo "/proc is not mounted"
mount -orw -n -tproc none /proc
PROC_MOUNTED=1
fi
ret=0 ret=0
for file in $files; do for file in $files; do
if ! check_single_file $file; then if ! check_single_file $file; then
@ -475,6 +497,11 @@ for file in $files; do
fi fi
done done
if [ "$PROC_MOUNTED" -eq "1" ]; then
echo "Unmounting proc"
umount /proc
fi
rm $file1 $file2 $dfile rm $file1 $file2 $dfile
rm -r $dir rm -r $dir
exit $ret exit $ret

View File

@ -16,7 +16,6 @@ OLDDIR="$1"
shift shift
NEWDIRS="$*" NEWDIRS="$*"
echo "$CMPSCRIPT" echo "$CMPSCRIPT"
if [ ! -d "$OLDDIR" ]; then if [ ! -d "$OLDDIR" ]; then