Hello community,

here is the log from the commit of package build-compare for openSUSE:Factory 
checked in at 2017-08-08 11:56:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/build-compare (Old)
 and      /work/SRC/openSUSE:Factory/.build-compare.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "build-compare"

Tue Aug  8 11:56:38 2017 rev:104 rq:514218 version:20170727T140623.5b2169e

Changes:
--------
--- /work/SRC/openSUSE:Factory/build-compare/build-compare.changes      
2017-04-12 17:10:11.458437601 +0200
+++ /work/SRC/openSUSE:Factory/.build-compare.new/build-compare.changes 
2017-08-08 11:56:39.569827069 +0200
@@ -1,0 +2,5 @@
+Thu Jul 27 12:05:25 UTC 2017 - o...@aepfle.de
+
+- Compare also supplements and recomments (issue#18)
+
+-------------------------------------------------------------------

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

Other differences:
------------------
++++++ build-compare.spec ++++++
--- /var/tmp/diff_new_pack.qlQNNR/_old  2017-08-08 11:56:40.357716101 +0200
+++ /var/tmp/diff_new_pack.qlQNNR/_new  2017-08-08 11:56:40.361715538 +0200
@@ -21,7 +21,7 @@
 License:        GPL-2.0+
 Group:          Development/Tools/Building
 Url:            https://github.com/openSUSE/build-compare
-Version:        20170331T154431.96db83e
+Version:        20170727T140623.5b2169e
 Release:        0
 Source1:        COPYING
 Source2:        same-build-result.sh

++++++ functions.sh ++++++
--- /var/tmp/diff_new_pack.qlQNNR/_old  2017-08-08 11:56:40.497696387 +0200
+++ /var/tmp/diff_new_pack.qlQNNR/_new  2017-08-08 11:56:40.497696387 +0200
@@ -21,6 +21,8 @@
 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"
 
 # don't look at RELEASE, it contains our build number
 QF_TAGS="%{NAME} %{VERSION} %{EPOCH}\\n"

++++++ pkg-diff.sh ++++++
--- /var/tmp/diff_new_pack.qlQNNR/_old  2017-08-08 11:56:40.545689627 +0200
+++ /var/tmp/diff_new_pack.qlQNNR/_new  2017-08-08 11:56:40.553688500 +0200
@@ -7,6 +7,10 @@
 # Enhanced by Andreas Jaeger
 
 FUNCTIONS=${0%/*}/functions.sh
+: ${buildcompare_head:="head -n 200"}
+nofilter=${buildcompare_nofilter}
+sort=sort
+[[ $nofilter ]] && sort=cat
 
 check_all=
 case $1 in
@@ -114,9 +118,107 @@
 filter_disasm()
 {
    local file=$1
+   [[ $nofilter ]] && return
    sed -i -e 's/^ *[0-9a-f]\+://' -e 's/\$0x[0-9a-f]\+/$something/' -e 
's/callq *[0-9a-f]\+/callq /' -e 's/# *[0-9a-f]\+/#  /' -e 
's/\(0x\)\?[0-9a-f]\+(/offset(/' -e 's/[0-9a-f]\+ </</' -e 's/^<\(.*\)>:/\1:/' 
-e 's/<\(.*\)+0x[0-9a-f]\+>/<\1 + ofs>/' ${file}
 }
 
+filter_zip_flist()
+{
+   local file=$1
+   [[ $nofilter ]] && return
+   #  10-05-2010 14:39
+   sed -i -e "s, [0-9][0-9]-[0-9][0-9]-[0-9]\+ [0-9][0-9]:[0-9][0-9] , date ," 
$file
+   # 2012-02-03 07:59
+   sed -i -e "s, 20[0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9] , 
date ," $file
+}
+
+filter_xenefi() {
+   # PE32+ executable (EFI application) x86-64 (stripped to external PDB), for 
MS Windows
+   perl -e "open fh, '+<', '$f'; seek fh, 0x80 + 0x08, SEEK_SET; print fh 
'time'; seek fh, 0x80 + 0x58, SEEK_SET; print fh 'chck';"
+}
+
+filter_pyc() {
+   perl -e "open fh, '+<', '$f'; seek fh, 4, SEEK_SET; print fh '0000';"
+}
+
+filter_dvi() {
+   # Opcodes 247: pre; i[1], num[4], den[4], mag[4], k[1], x[k]
+   perl -e "
+   my \$rec;
+   open fh, '+<', '$f';
+   my \$dummy = read fh, \$rec, 15;
+   (\$pre, \$i, \$num, \$den, \$mag, \$k) = unpack('C2 N3 C', \$rec);
+   seek fh, 15, SEEK_SET;
+   while (\$k > 0) {
+     print fh '0';
+     \$k--;
+   }
+   "
+}
+
+filter_png() {
+   convert "$f" +set date:create +set date:modify "${f}.$PPID.$$"
+   mv -f "${f}.$PPID.$$" "${f}"
+}
+
+filter_emacs_lisp() {
+   sed -i -e '
+    s|^;;; .ompiled by abuild@.* on ... ... .. ..:..:.. ....|;;; compiled by 
abuild@buildhost on Wed Jul 01 00:00:00 2009|
+    s|^;;; from file .*\.el|;;; from file 
/home/abuild/rpmbuild/BUILD/anthy-9100h/src-util/elc.8411/anthy-azik.el|
+    s|^;;; emacs version .*|;;; emacs version 21.5  (beta34) "kale" XEmacs 
Lucid.|
+    s|^;;; bytecomp version .*|;;; bytecomp version 2.28 XEmacs; 2009-08-09.|
+    ' "$f"
+}
+
+filter_pdf() {
+   # PDF files contain a unique ID, remove it
+   # Format of the ID is:
+   # /ID [<9ACE247A70CF9BEAFEE15E116259BD6D> 
<9ACE247A70CF9BEAFEE15E116259BD6D>]
+   # with optional spaces. pdftex creates also:
+   # /CreationDate (D:20120103083206Z)
+   # /ModDate (D:20120103083206Z)
+   # and possibly XML metadata as well
+   sed -i \
+        '/obj/,/endobj/{
+           s%/ID \?\[ \?<[^>]\+> \?<[^>]\+> \?\]%/IDrandom%g;
+           s%/CreationDate \?(D:[^)]*)%/CreationDate (D: XXX)%g;
+           s%/ModDate \?(D:[^)]*)%/ModDate (D: XXX)%g;
+           
s%<pdf:CreationDate>[^<]*</pdf:CreationDate>%<pdf:CreationDate>XXX</pdf:CreationDate>%g;
+           s%<pdf:ModDate>[^<]*</pdf:ModDate>%<pdf:ModDate>XXX</pdf:ModDate>%g;
+           
s%<xap:CreateDate>[^<]*</xap:CreateDate>%<xap:CreateDate>XXX</xap:CreateDate>%g;
+           
s%<xap:ModifyDate>[^<]*</xap:ModifyDate>%<xap:ModifyDate>XXX</xap:ModifyDate>%g;
+           
s%<xap:MetadataDate>[^<]*</xap:MetadataDate>%<xap:MetadataDate>XXX</xap:MetadataDate>%g;
+        }' "$f"
+}
+
+filter_ps() {
+   sed -i -e '
+    /^%%CreationDate:[[:blank:]]/d
+    /^%%Creator:[[:blank:]]groff[[:blank:]]version[[:blank:]]/d
+    /^%DVIPSSource:[[:blank:]]/d
+   ' "$f"
+}
+
+filter_mo() {
+   sed -i -e "s,POT-Creation-Date: ....-..-.. ..:..+....,POT-Creation-Date: 
1970-01-01 00:00+0000," "$f"
+}
+
+filter_linuxrc_config() {
+   sed -i '/^InitrdID:/s@^.*@InitrdID: something@' "$f"
+}
+
+# call specified filter on old and new file
+filter_generic()
+{
+   filtertype=$1
+   [[ $nofilter ]] && return
+   local f
+   for f in "old/$file" "new/$file" ; do
+      eval "filter_$filtertype $f"
+   done
+}
+
+
 echo "Comparing `basename $oldpkg` to `basename $newpkg`"
 
 case $oldpkg in
@@ -195,7 +297,7 @@
   hexdump -C old/$file > $file1 &
   hexdump -C new/$file > $file2 &
   wait
-  diff -u $file1 $file2 | head -n 200
+  diff -u $file1 $file2 | $buildcompare_head
   return 1
 }
 
@@ -205,6 +307,7 @@
     #.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28)
     #.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.43.3.
     local f=$1
+    [[ $nofilter ]] && return
     sed -i -e '1{
     
s|^\.\\"[[:blank:]]\+Automatically[[:blank:]]generated[[:blank:]]by[[:blank:]]Pod::Man[[:blank:]].*|.\\"
 Overly verbose Pod::Man|
     
s|^\.\\"[[:blank:]]\+DO[[:blank:]]NOT[[:blank:]]MODIFY[[:blank:]]THIS[[:blank:]]FILE![[:blank:]]\+It[[:blank:]]was[[:blank:]]generated[[:blank:]]by[[:blank:]]help2man[[:blank:]].*|.\\"
 Overly verbose help2man|
@@ -231,6 +334,7 @@
     # .TH "GCM-CALIBRATE" "1" "03 February 2012" "" ""
     #.TH Locale::Po4a::Xml.pm 3pm "2015-01-30" "Po4a Tools" "Po4a Tools"
     local f=$1
+    [[ $nofilter ]] && return
     # (.TH   quoted section) (quoted_date)(*)
     sed -i -e 
's|^\([[:blank:]]*\.TH[[:blank:]]\+"[^"]\+"[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\("[^"]\+"\)\([[:blank:]]\+.*\)\?|\1
 "qq2000-01-01"\3|' $f
     # (.TH unquoted section) (quoted_date)(*)
@@ -254,6 +358,7 @@
   # <div id="ftn.id43927" class="footnote">
   # <div class="section" id="id46">
 
+  [[ $nofilter ]] && return
   for f in old/$file new/$file; do
     sed -ie '
       1 {
@@ -385,7 +490,7 @@
        return 0
        ;;
     *.cpio)
-       flist=`cpio --quiet --list --force-local < "new/$file" | sort`
+       flist=`cpio --quiet --list --force-local < "new/$file" | $sort`
        pwd=$PWD
        fdir=$file.extract.$PPID.$$
        mkdir old/$fdir new/$fdir
@@ -407,7 +512,7 @@
        return $ret
        ;;
     *.squashfs)
-       flist=`unsquashfs -no-progress -ls -dest '' "new/$file" | grep -Ev 
'^(Parallel unsquashfs:|[0-9]+ inodes )' | sort`
+       flist=`unsquashfs -no-progress -ls -dest '' "new/$file" | grep -Ev 
'^(Parallel unsquashfs:|[0-9]+ inodes )' | $sort`
        fdir=$file.extract.$PPID.$$
        unsquashfs -no-progress -dest old/$fdir "old/$file"
        unsquashfs -no-progress -dest new/$fdir "new/$file"
@@ -444,17 +549,13 @@
        return $ret
        ;;
     *.zip|*.jar|*.war)
-       cd old
-       unjar_l ./$file |sort > flist
-       #  10-05-2010 14:39
-       sed -i -e "s, [0-9][0-9]-[0-9][0-9]-[0-9]\+ [0-9][0-9]:[0-9][0-9] , 
date ," flist
-       # 2012-02-03 07:59
-       sed -i -e "s, 20[0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9] 
, date ," flist
-       cd ../new
-       unjar_l ./$file |sort> flist
-       sed -i -e "s, [0-9][0-9]-[0-9][0-9]-[0-9]\+ [0-9][0-9]:[0-9][0-9] , 
date ,; " flist
-       sed -i -e "s, 20[0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9] 
, date ," flist
-       cd ..
+       for dir in old new ; do
+          (
+             cd $dir
+             unjar_l ./$file | $sort > flist
+             filter_zip_flist flist
+          )
+       done
        if ! cmp -s old/flist new/flist; then
           echo "$file has different file list"
           diff -u old/flist new/flist
@@ -479,38 +580,13 @@
        done
        return $ret;;
      */xen*.efi)
-        # PE32+ executable (EFI application) x86-64 (stripped to external 
PDB), for MS Windows
-        perl -e "open fh, '+<', 'old/$file'; seek fh, 0x80 + 0x08, SEEK_SET; 
print fh 'time'; seek fh, 0x80 + 0x58, SEEK_SET; print fh 'chck';"
-        perl -e "open fh, '+<', 'new/$file'; seek fh, 0x80 + 0x08, SEEK_SET; 
print fh 'time'; seek fh, 0x80 + 0x58, SEEK_SET; print fh 'chck';"
+        filter_generic xenefi
         ;;
      *.pyc|*.pyo)
-        perl -e "open fh, '+<', 'old/$file'; seek fh, 4, SEEK_SET; print fh 
'0000';"
-        perl -e "open fh, '+<', 'new/$file'; seek fh, 4, SEEK_SET; print fh 
'0000';"
+        filter_generic pyc
         ;;
       *.dvi)
-      # Opcodes 247: pre; i[1], num[4], den[4], mag[4], k[1], x[k]
-        perl -e "
-        my \$rec;
-        open fh, '+<', 'old/$file';
-        my \$dummy = read fh, \$rec, 15;
-        (\$pre, \$i, \$num, \$den, \$mag, \$k) = unpack('C2 N3 C', \$rec);
-        seek fh, 15, SEEK_SET;
-        while (\$k > 0) {
-          print fh '0';
-          \$k--;
-        }
-        "
-        perl -e "
-        my \$rec;
-        open fh, '+<', 'new/$file';
-        my \$dummy = read fh, \$rec, 15;
-        (\$pre, \$i, \$num, \$den, \$mag, \$k) = unpack('C2 N3 C', \$rec);
-        seek fh, 15, SEEK_SET;
-        while (\$k > 0) {
-          print fh '0';
-          \$k--;
-        }
-        "
+        filter_generic dvi
       ;;
      *.bz2)
         bunzip2 -c old/$file > old/${file/.bz2/}
@@ -531,10 +607,7 @@
      *png)
         # Try to remove timestamps, only if convert from ImageMagick is 
installed
         if [[ $(type -p convert) ]]; then
-          convert old/$file +set date:create +set date:modify 
old/${file}.$PPID.$$
-          convert new/$file +set date:create +set date:modify 
new/${file}.$PPID.$$
-          mv -f old/${file}.$PPID.$$ old/${file}
-          mv -f new/${file}.$PPID.$$ new/${file}
+          filter_generic png
           if ! diff_two_files; then
             return 1
           fi
@@ -542,9 +615,7 @@
         fi
         ;;
      
/usr/share/locale/*/LC_MESSAGES/*.mo|/usr/share/locale-bundle/*/LC_MESSAGES/*.mo|/usr/share/vdr/locale/*/LC_MESSAGES/*.mo)
-       for f in old/$file new/$file; do
-         sed -i -e "s,POT-Creation-Date: ....-..-.. 
..:..+....,POT-Creation-Date: 1970-01-01 00:00+0000," $f
-       done
+       filter_generic mo
        ;;
     */rdoc/files/*.html)
       # ruby documentation
@@ -615,7 +686,7 @@
         # deprecated-list is randomly ordered, sort it for comparison
         case $f in
           */deprecated-list.html)
-            sort -o $f $f
+            [[ $nofilter ]] || sort -o $f $f
           ;;
         esac
       done
@@ -629,7 +700,7 @@
      */fonts.scale|*/fonts.dir|*/encodings.dir)
        for f in old/$file new/$file; do
          # sort files before comparing
-         sort -o $f $f
+         [[ $nofilter ]] || sort -o $f $f
        done
        ;;
      /var/adm/perl-modules/*)
@@ -655,15 +726,7 @@
        done
        ;;
      *.elc)
-       # emacs lisp files
-       for f in old/$file new/$file; do
-         sed -i -e '
-          s|^;;; .ompiled by abuild@.* on ... ... .. ..:..:.. ....|;;; 
compiled by abuild@buildhost on Wed Jul 01 00:00:00 2009|
-          s|^;;; from file .*\.el|;;; from file 
/home/abuild/rpmbuild/BUILD/anthy-9100h/src-util/elc.8411/anthy-azik.el|
-          s|^;;; emacs version .*|;;; emacs version 21.5  (beta34) "kale" 
XEmacs Lucid.|
-          s|^;;; bytecomp version .*|;;; bytecomp version 2.28 XEmacs; 
2009-08-09.|
-          ' $f
-       done
+       filter_generic emacs_lisp
        ;;
      /var/lib/texmf/web2c/*/*fmt |\
      /var/lib/texmf/web2c/metafont/*.base|\
@@ -708,40 +771,14 @@
       sed -i "s/${name_ver_rel_new_regex_l}/@NAME_VER_REL@/" new/$file
       ;;
     *.ps)
-      for f in "old/$file" "new/$file"; do
-        sed -i -e '
-          /^%%CreationDate:[[:blank:]]/d
-          /^%%Creator:[[:blank:]]groff[[:blank:]]version[[:blank:]]/d
-          /^%DVIPSSource:[[:blank:]]/d
-        ' "$f"
-      done
-    ;;
+      filter_generic ps
+      ;;
     *pdf)
-      # PDF files contain a unique ID, remove it
-      # Format of the ID is:
-      # /ID [<9ACE247A70CF9BEAFEE15E116259BD6D> 
<9ACE247A70CF9BEAFEE15E116259BD6D>]
-      # with optional spaces. pdftex creates also:
-      # /CreationDate (D:20120103083206Z)
-      # /ModDate (D:20120103083206Z)
-      # and possibly XML metadata as well
-      for f in "old/$file" "new/$file"; do
-        sed -i \
-            '/obj/,/endobj/{
-               s%/ID \?\[ \?<[^>]\+> \?<[^>]\+> \?\]%/IDrandom%g;
-               s%/CreationDate \?(D:[^)]*)%/CreationDate (D: XXX)%g;
-               s%/ModDate \?(D:[^)]*)%/ModDate (D: XXX)%g;
-               
s%<pdf:CreationDate>[^<]*</pdf:CreationDate>%<pdf:CreationDate>XXX</pdf:CreationDate>%g;
-               
s%<pdf:ModDate>[^<]*</pdf:ModDate>%<pdf:ModDate>XXX</pdf:ModDate>%g;
-               
s%<xap:CreateDate>[^<]*</xap:CreateDate>%<xap:CreateDate>XXX</xap:CreateDate>%g;
-               
s%<xap:ModifyDate>[^<]*</xap:ModifyDate>%<xap:ModifyDate>XXX</xap:ModifyDate>%g;
-               
s%<xap:MetadataDate>[^<]*</xap:MetadataDate>%<xap:MetadataDate>XXX</xap:MetadataDate>%g;
-            }' "$f"
-      done
+      filter_generic pdf
       ;;
       */linuxrc.config)
         echo "${file}"
-        sed -i '/^InitrdID:/s@^.*@InitrdID: something@' "old/$file"
-        sed -i '/^InitrdID:/s@^.*@InitrdID: something@' "new/$file"
+        filter_generic linuxrc_config
       ;;
       */ld.so.cache|*/etc/machine-id)
         # packaged by libguestfs
@@ -789,7 +826,7 @@
        elfdiff=
        if ! diff --speed-large-files -u $file1 $file2 > $dfile; then
           echo "$file differs in assembler output"
-          head -n 200 $dfile
+          $buildcompare_head $dfile
           elfdiff="1"
        fi
        echo "" >$file1
@@ -801,7 +838,7 @@
           $OBJDUMP -s -j $section new/$file | sed "s,^new/,," > $file2
           if ! diff -u $file1 $file2 > $dfile; then
              echo "$file differs in ELF section $section"
-             head -n 200 $dfile
+             $buildcompare_head $dfile
              elfdiff="1"
           fi
        done
@@ -814,7 +851,7 @@
      *ASCII*|*text*)
        if ! cmp -s old/$file new/$file; then
          echo "$file differs ($ftype)"
-         diff -u old/$file new/$file | head -n 200
+         diff -u old/$file new/$file | $buildcompare_head
          return 1
        fi
        ;;


Reply via email to