Hello community,

here is the log from the commit of package build-compare for openSUSE:Factory 
checked in at 2018-07-07 21:52:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/build-compare (Old)
 and      /work/SRC/openSUSE:Factory/.build-compare.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "build-compare"

Sat Jul  7 21:52:36 2018 rev:108 rq:621344 version:20180706T160151.66224a8

Changes:
--------
--- /work/SRC/openSUSE:Factory/build-compare/build-compare.changes      
2017-12-19 10:44:17.687924671 +0100
+++ /work/SRC/openSUSE:Factory/.build-compare.new/build-compare.changes 
2018-07-07 21:52:41.787752317 +0200
@@ -1,0 +2,36 @@
+Fri Jul  6 14:01:17 UTC 2018 - [email protected]
+
+- pkg-diff: fix diff returning 0
+
+-------------------------------------------------------------------
+Wed Jul  4 05:58:13 UTC 2018 - [email protected]
+
+- Match also ELF pie executable (bsc#1097339)
+
+-------------------------------------------------------------------
+Wed Jul  4 05:42:05 UTC 2018 - [email protected]
+
+- Remove trailing space from two match patterns
+
+-------------------------------------------------------------------
+Tue Jun 26 06:45:38 UTC 2018 - [email protected]
+
+- Recognize "setuid ELF nn-bit xSB shared object" ELF binaries
+
+-------------------------------------------------------------------
+Mon May 28 13:26:44 UTC 2018 - [email protected]
+
+- Avoid large temporary files from hexdump output and avoid
+  diff(1) runing OOM by using a fifo (issue#24)
+
+-------------------------------------------------------------------
+Fri Apr 13 07:10:30 UTC 2018 - [email protected]
+
+- check rpm capabilities for recommends/suggests
+
+-------------------------------------------------------------------
+Fri Dec  8 16:57:00 UTC 2017 - [email protected]
+
+- Ignore /usr/lib/.build-id differences in package filelist
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ build-compare.spec ++++++
--- /var/tmp/diff_new_pack.1mA2Z1/_old  2018-07-07 21:52:46.691746075 +0200
+++ /var/tmp/diff_new_pack.1mA2Z1/_new  2018-07-07 21:52:46.691746075 +0200
@@ -21,7 +21,7 @@
 License:        GPL-2.0+
 Group:          Development/Tools/Building
 Url:            https://github.com/openSUSE/build-compare
-Version:        20171204T112209.f06fbac
+Version:        20180706T160151.66224a8
 Release:        0
 Source1:        COPYING
 Source2:        same-build-result.sh
@@ -30,8 +30,8 @@
 Source5:        srpm-check.sh
 %if 0%{?suse_version}
 Requires:       bash
-Requires:       coreutils
 Requires:       cpio
+Requires:       coreutils
 Requires:       diffutils
 Requires:       file
 Requires:       gawk

++++++ functions.sh ++++++
--- /var/tmp/diff_new_pack.1mA2Z1/_old  2018-07-07 21:52:46.747746003 +0200
+++ /var/tmp/diff_new_pack.1mA2Z1/_new  2018-07-07 21:52:46.747746003 +0200
@@ -10,6 +10,12 @@
 
 RPM="rpm -qp --nodigest --nosignature"
 
+set_rpm_meta_global_variables() {
+
+  local pkg=$1
+  local rpm_tags=
+  local out=`mktemp`
+
 # Name, Version, Release
 QF_NAME="%{NAME}"
 QF_VER_REL="%{VERSION}-%{RELEASE}"
@@ -21,8 +27,19 @@
 QF_PROVIDES="${QF_PROVIDES}[%{REQUIRENAME} %{REQUIREFLAGS} 
%{REQUIREVERSION}\\n]\\n"
 QF_PROVIDES="${QF_PROVIDES}[%{CONFLICTNAME} %{CONFLICTFLAGS} 
%{CONFLICTVERSION}\\n]\\n"
 QF_PROVIDES="${QF_PROVIDES}[%{OBSOLETENAME} %{OBSOLETEFLAGS} 
%{OBSOLETEVERSION}\\n]\\n"
-QF_PROVIDES="${QF_PROVIDES}[%{RECOMMENDNAME} %{RECOMMENDFLAGS} 
%{RECOMMENDVERSION}\\n]\\n"
-QF_PROVIDES="${QF_PROVIDES}[%{SUPPLEMENTNAME} %{SUPPLEMENTFLAGS} 
%{SUPPLEMENTVERSION}\\n]\\n"
+
+rpm_tags="%{RECOMMENDNAME} %{RECOMMENDFLAGS} %{RECOMMENDVERSION}"
+check_header "%{NAME} ${rpm_tags}" > "${out}"
+if test -s "${out}"
+then
+  QF_PROVIDES="${QF_PROVIDES}[${rpm_tags}\\n]\\n"
+fi
+rpm_tags="%{SUPPLEMENTNAME} %{SUPPLEMENTFLAGS} %{SUPPLEMENTVERSION}"
+check_header "%{NAME} ${rpm_tags}" > "${out}"
+if test -s "${out}"
+then
+  QF_PROVIDES="${QF_PROVIDES}[${rpm_tags}\\n]\\n"
+fi
 
 # don't look at RELEASE, it contains our build number
 QF_TAGS="%{NAME} %{VERSION} %{EPOCH}\\n"
@@ -65,6 +82,7 @@
 QF_ALL="$QF_ALL\n___QF_SCRIPT___\n${QF_SCRIPT}\n___QF_SCRIPT___\n"
 QF_ALL="$QF_ALL\n___QF_FILELIST___\n${QF_FILELIST}\n___QF_FILELIST___\n"
 QF_ALL="$QF_ALL\n___QF_CHECKSUM___\n${QF_CHECKSUM}\n___QF_CHECKSUM___\n"
+}
 
 check_header()
 {
@@ -83,6 +101,7 @@
   
/\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_old_regex_l\$\|$version_release_old_regex_l)\)/{s,$version_release_old_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_old_regex_s,@VERSION@-@RELEASE_SHORT@,g}
   
s/\(\/var\/adm\/update-scripts\/\)${name_ver_rel_old_regex_l}\([^[:blank:]]\+\)/\1@NAME_VER_REL@\2/g
   
s/\(\/var\/adm\/update-messages\/\)${name_ver_rel_old_regex_l}\([^[:blank:]]\+\)/\1@NAME_VER_REL@\2/g
+  /\/usr\/lib\/\.build-id/d
   "
 }
 function trim_release_new()
@@ -91,6 +110,7 @@
   
/\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_new_regex_l\$\|$version_release_new_regex_l)\)/{s,$version_release_new_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_new_regex_s,@VERSION@-@RELEASE_SHORT@,g}
   
s/\(\/var\/adm\/update-scripts\/\)${name_ver_rel_new_regex_l}\([^[:blank:]]\+\)/\1@NAME_VER_REL@\2/g
   
s/\(\/var\/adm\/update-messages\/\)${name_ver_rel_new_regex_l}\([^[:blank:]]\+\)/\1@NAME_VER_REL@\2/g
+  /\/usr\/lib\/\.build-id/d
   "
 }
 # Get single directory or filename with long or short release string
@@ -222,6 +242,8 @@
     rpm_meta_old=`mktemp`
     rpm_meta_new=`mktemp`
 
+    set_rpm_meta_global_variables $oldrpm
+
     check_header "$QF_ALL" $oldrpm > $rpm_meta_old
     check_header "$QF_ALL" $newrpm > $rpm_meta_new
 

++++++ pkg-diff.sh ++++++
--- /var/tmp/diff_new_pack.1mA2Z1/_old  2018-07-07 21:52:46.763745982 +0200
+++ /var/tmp/diff_new_pack.1mA2Z1/_new  2018-07-07 21:52:46.763745982 +0200
@@ -280,6 +280,9 @@
 
 diff_two_files()
 {
+  local offset length
+  local po pn
+
   if test ! -e old/$file; then
     echo "Missing in old package: $file"
     return 1
@@ -289,15 +292,25 @@
     return 1
   fi
 
-  if cmp -s old/$file new/$file; then
+  if cmp -b old/$file new/$file > $dfile ; then
     return 0
   fi
+  if ! test -s $dfile ; then
+    return 1
+  fi
 
-  echo "$file differs ($ftype)"
-  hexdump -C old/$file > $file1 &
-  hexdump -C new/$file > $file2 &
-  wait
-  diff -u $file1 $file2 | $buildcompare_head
+  offset=`sed 's@^.*differ: byte @@;s@,.*@@' < $dfile`
+  echo "$file differs at offset '$offset' ($ftype)"
+  po=`mktemp --dry-run $TMPDIR/old.XXX`
+  pn=`mktemp --dry-run $TMPDIR/new.XXX`
+  mkfifo -m 0600 $po
+  mkfifo -m 0600 $pn
+  offset=$(( ($offset >> 6) << 6 ))
+  length=512
+  hexdump -C -s $offset -n $length old/$file > $po &
+  hexdump -C -s $offset -n $length new/$file > $pn &
+  diff -u $po $pn | $buildcompare_head
+  rm -f $po $pn
   return 1
 }
 
@@ -456,6 +469,7 @@
 check_single_file()
 {
   local file="$1"
+  local ret=0
 
   # If the two files are the same, return at once.
   if [ -f old/$file -a -f new/$file ]; then
@@ -499,7 +513,6 @@
        cd $pwd/new/$fdir
        cpio --quiet --extract --force-local < "../${file##*/}"
        cd $pwd
-       local ret=0
        for f in $flist; do
          if ! check_single_file $fdir/$f; then
            ret=1
@@ -516,7 +529,6 @@
        fdir=$file.extract.$PPID.$$
        unsquashfs -no-progress -dest old/$fdir "old/$file"
        unsquashfs -no-progress -dest new/$fdir "new/$file"
-       local ret=0
        for f in $flist; do
          if ! check_single_file $fdir/$f; then
            ret=1
@@ -537,7 +549,6 @@
        cd $pwd/new/$fdir
        tar xf `basename $file`
        cd $pwd
-       local ret=0
        for f in $flist; do
          if ! check_single_file $fdir/$f; then
            ret=1
@@ -569,7 +580,6 @@
        cd $pwd/new/$fdir
        unjar `basename $file`
        cd $pwd
-       local ret=0
        for f in $flist; do
          if test -f new/$fdir/$f && ! check_single_file $fdir/$f; then
            ret=1
@@ -659,6 +669,7 @@
         # <!-- Generated by javadoc (version 1.7.0_75) on Tue Feb 03 02:20:12 
GMT 2015 -->
         # <!-- Generated by javadoc on Tue Feb 03 00:02:48 GMT 2015 -->
         # <!-- Generated by javadoc (1.8.0_72) on Thu Mar 03 12:50:28 GMT 2016 
-->
+        # <!-- Generated by javadoc (10-internal) on Wed Feb 07 06:33:41 GMT 
2018 -->
         # <meta name="date" content="2015-02-03">
         # </head>
         sed -i -e '
@@ -672,6 +683,8 @@
           t next
           s/^\(<!-- Generated by javadoc\) \((\(build\|version\) [0-9._]\+) on 
... ... .. ..:..:.. \(GMT\|UTC\) ....\) \(-->\)/\1 
some-date-removed-by-build-compare \5/
           t next
+          s/^\(<!-- Generated by javadoc\) ([0-9._]\+-internal) on ... ... .. 
..:..:.. \(GMT\|UTC\) .... \(-->\)/\1 some-date-removed-by-build-compare \3/
+          t next
           s/^\(<!-- Generated by javadoc\) \(on ... ... .. ..:..:.. 
\(GMT\|UTC\) ....\) \(-->\)/\1 some-date-removed-by-build-compare \3/
           t next
           s/^<meta name="date" 
content="[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}">/<meta name="date" 
content="some-date-removed-by-build-compare">/
@@ -691,7 +704,7 @@
         esac
       done
     ;;
-    /usr/share/javadoc/gjdoc.properties |\
+    /usr/share/javadoc/gjdoc.properties|\
     /usr/share/javadoc/*/gjdoc.properties)
       for f in old/$file new/$file; do
         sed -i -e 's|^#[A-Z][a-z]\{2\} [A-Z][a-z]\{2\} [0-9]\{2\} ..:..:.. GMT 
20..$|#Fri Jan 01 11:27:36 GMT 2009|' $f
@@ -728,7 +741,7 @@
      *.elc)
        filter_generic emacs_lisp
        ;;
-     /var/lib/texmf/web2c/*/*fmt |\
+     /var/lib/texmf/web2c/*/*fmt|\
      /var/lib/texmf/web2c/metafont/*.base|\
      /var/lib/texmf/web2c/metapost/*.mem)
        # binary dump of TeX and Metafont formats, we can ignore them for good
@@ -808,7 +821,12 @@
          return 1
        fi
        ;;
-    ELF*executable*|ELF*[LM]SB\ relocatable*|ELF*[LM]SB\ shared\ object*)
+    ELF*executable*|\
+    ELF*[LM]SB\ relocatable*|\
+    ELF*[LM]SB\ shared\ object*|\
+    setuid\ ELF*[LM]SB\ shared\ object*|\
+    ELF*[LM]SB\ pie\ executable*|\
+    setuid\ ELF*[LM]SB\ pie\ executable*)
        $OBJDUMP -d --no-show-raw-insn old/$file > $file1
        ret=$?
        $OBJDUMP -d --no-show-raw-insn new/$file > $file2


Reply via email to