diff --git a/build-compare.changes b/build-compare.changes
index ec56918..7d73c49 100644
--- a/build-compare.changes
+++ b/build-compare.changes
@@ -1,3 +1,8 @@
+-------------------------------------------------------------------
+Thu Jul 27 12:05:25 UTC 2017 - olaf@aepfle.de
+
+- Compare also supplements and recomments (issue#18)
+
-------------------------------------------------------------------
Fri Mar 31 13:44:11 UTC 2017 - olaf@aepfle.de
diff --git a/build-compare.spec b/build-compare.spec
index dbe15a0..0c266d3 100644
--- a/build-compare.spec
+++ b/build-compare.spec
@@ -21,7 +21,7 @@ Summary: Build Result Compare Script
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
diff --git a/functions.sh b/functions.sh
index b67cbb8..5b46274 100644
--- a/functions.sh
+++ b/functions.sh
@@ -21,6 +21,8 @@ QF_PROVIDES="[%{PROVIDENAME} %{PROVIDEFLAGS} %{PROVIDEVERSION}\\n]\\n"
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"
diff --git a/pkg-diff.sh b/pkg-diff.sh
index a33f3f9..fde4823 100644
--- a/pkg-diff.sh
+++ b/pkg-diff.sh
@@ -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 @@ function unjar_l()
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%