forked from pool/build-compare
Accepting request 106437 from openSUSE:Tools
Remove release from pre/post scripts (forwarded request 106436 from a_jaeger) OBS-URL: https://build.opensuse.org/request/show/106437 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/build-compare?expand=0&rev=67
This commit is contained in:
commit
8fb4c94516
@ -1,3 +1,19 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Feb 22 11:12:13 UTC 2012 - aj@suse.de
|
||||||
|
|
||||||
|
- Remove release from pre/post scripts.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Feb 22 11:07:53 UTC 2012 - coolo@suse.com
|
||||||
|
|
||||||
|
- I changed my mind, appdata.xml is too hard to get right. So
|
||||||
|
we need to support variable binary names for the appdata
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Feb 18 18:27:40 UTC 2012 - aj@suse.de
|
||||||
|
|
||||||
|
- Quote dot in release to not have false matches.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Feb 16 21:00:31 UTC 2012 - coolo@suse.com
|
Thu Feb 16 21:00:31 UTC 2012 - coolo@suse.com
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Name: build-compare
|
Name: build-compare
|
||||||
Summary: Build Result Compare Script
|
Summary: Build Result Compare Script
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
|
18
functions.sh
18
functions.sh
@ -1,6 +1,6 @@
|
|||||||
#! /bin/bash
|
#! /bin/bash
|
||||||
#
|
#
|
||||||
# Copyright (c) 2009, 2010, 2011 SUSE Linux Product GmbH, Germany.
|
# Copyright (c) 2009, 2010, 2011, 2012 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
|
||||||
@ -62,7 +62,6 @@ function cmp_spec ()
|
|||||||
QF="$QF %{EXCLUSIVEOS} %{RPMVERSION} %{PLATFORM}\\n"
|
QF="$QF %{EXCLUSIVEOS} %{RPMVERSION} %{PLATFORM}\\n"
|
||||||
QF="$QF %{PAYLOADFORMAT} %{PAYLOADCOMPRESSOR} %{PAYLOADFLAGS}\\n"
|
QF="$QF %{PAYLOADFORMAT} %{PAYLOADCOMPRESSOR} %{PAYLOADFLAGS}\\n"
|
||||||
|
|
||||||
QF="$QF [%{PREINPROG} %{PREIN}\\n]\\n[%{POSTINPROG} %{POSTIN}\\n]\\n[%{PREUNPROG} %{PREUN}\\n]\\n[%{POSTUNPROG} %{POSTUN}\\n]\\n"
|
|
||||||
|
|
||||||
# XXX We also need to check the existence (but not the content (!))
|
# XXX We also need to check the existence (but not the content (!))
|
||||||
# of SIGGPG (and perhaps the other SIG*)
|
# of SIGGPG (and perhaps the other SIG*)
|
||||||
@ -87,8 +86,9 @@ function cmp_spec ()
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
release1=`$RPM --qf "%{RELEASE}" "$oldrpm"`
|
# Remember to quote the . which is in release
|
||||||
release2=`$RPM --qf "%{RELEASE}" "$newrpm"`
|
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
|
# This might happen with a forced rebuild of factory
|
||||||
if [ "${release1%.*}" != "${release2%.*}" ] ; then
|
if [ "${release1%.*}" != "${release2%.*}" ] ; then
|
||||||
echo "release prefix mismatch"
|
echo "release prefix mismatch"
|
||||||
@ -103,6 +103,16 @@ function cmp_spec ()
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# scripts, might contain release number
|
||||||
|
QF="[%{PREINPROG} %{PREIN}\\n]\\n[%{POSTINPROG} %{POSTIN}\\n]\\n[%{PREUNPROG} %{PREUN}\\n]\\n[%{POSTUNPROG} %{POSTUN}\\n]\\n"
|
||||||
|
check_header $oldrpm | sed -e "s,-$release1$,-@RELEASE@," > $file1
|
||||||
|
check_header $newrpm | sed -e "s,-$release2$,-@RELEASE@," > $file2
|
||||||
|
|
||||||
|
if ! diff -au $file1 $file2; then
|
||||||
|
rm $file1 $file2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
# First check the file attributes and later the md5s
|
# First check the file attributes and later the md5s
|
||||||
|
|
||||||
# Now the files. We leave out mtime and size. For normal files
|
# Now the files. We leave out mtime and size. For normal files
|
||||||
|
@ -63,8 +63,9 @@ OLDRPMS=($(find "$OLDDIR" -name \*rpm -a ! -name \*src.rpm -a ! -name \*.delta.
|
|||||||
NEWRPMS=($(find $NEWDIRS -name \*rpm -a ! -name \*src.rpm -a ! -name \*.delta.rpm|sort --field-separator=/ --key=7|grep -v -- -32bit-|grep -v -- -64bit-|grep -v -- '-x86-.*\.ia64\.rpm'))
|
NEWRPMS=($(find $NEWDIRS -name \*rpm -a ! -name \*src.rpm -a ! -name \*.delta.rpm|sort --field-separator=/ --key=7|grep -v -- -32bit-|grep -v -- -64bit-|grep -v -- '-x86-.*\.ia64\.rpm'))
|
||||||
|
|
||||||
# Get release from first RPM and keep for rpmlint check
|
# Get release from first RPM and keep for rpmlint check
|
||||||
release1=`rpm -qp --nodigest --nosignature --qf "%{RELEASE}" "${OLDRPMS[0]}"`
|
# Remember to quote the "." for future regexes
|
||||||
release2=`rpm -qp --nodigest --nosignature --qf "%{RELEASE}" "${NEWRPMS[0]}"`
|
release1=`rpm -qp --nodigest --nosignature --qf "%{RELEASE}" "${OLDRPMS[0]}"|sed -e 's/\./\\./g'`
|
||||||
|
release2=`rpm -qp --nodigest --nosignature --qf "%{RELEASE}" "${NEWRPMS[0]}"|sed -e 's/\./\\./g'`
|
||||||
|
|
||||||
SUCCESS=1
|
SUCCESS=1
|
||||||
rpmqp='rpm -qp --qf %{NAME} --nodigest --nosignature '
|
rpmqp='rpm -qp --qf %{NAME} --nodigest --nosignature '
|
||||||
@ -111,19 +112,22 @@ elif test -e $OTHERDIR/rpmlint.log; then
|
|||||||
SUCCESS=0
|
SUCCESS=0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# compare appstream data
|
appdatas=`cd $OTHERDIR && find . -name *-appdata.xml`
|
||||||
if test -e $OLDDIR/appdata.xml -a -e $OTHERDIR/appdata.xml; then
|
for xml in $appdatas; do
|
||||||
file1=$OLDDIR/appdata.xml
|
# compare appstream data
|
||||||
file2=$OTHERDIR/appdata.xml
|
if test -e $OLDDIR/$xml -a -e $OTHERDIR/$xml; then
|
||||||
if ! cmp -s $file1 $file2; then
|
file1=$OLDDIR/$xml
|
||||||
echo "appdata.xml files differ:"
|
file2=$OTHERDIR/$xml
|
||||||
diff -u0 $file1 $file2 |head -n 20
|
if ! cmp -s $file1 $file2; then
|
||||||
|
echo "$xml files differ:"
|
||||||
|
diff -u0 $file1 $file2 |head -n 20
|
||||||
|
SUCCESS=0
|
||||||
|
fi
|
||||||
|
elif test -e $OTHERDIR/$xml; then
|
||||||
|
echo "$xml is new"
|
||||||
SUCCESS=0
|
SUCCESS=0
|
||||||
fi
|
fi
|
||||||
elif test -e $OTHERDIR/appdata.xml; then
|
done
|
||||||
echo "appdata.xml is new"
|
|
||||||
SUCCESS=0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test $SUCCESS -eq 0; then
|
if test $SUCCESS -eq 0; then
|
||||||
exit 1
|
exit 1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user