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()


Reply via email to