Hello community, here is the log from the commit of package build-compare for openSUSE:Factory checked in at 2017-11-15 16:48:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/build-compare (Old) and /work/SRC/openSUSE:Factory/.build-compare.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "build-compare" Wed Nov 15 16:48:50 2017 rev:106 rq:539772 version:20171108T070456.b855319 Changes: -------- --- /work/SRC/openSUSE:Factory/build-compare/build-compare.changes 2017-10-28 14:18:09.351292785 +0200 +++ /work/SRC/openSUSE:Factory/.build-compare.new/build-compare.changes 2017-11-15 16:48:54.583577869 +0100 @@ -1,0 +2,15 @@ +Wed Nov 8 06:04:42 UTC 2017 - o...@aepfle.de + +- srpm check requires cpio + +------------------------------------------------------------------- +Mon Nov 6 15:15:04 UTC 2017 - o...@aepfle.de + +- Fix usage of cmp_spec and unrpm in srpm-check.sh + +------------------------------------------------------------------- +Fri Nov 3 14:03:04 UTC 2017 - o...@aepfle.de + +- Catch empty rpm -qp --qf output for tags not understood by rpm + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ build-compare.spec ++++++ --- /var/tmp/diff_new_pack.KaCwjP/_old 2017-11-15 16:48:56.691500632 +0100 +++ /var/tmp/diff_new_pack.KaCwjP/_new 2017-11-15 16:48:56.691500632 +0100 @@ -21,7 +21,7 @@ License: GPL-2.0+ Group: Development/Tools/Building Url: https://github.com/openSUSE/build-compare -Version: 20171020T085619.7cef93b +Version: 20171108T070456.b855319 Release: 0 Source1: COPYING Source2: same-build-result.sh @@ -31,6 +31,7 @@ %if 0%{?suse_version} Requires: bash Requires: coreutils +Requires: cpio Requires: diffutils Requires: file Requires: gawk ++++++ functions.sh ++++++ --- /var/tmp/diff_new_pack.KaCwjP/_old 2017-11-15 16:48:56.759498141 +0100 +++ /var/tmp/diff_new_pack.KaCwjP/_new 2017-11-15 16:48:56.759498141 +0100 @@ -146,7 +146,7 @@ # $1: printed info # $2: file1 # $3: file2 -# $4, $5: spec_old and spec_new, for cleanup. +# $4, $5: rpm_meta_old and rpm_meta_new, for cleanup. function comp_file() { echo "comparing $1" @@ -208,7 +208,7 @@ # 1 in case of errors or difference # 2 in case of differences that need further investigation # Sets $files with list of files that need further investigation -function cmp_spec () +function cmp_rpm_meta () { local RES local file1 file2 @@ -219,36 +219,45 @@ file1=`mktemp` file2=`mktemp` - spec_old=`mktemp` - spec_new=`mktemp` + rpm_meta_old=`mktemp` + rpm_meta_new=`mktemp` - check_header "$QF_ALL" $oldrpm > $spec_old - check_header "$QF_ALL" $newrpm > $spec_new + check_header "$QF_ALL" $oldrpm > $rpm_meta_old + check_header "$QF_ALL" $newrpm > $rpm_meta_new - name_new="$(get_value QF_NAME $spec_new)" - version_release_new="$(get_value QF_VER_REL $spec_new)" - name_ver_rel_new="$(get_value QF_NAME_VER_REL $spec_new)" + # rpm returns 0 even in case of error + if test -s $rpm_meta_old && test -s $rpm_meta_new ; then + : some output provided, all query tags understood by rpm + else + ls -l $rpm_meta_old $rpm_meta_new + echo "empty 'rpm -qp' output..." + return 1 + fi + + name_new="$(get_value QF_NAME $rpm_meta_new)" + version_release_new="$(get_value QF_VER_REL $rpm_meta_new)" + name_ver_rel_new="$(get_value QF_NAME_VER_REL $rpm_meta_new)" - version_release_old="$(get_value QF_VER_REL $spec_old)" - name_ver_rel_old="$(get_value QF_NAME_VER_REL $spec_old)" + version_release_old="$(get_value QF_VER_REL $rpm_meta_old)" + name_ver_rel_old="$(get_value QF_NAME_VER_REL $rpm_meta_old)" set_regex # Check the whole spec file at first, return 0 immediately if the # are the same. - cat $spec_old | trim_release_old > $file1 - cat $spec_new | trim_release_new > $file2 + cat $rpm_meta_old | trim_release_old > $file1 + cat $rpm_meta_new | trim_release_new > $file2 echo "comparing the rpm tags of $name_new" if diff -au $file1 $file2; then if test -z "$check_all"; then - rm $file1 $file2 $spec_old $spec_new + rm $file1 $file2 $rpm_meta_old $rpm_meta_new return 0 fi fi - get_value QF_TAGS $spec_old > $file1 - get_value QF_TAGS $spec_new > $file2 - comp_file rpmtags $file1 $file2 $spec_old $spec_new || return 1 + get_value QF_TAGS $rpm_meta_old > $file1 + get_value QF_TAGS $rpm_meta_new > $file2 + comp_file rpmtags $file1 $file2 $rpm_meta_old $rpm_meta_new || return 1 # This might happen when?! echo "comparing RELEASE" @@ -266,24 +275,24 @@ esac fi - get_value QF_PROVIDES $spec_old | trim_release_old | sort > $file1 - get_value QF_PROVIDES $spec_new | trim_release_new | sort > $file2 - comp_file PROVIDES $file1 $file2 $spec_old $spec_new || return 1 - - get_value QF_SCRIPT $spec_old | trim_release_old > $file1 - get_value QF_SCRIPT $spec_new | trim_release_new > $file2 - comp_file scripts $file1 $file2 $spec_old $spec_new || return 1 + get_value QF_PROVIDES $rpm_meta_old | trim_release_old | sort > $file1 + get_value QF_PROVIDES $rpm_meta_new | trim_release_new | sort > $file2 + comp_file PROVIDES $file1 $file2 $rpm_meta_old $rpm_meta_new || return 1 + + get_value QF_SCRIPT $rpm_meta_old | trim_release_old > $file1 + get_value QF_SCRIPT $rpm_meta_new | trim_release_new > $file2 + comp_file scripts $file1 $file2 $rpm_meta_old $rpm_meta_new || return 1 # First check the file attributes and later the md5s - get_value QF_FILELIST $spec_old | trim_release_old > $file1 - get_value QF_FILELIST $spec_new | trim_release_new > $file2 - comp_file filelist $file1 $file2 $spec_old $spec_new || return 1 + get_value QF_FILELIST $rpm_meta_old | trim_release_old > $file1 + get_value QF_FILELIST $rpm_meta_new | trim_release_new > $file2 + comp_file filelist $file1 $file2 $rpm_meta_old $rpm_meta_new || return 1 # now the md5sums. if they are different, we check more detailed # if there are different filenames, we will already have aborted before # file flag 64 means "ghost", filter those out. - get_value QF_CHECKSUM $spec_old | grep -v " 64$" | trim_release_old > $file1 - get_value QF_CHECKSUM $spec_new | grep -v " 64$" | trim_release_new > $file2 + get_value QF_CHECKSUM $rpm_meta_old | grep -v " 64$" | trim_release_old > $file1 + get_value QF_CHECKSUM $rpm_meta_new | grep -v " 64$" | trim_release_new > $file2 RES=2 # done if the same echo "comparing file checksum" @@ -294,7 +303,7 @@ # Get only files with different MD5sums files=`diff -U0 $file1 $file2 | fgrep -v +++ | grep ^+ | cut -b2- | awk '{print $1}'` - if test -f "$sh"; then + if test -n "$sh"; then echo "creating rename script" # Create a temporary helper script to rename files/dirs with release in it for f in `$RPM --qf '[%{FILENAMES} %{FILEFLAGS}\n]\n' "$oldrpm" | grep_release_old | grep -vw 64$ | awk '{ print $1}'` ++++++ pkg-diff.sh ++++++ --- /var/tmp/diff_new_pack.KaCwjP/_old 2017-11-15 16:48:56.783497262 +0100 +++ /var/tmp/diff_new_pack.KaCwjP/_new 2017-11-15 16:48:56.783497262 +0100 @@ -223,7 +223,7 @@ case $oldpkg in *.rpm) - cmp_spec $rename_script $oldpkg $newpkg + cmp_rpm_meta "$rename_script" "$oldpkg" "$newpkg" RES=$? case $RES in 0) @@ -264,7 +264,7 @@ ;; esac -# files is set in cmp_spec for rpms, so if RES is empty we should assume +# files is set in cmp_rpm_meta for rpms, so if RES is empty we should assume # it wasn't an rpm and pick all files for comparison. if [ -z $RES ]; then oldfiles=`cd $dir/old; find . -type f` @@ -926,7 +926,7 @@ PROC_MOUNTED=1 fi -# preserve cmp_spec result for check_all runs +# preserve cmp_rpm_meta result for check_all runs ret=$RES for file in $files; do if ! check_single_file $file; then ++++++ srpm-check.sh ++++++ --- /var/tmp/diff_new_pack.KaCwjP/_old 2017-11-15 16:48:56.811496235 +0100 +++ /var/tmp/diff_new_pack.KaCwjP/_new 2017-11-15 16:48:56.815496089 +0100 @@ -26,6 +26,7 @@ oldrpm=`readlink -f $1` newrpm=`readlink -f $2` +rename_script= # Get version-release from first RPM and keep for rpmlint check # Remember to quote the "." for future regexes @@ -36,7 +37,7 @@ # if those are not the same, the source RPM has changed and therefore # the resulting files are needed. -cmp_spec +cmp_rpm_meta "$rename_script" "$oldrpm" "$newrpm" RES=$? case $RES in 0) @@ -59,8 +60,8 @@ # nothing else dir=`mktemp -d` -unrpm $oldrpm $dir/old -unrpm $newrpm $dir/new +unpackage $oldrpm $dir/old +unpackage $newrpm $dir/new cd $dir check_single_file()