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 - [email protected] + +- 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 ;;
