Hello community,

here is the log from the commit of package rpm for openSUSE:Factory checked in 
at 2014-02-28 16:22:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rpm (Old)
 and      /work/SRC/openSUSE:Factory/.rpm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rpm"

Changes:
--------
rpm-python.changes: same change
--- /work/SRC/openSUSE:Factory/rpm/rpm.changes  2014-02-07 10:29:47.000000000 
+0100
+++ /work/SRC/openSUSE:Factory/.rpm.new/rpm.changes     2014-02-28 
16:22:19.000000000 +0100
@@ -1,0 +2,33 @@
+Tue Feb 25 15:19:48 CET 2014 - m...@suse.de
+
+- fix bug in weakdepscompa.diff patch
+
+-------------------------------------------------------------------
+Fri Feb 21 13:33:48 CET 2014 - m...@suse.de
+
+- make the 'douple separator' error a warning
+  new patch: checksepwarn.diff
+
+-------------------------------------------------------------------
+Thu Feb 20 16:24:24 CET 2014 - m...@suse.de
+
+- cherry-pick new weakdeps tags from upstream
+  new patch: newweakdeps.diff
+  dropped: weakdeps.diff
+- add weakdepscompat.diff to support querying the old tags
+
+-------------------------------------------------------------------
+Thu Feb 20 15:37:49 CET 2014 - m...@suse.de
+
+- drop outdated and non-free RPM-Tips tarball [bnc#849465]
+
+-------------------------------------------------------------------
+Thu Feb 20 14:17:58 CET 2014 - m...@suse.de
+
+- update to rpm-4.11.2
+  * dropped patches: appdata_provides.diff, application_provides.diff,
+    beedigest.diff, debug_gdb_scripts.diff, getauxval.diff,
+    ignore_poolstr_dummy_entries.diff, ppc64le.diff,
+    selfconflicts.diff, strpoolrehash.diff
+
+-------------------------------------------------------------------

Old:
----
  RPM-Tips.html.tar.bz2
  appdata_provides.diff
  application_provides.diff
  beedigest.diff
  debug_gdb_scripts.diff
  getauxval.diff
  ignore_poolstr_dummy_entries.diff
  ppc64le.diff
  rpm-4.11.1.tar.bz2
  selfconflicts.diff
  strpoolrehash.diff
  weakdeps.diff

New:
----
  checksepwarn.diff
  newweakdeps.diff
  rpm-4.11.2.tar.bz2
  weakdepscompat.diff

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

Other differences:
------------------
++++++ python3-rpm.spec ++++++
--- /var/tmp/diff_new_pack.pc7JGa/_old  2014-02-28 16:22:20.000000000 +0100
+++ /var/tmp/diff_new_pack.pc7JGa/_new  2014-02-28 16:22:20.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           python3-rpm
-Version:        4.11.1
+Version:        4.11.2
 Release:        0
 Summary:        Python Bindings for Manipulating RPM Packages
 License:        GPL-2.0+
@@ -60,8 +60,6 @@
 find %{buildroot} -not -type d -and -not -path 
%{buildroot}%{_libdir}/python3*/site-packages/rpm/\* -print0 | xargs -0 rm
 pushd %{buildroot}/%{_libdir}/python3*/site-packages/rpm
 rm -f _rpm*.la _rpm*.a
-# python3 no longer looks at "XXXmodule.so"
-for i in _rpm*module.so ; do mv $i ${i%module.so}.so; done
 python3 %{_libdir}/python3*/py_compile.py *.py
 python3 -O %{_libdir}/python3*/py_compile.py *.py
 popd

++++++ rpm-python.spec ++++++
--- /var/tmp/diff_new_pack.pc7JGa/_old  2014-02-28 16:22:20.000000000 +0100
+++ /var/tmp/diff_new_pack.pc7JGa/_new  2014-02-28 16:22:20.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           rpm-python
-Version:        4.11.1
+Version:        4.11.2
 Release:        0
 #!BuildIgnore:  rpmlint-Factory
 Summary:        Python Bindings for Manipulating RPM Packages
@@ -61,7 +61,7 @@
 %make_install
 find %{buildroot} -not -type d -and -not -path 
%{buildroot}%{_libdir}/python%{py_ver}/site-packages/rpm/\* -print0 | xargs -0 
rm
 pushd %{buildroot}/%py_sitedir/rpm
-rm -f _rpmmodule.a _rpmmodule.la
+rm -f _rpm*.a _rpm*.la
 python %py_libdir/py_compile.py *.py
 python -O %py_libdir/py_compile.py *.py
 popd

++++++ rpm.spec ++++++
--- /var/tmp/diff_new_pack.pc7JGa/_old  2014-02-28 16:22:20.000000000 +0100
+++ /var/tmp/diff_new_pack.pc7JGa/_new  2014-02-28 16:22:20.000000000 +0100
@@ -47,11 +47,10 @@
 Summary:        The RPM Package Manager
 License:        GPL-2.0+
 Group:          System/Packages
-Version:        4.11.1
+Version:        4.11.2
 Release:        0
 Source:         http://rpm.org/releases/rpm-4.11.x/rpm-%{version}.tar.bz2
 Source1:        RPM-HOWTO.tar.bz2
-Source2:        RPM-Tips.html.tar.bz2
 Source4:        rpm-suse_macros
 Source5:        rpmsort
 Source6:        symset-table
@@ -63,6 +62,7 @@
 Patch1:         beecrypt-4.1.2.diff
 Patch2:         db.diff
 # quilt patches start here
+Patch10:        newweakdeps.diff
 Patch11:        debugedit.diff
 Patch13:        ignore-auxv.diff
 Patch12:        localetag.diff
@@ -74,7 +74,6 @@
 Patch19:        rpmrctests.diff
 Patch20:        waitlock.diff
 Patch21:        suspendlock.diff
-Patch22:        weakdeps.diff
 Patch23:        autodeps.diff
 Patch24:        brp.diff
 Patch25:        brpcompress.diff
@@ -132,20 +131,11 @@
 Patch78:        headerchk2.diff
 Patch79:        helperenv.diff
 Patch80:        psm-errno.diff
-Patch81:        getauxval.diff
 Patch82:        noposttrans.diff
-Patch83:        debug_gdb_scripts.diff
-Patch84:        beedigest.diff
 Patch85:        brp-compress-no-img.patch
-Patch86:        strpoolrehash.diff
-Patch87:        ignore_poolstr_dummy_entries.diff
-Patch88:        selfconflicts.diff
-Patch89:        application_provides.diff
-Patch90:        appdata_provides.diff
-#upstream commit cf07feda05822377d62b973adc4010c0d7f9eaa0
-#upstream commit ef1497b1f81966fed56f008bc8ee8ba42102efd6
-Patch91:        ppc64le.diff
 Patch92:        find-lang-python.patch
+Patch93:        weakdepscompat.diff
+Patch94:        checksepwarn.diff
 Patch6464:      auto-config-update-aarch64-ppc64le.diff
 Patch68000:     m68k.patch
 Patch68001:     debugedit-m68k.patch
@@ -227,21 +217,22 @@
 chmod -R u+w db/*
 rm -f rpmdb/db.h
 %patch -P 1 -P 2
-%patch       -P 11 -P 12 -P 13 -P 14 -P 15 -P 16 -P 17 -P 18 -P 19
-%patch -P 20 -P 21 -P 22 -P 23 -P 24 -P 25 -P 26 -P 27 -P 28 -P 29
+%patch -P 10 -P 11 -P 12 -P 13 -P 14 -P 15 -P 16 -P 17 -P 18 -P 19
+%patch -P 20 -P 21       -P 23 -P 24 -P 25 -P 26 -P 27 -P 28 -P 29
 %patch -P 30 -P 31 -P 32 -P 33 -P 34 -P 35 -P 36 -P 37 -P 38 -P 39
 %patch       -P 41 -P 42 -P 43 -P 44 -P 45 -P 46 -P 47 -P 48 -P 49
 %patch -P 50 -P 51 -P 52 -P 53 -P 54 -P 55 -P 56 -P 57 -P 58 -P 59
 %patch -P 60 -P 61 -P 62 -P 63 -P 64 -P 65 -P 66 -P 67 -P 68 -P 69
 %patch -P 70 -P 71 -P 72 -P 73 -P 74 -P 75 -P 76 -P 77 -P 78 -P 79
-%patch -P 80 -P 81 -P 82 -P 83 -P 84 -P 85 -P 86 -P 87 -P 88 -P 89
-%patch -P 90 -P 91 -P 92
+%patch -P 80       -P 82             -P 85                  
+%patch             -P 92 -P 93 -P 94
 
 %ifarch aarch64 ppc64le
 %patch6464
 %endif
 %patch68000
 %patch68001
+
 cp config.guess config.sub db/dist/
 cp config.guess config.sub beecrypt/
 #chmod 755 scripts/find-supplements{,.ksyms}
@@ -249,7 +240,6 @@
 #chmod 755 scripts/firmware.prov
 #chmod 755 scripts/debuginfo.prov
 tar -xjvf %{SOURCE1}
-tar -xjvf %{SOURCE2}
 sed -e 's/@suse_version@/%{?suse_version}%{!?suse_version:0}/' \
     -e 's/@sles_version@/%{?sles_version}%{!?sles_version:0}/' \
     -e 's/@ul_version@/%{?ul_version}%{!?ul_version:0}/' \
@@ -390,7 +380,7 @@
 %defattr(-,root,root)
 %doc   CHANGES.gz COPYING GROUPS
 %doc   doc/manual
-%doc    RPM-HOWTO RPM-Tips
+%doc    RPM-HOWTO
        /etc/rpm
        /bin/rpm
        /usr/bin/*

++++++ checksepwarn.diff ++++++
--- ./build/parseReqs.c.orig    2014-02-21 12:25:51.259664860 +0000
+++ ./build/parseReqs.c 2014-02-21 12:28:07.545664619 +0000
@@ -178,8 +178,14 @@ rpmRC parseRCPOT(rpmSpec spec, Package p
            if (rpmCharCheck(spec, EVR, ve-v, ".-_+:%{}~")) goto exit;
 
             /* While ':' and '-' are valid, only one of each is valid. */
-           if (checkSep(EVR, '-', &emsg) || checkSep(EVR, ':', &emsg))
-               goto exit;
+           if (checkSep(EVR, '-', &emsg) || checkSep(EVR, ':', &emsg)) {
+               if (tagflags & (RPMSENSE_FIND_REQUIRES|RPMSENSE_FIND_PROVIDES)) 
{
+                   rpmlog(RPMLOG_WARNING, "%s: %s\n", emsg, r);
+               } else {
+                   rpmlog(RPMLOG_WARNING, _("line %d: %s: %s\n"), 
spec->lineNum, emsg, spec->line);
+               }
+               emsg = _free(emsg);
+           }
 
            re = ve;    /* ==> next token after EVR string starts here */
        } else
++++++ fileattrs.diff ++++++
--- /var/tmp/diff_new_pack.pc7JGa/_old  2014-02-28 16:22:20.000000000 +0100
+++ /var/tmp/diff_new_pack.pc7JGa/_new  2014-02-28 16:22:20.000000000 +0100
@@ -1,21 +1,20 @@
---- ./fileattrs/Makefile.am.orig       2012-03-20 08:07:25.000000000 +0000
-+++ ./fileattrs/Makefile.am    2012-06-01 13:39:16.000000000 +0000
-@@ -6,6 +6,7 @@ fattrsdir = $(rpmconfigdir)/fileattrs
- 
+--- ./fileattrs/Makefile.am.orig       2014-02-20 12:54:01.473814793 +0000
++++ ./fileattrs/Makefile.am    2014-02-20 12:55:37.318814624 +0000
+@@ -7,6 +7,6 @@ fattrsdir = $(rpmconfigdir)/fileattrs
  fattrs_DATA = \
-       desktop.attr elf.attr font.attr libtool.attr perl.attr perllib.attr \
--      pkgconfig.attr python.attr ocaml.attr script.attr mono.attr
-+      pkgconfig.attr python.attr ocaml.attr script.attr mono.attr \
-+      debuginfo.attr elflib.attr firmware.attr ksyms.attr sysvinit.attr
+       appdata.attr desktop.attr elf.attr font.attr libtool.attr perl.attr \
+       perllib.attr pkgconfig.attr python.attr ocaml.attr script.attr \
+-      mono.attr
++      mono.attr debuginfo.attr elflib.attr firmware.attr ksyms.attr 
sysvinit.attr
  
  EXTRA_DIST = $(fattrs_DATA)
---- ./fileattrs/debuginfo.attr.orig    2012-06-01 13:39:16.000000000 +0000
-+++ ./fileattrs/debuginfo.attr 2012-06-01 13:39:16.000000000 +0000
+--- ./fileattrs/debuginfo.attr.orig    2014-02-20 12:54:01.473814793 +0000
++++ ./fileattrs/debuginfo.attr 2014-02-20 12:54:01.473814793 +0000
 @@ -0,0 +1,2 @@
 +%__debuginfo_provides %{_rpmconfigdir}/debuginfo.prov
 +%__debuginfo_path     ^/usr/lib/debug/
---- ./fileattrs/elf.attr.orig  2012-03-20 08:07:25.000000000 +0000
-+++ ./fileattrs/elf.attr       2012-06-01 13:40:16.000000000 +0000
+--- ./fileattrs/elf.attr.orig  2012-11-07 12:55:24.000000000 +0000
++++ ./fileattrs/elf.attr       2014-02-20 12:54:01.474814793 +0000
 @@ -1,4 +1,5 @@
  %__elf_provides               %{_rpmconfigdir}/elfdeps --provides 
%{?__filter_GLIBC_PRIVATE:--filter-private}
  %__elf_requires               %{_rpmconfigdir}/elfdeps --requires 
%{?__filter_GLIBC_PRIVATE:--filter-private}
@@ -23,43 +22,45 @@
 +%__elf_magic          ^(setuid )?(setgid )?(sticky )?ELF 
(32|64)-bit.*executable
  %__elf_flags          exeonly
 +%__elf_exclude_path   ^/usr/lib/debug/
---- ./fileattrs/elflib.attr.orig       2012-06-01 13:39:16.000000000 +0000
-+++ ./fileattrs/elflib.attr    2012-06-01 13:39:16.000000000 +0000
+--- ./fileattrs/elflib.attr.orig       2014-02-20 12:54:01.474814793 +0000
++++ ./fileattrs/elflib.attr    2014-02-20 12:54:01.474814793 +0000
 @@ -0,0 +1,4 @@
 +%__elflib_provides    %{_rpmconfigdir}/elfdeps --assume-exec --provides 
%{?__filter_GLIBC_PRIVATE:--filter-private}
 +%__elflib_requires    %{_rpmconfigdir}/elfdeps --assume-exec --requires 
%{?__filter_GLIBC_PRIVATE:--filter-private}
 +%__elflib_magic               ^(setuid )?(setgid )?(sticky )?ELF 
(32|64)-bit.*shared object
 +%__elflib_exclude_path        ^/usr/lib/debug/
---- ./fileattrs/firmware.attr.orig     2012-06-01 13:39:16.000000000 +0000
-+++ ./fileattrs/firmware.attr  2012-06-01 13:39:16.000000000 +0000
+--- ./fileattrs/firmware.attr.orig     2014-02-20 12:54:01.474814793 +0000
++++ ./fileattrs/firmware.attr  2014-02-20 12:54:01.474814793 +0000
 @@ -0,0 +1,2 @@
 +%__firmware_provides  %{_rpmconfigdir}/firmware.prov
 +%__firmware_path      /lib/firmware/
---- ./fileattrs/ksyms.attr.orig        2012-06-01 13:39:16.000000000 +0000
-+++ ./fileattrs/ksyms.attr     2012-06-01 13:39:16.000000000 +0000
+--- ./fileattrs/ksyms.attr.orig        2014-02-20 12:54:01.474814793 +0000
++++ ./fileattrs/ksyms.attr     2014-02-20 12:54:01.474814793 +0000
 @@ -0,0 +1,4 @@
 +%__ksyms_provides     %{_rpmconfigdir}/find-provides.ksyms %name
 +%__ksyms_requires     %{_rpmconfigdir}/find-requires.ksyms %name
 +%__ksyms_supplements  %{_rpmconfigdir}/find-supplements.ksyms %name
 +%__ksyms_path (/lib/modules/.*\.ko(\.gz)?)|(/boot/vmlinu[xz].*)$
---- ./fileattrs/perl.attr.orig 2012-03-20 08:07:25.000000000 +0000
-+++ ./fileattrs/perl.attr      2012-06-01 13:39:16.000000000 +0000
+--- ./fileattrs/perl.attr.orig 2012-11-07 12:55:24.000000000 +0000
++++ ./fileattrs/perl.attr      2014-02-20 12:54:01.474814793 +0000
 @@ -1,3 +1,4 @@
 -%__perl_requires      %{_rpmconfigdir}/perl.req
 +# disabled for now
 +#%__perl_requires     %{_rpmconfigdir}/perl.req
  %__perl_magic         ^.*[Pp]erl .*$
  %__perl_flags         exeonly
---- ./fileattrs/perllib.attr.orig      2012-03-20 08:07:25.000000000 +0000
-+++ ./fileattrs/perllib.attr   2012-06-01 13:39:16.000000000 +0000
-@@ -1,3 +1,4 @@
+--- ./fileattrs/perllib.attr.orig      2014-02-05 13:04:01.000000000 +0000
++++ ./fileattrs/perllib.attr   2014-02-20 12:54:01.475814793 +0000
+@@ -1,5 +1,6 @@
  %__perllib_provides   %{_rpmconfigdir}/perl.prov
 -%__perllib_requires   %{_rpmconfigdir}/perl.req
 +#disabled for now
 +#%__perllib_requires  %{_rpmconfigdir}/perl.req
  %__perllib_magic      ^Perl[[:digit:]] module source.*
---- ./fileattrs/sysvinit.attr.orig     2012-06-01 13:39:16.000000000 +0000
-+++ ./fileattrs/sysvinit.attr  2012-06-01 13:39:16.000000000 +0000
+ %__perllib_path               \\.pm$
+ %__perllib_flags      magic_and_path
+--- ./fileattrs/sysvinit.attr.orig     2014-02-20 12:54:01.475814793 +0000
++++ ./fileattrs/sysvinit.attr  2014-02-20 12:54:01.475814793 +0000
 @@ -0,0 +1,2 @@
 +%__sysvinit_provides  %{_rpmconfigdir}/sysvinitdeps.sh --provides
 +%__sysvinit_path      ^/etc/init\.d/

++++++ findsupplements.diff ++++++
--- /var/tmp/diff_new_pack.pc7JGa/_old  2014-02-28 16:22:21.000000000 +0100
+++ /var/tmp/diff_new_pack.pc7JGa/_new  2014-02-28 16:22:21.000000000 +0100
@@ -1,17 +1,15 @@
-Add support for supplements to the internal dependency generator.
-
---- ./build/rpmfc.c.orig       2013-07-12 12:18:29.000000000 +0000
-+++ ./build/rpmfc.c    2013-07-12 12:18:48.000000000 +0000
-@@ -58,6 +58,7 @@ struct rpmfc_s {
- 
+--- ./build/rpmfc.c.orig       2014-02-20 12:56:59.836814478 +0000
++++ ./build/rpmfc.c    2014-02-20 12:58:18.886814338 +0000
+@@ -59,6 +59,7 @@ struct rpmfc_s {
+     rpmstrPool pool;  /*!< general purpose string storage */
      rpmds provides;   /*!< (no. provides) package provides */
      rpmds requires;   /*!< (no. requires) package requires */
 +    rpmds supplements;        /*!< (no. supplements) package supplements */
  };
  
  struct rpmfcTokens_s {
-@@ -546,6 +547,22 @@ static int rpmfcHelperRequires(rpmfc fc,
-     return 0;
+@@ -583,6 +584,22 @@ static int rpmfcHelperRequires(rpmfc fc,
+                       RPMSENSE_FIND_REQUIRES, RPMTAG_REQUIRENAME);
  }
  
 +/**
@@ -25,7 +23,7 @@
 +    if (fc->skipReq)
 +      return 0;
 +
-+    rpmfcHelper(fc, nsdep, "supplements", &fc->supplements, 
RPMSENSE_FIND_REQUIRES|RPMSENSE_STRONG|RPMSENSE_MISSINGOK, RPMTAG_ENHANCESNAME);
++    rpmfcHelper(fc, nsdep, "supplements", &fc->supplements, 
RPMSENSE_FIND_REQUIRES, RPMTAG_SUPPLEMENTNAME);
 +
 +    return 0;
 +}
@@ -33,15 +31,16 @@
  /* Only used for elf coloring and controlling RPMTAG_FILECLASS inclusion now 
*/
  static const struct rpmfcTokens_s rpmfcTokens[] = {
    { "directory",              RPMFC_INCLUDE },
-@@ -763,6 +780,7 @@ rpmfc rpmfcFree(rpmfc fc)
+@@ -800,6 +817,8 @@ rpmfc rpmfcFree(rpmfc fc)
  
        rpmdsFree(fc->provides);
        rpmdsFree(fc->requires);
 +      rpmdsFree(fc->supplements);
++
+       rpmstrPoolFree(fc->pool);
        memset(fc, 0, sizeof(*fc)); /* trash and burn */
        free(fc);
-     }
-@@ -794,6 +812,11 @@ rpmds rpmfcRequires(rpmfc fc)
+@@ -833,6 +852,11 @@ rpmds rpmfcRequires(rpmfc fc)
      return (fc != NULL ? fc->requires : NULL);
  }
  
@@ -53,7 +52,7 @@
  rpmRC rpmfcApply(rpmfc fc)
  {
      const char * s;
-@@ -814,6 +837,7 @@ rpmRC rpmfcApply(rpmfc fc)
+@@ -853,6 +877,7 @@ rpmRC rpmfcApply(rpmfc fc)
        for (ARGV_t fattr = fc->fattrs[fc->ix]; fattr && *fattr; fattr++) {
            rpmfcHelperProvides(fc, *fattr);
            rpmfcHelperRequires(fc, *fattr);
@@ -61,19 +60,19 @@
        }
      }
      /* No more additions after this, freeze pool to minimize memory use */
-@@ -858,6 +882,11 @@ rpmRC rpmfcApply(rpmfc fc)
+@@ -897,6 +922,11 @@ rpmRC rpmfcApply(rpmfc fc)
            dix = rpmdsFind(fc->requires, ds);
            rpmdsFree(ds);
            break;
 +      case 'S':
-+          ds = rpmdsSingle(RPMTAG_ENHANCESNAME, N, EVR, Flags);
++          ds = rpmdsSingle(RPMTAG_SUPPLEMENTNAME, N, EVR, Flags);
 +          dix = rpmdsFind(fc->supplements, ds);
 +          ds = rpmdsFree(ds);
 +          break;
        }
  
        if (dix < 0)
-@@ -1341,6 +1370,18 @@ rpmRC rpmfcGenerateDepends(const rpmSpec
+@@ -1380,6 +1410,18 @@ rpmRC rpmfcGenerateDepends(const rpmSpec
        }
      }
  
@@ -83,17 +82,17 @@
 +      while (rpmdsNext(pi) >= 0) {
 +          rpmsenseFlags flags = rpmdsFlags(pi);
 +      
-+          headerPutString(pkg->header, RPMTAG_ENHANCESNAME, rpmdsN(pi));
-+          headerPutString(pkg->header, RPMTAG_ENHANCESVERSION, rpmdsEVR(pi));
-+          headerPutUint32(pkg->header, RPMTAG_ENHANCESFLAGS, &flags, 1);
++          headerPutString(pkg->header, RPMTAG_SUPPLEMENTNAME, rpmdsN(pi));
++          headerPutString(pkg->header, RPMTAG_SUPPLEMENTVERSION, 
rpmdsEVR(pi));
++          headerPutUint32(pkg->header, RPMTAG_SUPPLEMENTFLAGS, &flags, 1);
 +      }
 +    }
 +
      /* Add dependency dictionary(#dependencies) */
      if (rpmtdFromArgi(&td, RPMTAG_DEPENDSDICT, fc->ddictx)) {
        headerPut(pkg->header, &td, HEADERPUT_DEFAULT);
---- ./build/rpmfc.h.orig       2012-11-18 08:21:06.000000000 +0000
-+++ ./build/rpmfc.h    2013-07-12 12:18:48.000000000 +0000
+--- ./build/rpmfc.h.orig       2012-11-07 12:55:24.000000000 +0000
++++ ./build/rpmfc.h    2014-02-20 12:57:04.466814469 +0000
 @@ -106,6 +106,13 @@ rpmds rpmfcProvides(rpmfc fc);
   */
  rpmds rpmfcRequires(rpmfc fc);

++++++ ignore-auxv.diff ++++++
--- /var/tmp/diff_new_pack.pc7JGa/_old  2014-02-28 16:22:21.000000000 +0100
+++ /var/tmp/diff_new_pack.pc7JGa/_new  2014-02-28 16:22:21.000000000 +0100
@@ -1,6 +1,6 @@
---- lib/rpmrc.c
-+++ lib/rpmrc.c
-@@ -79,10 +79,12 @@
+--- ./lib/rpmrc.c.orig 2014-02-05 13:04:02.000000000 +0000
++++ ./lib/rpmrc.c      2014-02-20 12:37:28.209816551 +0000
+@@ -83,10 +83,12 @@ struct rpmOption {
      int localize;
  };
  
@@ -13,21 +13,21 @@
  
  typedef struct defaultEntry_s {
      char * name;
-@@ -907,7 +909,7 @@
+@@ -914,7 +916,7 @@ static int is_geode(void)
  #endif
  
  
 -#if defined(__linux__)
 +#if defined(__linux__) && defined(__powerpc__)
  /**
-  * Populate rpmat structure with parsed info from /proc/self/auxv
+  * Populate rpmat structure with auxv values
   */
-@@ -957,7 +959,7 @@
+@@ -971,7 +973,7 @@ static void defaultMachine(const char **
      canonEntry canon;
      int rc;
  
 -#if defined(__linux__)
 +#if defined(__linux__) && defined(__powerpc__)
      /* Populate rpmat struct with hw info */
-     parse_auxv();
+     read_auxv();
  #endif

++++++ initscriptsprov.diff ++++++
--- /var/tmp/diff_new_pack.pc7JGa/_old  2014-02-28 16:22:21.000000000 +0100
+++ /var/tmp/diff_new_pack.pc7JGa/_new  2014-02-28 16:22:21.000000000 +0100
@@ -1,7 +1,5 @@
-Index: autodeps/linux.prov
-===================================================================
---- autodeps/linux.prov.orig   2011-12-09 15:13:23.686700264 +0100
-+++ autodeps/linux.prov        2011-12-09 15:13:23.733698039 +0100
+--- ./autodeps/linux.prov.orig 2014-02-20 12:52:34.012814948 +0000
++++ ./autodeps/linux.prov      2014-02-20 12:52:40.088814937 +0000
 @@ -101,4 +101,9 @@ fi
  [ -x /usr/lib/rpm/gstreamer-provides ] &&
      printf "%s\n" "${filelist[@]}" | /usr/lib/rpm/gstreamer-provides | sort -u
@@ -12,13 +10,11 @@
 +    printf "%s\n" "${filelist[@]}" | /usr/lib/rpm/sysvinitdeps.sh -P | sort -u
 +
  exit 0
-Index: scripts/Makefile.am
-===================================================================
---- scripts/Makefile.am.orig   2011-12-09 15:13:22.917736665 +0100
-+++ scripts/Makefile.am        2011-12-09 15:13:23.733698039 +0100
+--- ./scripts/Makefile.am.orig 2014-02-20 12:52:33.971814948 +0000
++++ ./scripts/Makefile.am      2014-02-20 12:52:40.089814937 +0000
 @@ -21,6 +21,7 @@ EXTRA_DIST = \
        ocaml-find-requires.sh ocaml-find-provides.sh \
-       pkgconfigdeps.sh libtooldeps.sh \
+       pkgconfigdeps.sh libtooldeps.sh appdata.prov \
        fontconfig.prov desktop-file.prov script.req \
 +      sysvinitdeps.sh \
        macros.perl macros.php macros.python
@@ -32,10 +28,8 @@
        rpmdb_loadcvt rpm2cpio.sh tcl.req tgpg 
  
  rpmconfig_DATA = \
-Index: scripts/sysvinitdeps.sh
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ scripts/sysvinitdeps.sh    2011-12-09 15:13:23.733698039 +0100
+--- ./scripts/sysvinitdeps.sh.orig     2014-02-20 12:52:40.089814937 +0000
++++ ./scripts/sysvinitdeps.sh  2014-02-20 12:52:40.089814937 +0000
 @@ -0,0 +1,17 @@
 +#!/bin/sh
 +

++++++ newweakdeps.diff ++++++
--- ./build/files.c.orig        2014-02-05 13:04:01.000000000 +0000
+++ ./build/files.c     2014-02-20 14:47:48.107802710 +0000
@@ -1642,6 +1642,7 @@ static rpmRC readFilesManifest(rpmSpec s
     char *fn, buf[BUFSIZ];
     FILE *fd = NULL;
     rpmRC rc = RPMRC_FAIL;
+    unsigned int nlines = 0;
 
     if (*path == '/') {
        fn = rpmGetPath(path, NULL);
@@ -1657,14 +1658,19 @@ static rpmRC readFilesManifest(rpmSpec s
     }
 
     while (fgets(buf, sizeof(buf), fd)) {
-       handleComments(buf);
+       if (handleComments(buf))
+           continue;
        if (expandMacros(spec, spec->macros, buf, sizeof(buf))) {
            rpmlog(RPMLOG_ERR, _("line: %s\n"), buf);
            goto exit;
        }
        argvAdd(&(pkg->fileList), buf);
+       nlines++;
     }
 
+    if (nlines == 0)
+       rpmlog(RPMLOG_WARNING, _("Empty %%files file %s\n"), fn);
+
     if (ferror(fd))
        rpmlog(RPMLOG_ERR, _("Error reading %%files file %s: %m\n"), fn);
     else
--- ./build/pack.c.orig 2014-02-05 13:04:01.000000000 +0000
+++ ./build/pack.c      2014-02-20 14:47:48.107802710 +0000
@@ -228,8 +228,10 @@ static rpmTagVal depevrtags[] = {
     RPMTAG_CONFLICTVERSION,
     RPMTAG_ORDERVERSION,
     RPMTAG_TRIGGERVERSION,
-    RPMTAG_SUGGESTSVERSION,
-    RPMTAG_ENHANCESVERSION,
+    RPMTAG_SUGGESTVERSION,
+    RPMTAG_ENHANCEVERSION,
+    RPMTAG_RECOMMENDVERSION,
+    RPMTAG_SUPPLEMENTVERSION,
     0
 };
 
--- ./build/parsePreamble.c.orig        2014-02-05 13:04:01.000000000 +0000
+++ ./build/parsePreamble.c     2014-02-20 14:47:48.108802710 +0000
@@ -785,6 +785,10 @@ static rpmRC handlePreambleTag(rpmSpec s
        }
        /* fallthrough */
     case RPMTAG_PREREQ:
+    case RPMTAG_RECOMMENDFLAGS:
+    case RPMTAG_SUGGESTFLAGS:
+    case RPMTAG_SUPPLEMENTFLAGS:
+    case RPMTAG_ENHANCEFLAGS:
     case RPMTAG_CONFLICTFLAGS:
     case RPMTAG_OBSOLETEFLAGS:
     case RPMTAG_PROVIDEFLAGS:
@@ -886,6 +890,10 @@ static struct PreambleRec_s const preamb
     {RPMTAG_ICON,              0, 0, LEN_AND_STR("icon")},
     {RPMTAG_PROVIDEFLAGS,      0, 0, LEN_AND_STR("provides")},
     {RPMTAG_REQUIREFLAGS,      2, 0, LEN_AND_STR("requires")},
+    {RPMTAG_RECOMMENDFLAGS,    0, 0, LEN_AND_STR("recommends")},
+    {RPMTAG_SUGGESTFLAGS,      0, 0, LEN_AND_STR("suggests")},
+    {RPMTAG_SUPPLEMENTFLAGS,   0, 0, LEN_AND_STR("supplements")},
+    {RPMTAG_ENHANCEFLAGS,      0, 0, LEN_AND_STR("enhances")},
     {RPMTAG_PREREQ,            2, 1, LEN_AND_STR("prereq")},
     {RPMTAG_CONFLICTFLAGS,     0, 0, LEN_AND_STR("conflicts")},
     {RPMTAG_OBSOLETEFLAGS,     0, 0, LEN_AND_STR("obsoletes")},
--- ./build/parseReqs.c.orig    2014-02-05 13:06:21.000000000 +0000
+++ ./build/parseReqs.c 2014-02-20 14:47:48.108802710 +0000
@@ -61,6 +61,18 @@ rpmRC parseRCPOT(rpmSpec spec, Package p
        nametag = RPMTAG_REQUIRENAME;
        tagflags |= RPMSENSE_ANY;
        break;
+    case RPMTAG_RECOMMENDFLAGS:
+       nametag = RPMTAG_RECOMMENDNAME;
+       break;
+    case RPMTAG_SUGGESTFLAGS:
+       nametag = RPMTAG_SUGGESTNAME;
+       break;
+    case RPMTAG_SUPPLEMENTFLAGS:
+       nametag = RPMTAG_SUPPLEMENTNAME;
+       break;
+    case RPMTAG_ENHANCEFLAGS:
+       nametag = RPMTAG_ENHANCENAME;
+       break;
     case RPMTAG_PROVIDEFLAGS:
        nametag = RPMTAG_PROVIDENAME;
        break;
--- ./build/parseSpec.c.orig    2014-02-05 13:04:01.000000000 +0000
+++ ./build/parseSpec.c 2014-02-20 14:47:48.108802710 +0000
@@ -102,11 +102,14 @@ static int matchTok(const char *token, c
     return rc;
 }
 
-void handleComments(char *s)
+int handleComments(char *s)
 {
     SKIPSPACE(s);
-    if (*s == '#')
+    if (*s == '#') {
        *s = '\0';
+       return 1;
+    }
+    return 0;
 }
 
 /* Push a file to spec's file stack, return the newly pushed entry */
--- ./build/reqprov.c.orig      2014-02-05 13:04:01.000000000 +0000
+++ ./build/reqprov.c   2014-02-20 14:47:48.108802710 +0000
@@ -81,6 +81,30 @@ int addReqProv(Package pkg, rpmTagVal ta
        extra = Flags & RPMSENSE_TRIGGER;
        dsp = &pkg->triggers;
        break;
+    case RPMTAG_RECOMMENDNAME:
+       versiontag = RPMTAG_RECOMMENDVERSION;
+       flagtag = RPMTAG_RECOMMENDFLAGS;
+       extra = Flags & _ALL_REQUIRES_MASK;
+       dsp = &pkg->recommends;
+       break;
+    case RPMTAG_SUGGESTNAME:
+       versiontag = RPMTAG_SUGGESTVERSION;
+       flagtag = RPMTAG_SUGGESTFLAGS;
+       extra = Flags & _ALL_REQUIRES_MASK;
+       dsp = &pkg->suggests;
+       break;
+    case RPMTAG_SUPPLEMENTNAME:
+       versiontag = RPMTAG_SUPPLEMENTVERSION;
+       flagtag = RPMTAG_SUPPLEMENTFLAGS;
+       extra = Flags & _ALL_REQUIRES_MASK;
+       dsp = &pkg->supplements;
+       break;
+    case RPMTAG_ENHANCENAME:
+       versiontag = RPMTAG_ENHANCEVERSION;
+       flagtag = RPMTAG_ENHANCEFLAGS;
+       extra = Flags & _ALL_REQUIRES_MASK;
+       dsp = &pkg->enhances;
+       break;
     case RPMTAG_REQUIRENAME:
     default:
        tagN = RPMTAG_REQUIRENAME;
--- ./build/rpmbuild_internal.h.orig    2014-02-05 13:04:01.000000000 +0000
+++ ./build/rpmbuild_internal.h 2014-02-20 14:47:48.109802710 +0000
@@ -93,6 +93,10 @@ struct Package_s {
     rpmds ds;                  /*!< Requires: N = EVR */
     rpmds requires;
     rpmds provides;
+    rpmds recommends;
+    rpmds suggests;
+    rpmds supplements;
+    rpmds enhances;
     rpmds conflicts;
     rpmds obsoletes;
     rpmds triggers;
--- ./build/rpmbuild_misc.h.orig        2014-02-05 13:04:01.000000000 +0000
+++ ./build/rpmbuild_misc.h     2014-02-20 14:47:48.109802710 +0000
@@ -12,9 +12,10 @@ extern "C" {
 /** \ingroup rpmbuild
  * Truncate comment lines.
  * @param s            skip white space, truncate line at '#'
+ * @return             1 on comment lines, 0 otherwise
  */
 RPM_GNUC_INTERNAL
-void handleComments(char * s);
+int handleComments(char * s);
 
 /** \ingroup rpmstring
  */
--- ./build/spec.c.orig 2014-02-05 13:04:01.000000000 +0000
+++ ./build/spec.c      2014-02-20 14:47:48.109802710 +0000
@@ -137,6 +137,11 @@ static Package freePackage(Package pkg)
     pkg->ds = rpmdsFree(pkg->ds);
     pkg->requires = rpmdsFree(pkg->requires);
     pkg->provides = rpmdsFree(pkg->provides);
+    pkg->recommends = rpmdsFree(pkg->recommends);
+    pkg->suggests = rpmdsFree(pkg->suggests);
+    pkg->supplements = rpmdsFree(pkg->supplements);
+    pkg->enhances = rpmdsFree(pkg->enhances);
+
     pkg->conflicts = rpmdsFree(pkg->conflicts);
     pkg->obsoletes = rpmdsFree(pkg->obsoletes);
     pkg->triggers = rpmdsFree(pkg->triggers);
--- ./lib/rpmds.c.orig  2014-02-05 13:04:02.000000000 +0000
+++ ./lib/rpmds.c       2014-02-20 14:47:48.110802710 +0000
@@ -54,6 +54,22 @@ static int dsType(rpmTagVal tag,
        t = "Requires";
        evr = RPMTAG_REQUIREVERSION;
        f = RPMTAG_REQUIREFLAGS;
+    } else if (tag == RPMTAG_SUPPLEMENTNAME) {
+       t = "Supplements";
+       evr = RPMTAG_SUPPLEMENTVERSION;
+       f = RPMTAG_SUPPLEMENTFLAGS;
+    } else if (tag == RPMTAG_ENHANCENAME) {
+       t = "Enhances";
+       evr = RPMTAG_ENHANCEVERSION;
+       f = RPMTAG_ENHANCEFLAGS;
+    } else if (tag == RPMTAG_RECOMMENDNAME) {
+       t = "Recommends";
+       evr = RPMTAG_RECOMMENDVERSION;
+       f = RPMTAG_RECOMMENDFLAGS;
+    } else if (tag == RPMTAG_SUGGESTNAME) {
+       t = "Suggests";
+       evr = RPMTAG_SUGGESTVERSION;
+       f = RPMTAG_SUGGESTFLAGS;
     } else if (tag == RPMTAG_CONFLICTNAME) {
        t = "Conflicts";
        evr = RPMTAG_CONFLICTVERSION;
--- ./lib/rpmtag.h.orig 2014-02-05 13:04:02.000000000 +0000
+++ ./lib/rpmtag.h      2014-02-20 14:47:48.110802710 +0000
@@ -217,14 +217,14 @@ typedef enum rpmTag_e {
     RPMTAG_PRETRANSPROG                = 1153, /* s[] */
     RPMTAG_POSTTRANSPROG       = 1154, /* s[] */
     RPMTAG_DISTTAG             = 1155, /* s */
-    RPMTAG_SUGGESTSNAME                = 1156, /* s[] extension 
(unimplemented) */
-#define        RPMTAG_SUGGESTS RPMTAG_SUGGESTSNAME     /* s[] (unimplemented) 
*/
-    RPMTAG_SUGGESTSVERSION     = 1157, /* s[] extension (unimplemented) */
-    RPMTAG_SUGGESTSFLAGS       = 1158, /* i[] extension (unimplemented) */
-    RPMTAG_ENHANCESNAME                = 1159, /* s[] extension placeholder 
(unimplemented) */
-#define        RPMTAG_ENHANCES RPMTAG_ENHANCESNAME     /* s[] (unimplemented) 
*/
-    RPMTAG_ENHANCESVERSION     = 1160, /* s[] extension placeholder 
(unimplemented) */
-    RPMTAG_ENHANCESFLAGS       = 1161, /* i[] extension placeholder 
(unimplemented) */
+    RPMTAG_OLDSUGGESTSNAME     = 1156, /* s[] (unimplemented) */
+#define        RPMTAG_OLDSUGGESTS RPMTAG_OLDSUGGESTSNAME /* s[] 
(unimplemented) */
+    RPMTAG_OLDSUGGESTSVERSION  = 1157, /* s[] (unimplemented) */
+    RPMTAG_OLDSUGGESTSFLAGS    = 1158, /* i[] (unimplemented) */
+    RPMTAG_OLDENHANCESNAME             = 1159, /* s[] (unimplemented) */
+#define        RPMTAG_OLDENHANCES RPMTAG_OLDENHANCESNAME /* s[] 
(unimplemented) */
+    RPMTAG_OLDENHANCESVERSION  = 1160, /* s[] (unimplemented) */
+    RPMTAG_OLDENHANCESFLAGS    = 1161, /* i[] (unimplemented) */
     RPMTAG_PRIORITY            = 1162, /* i[] extension placeholder 
(unimplemented) */
     RPMTAG_CVSID               = 1163, /* s (unimplemented) */
 #define        RPMTAG_SVNID    RPMTAG_CVSID    /* s (unimplemented) */
@@ -261,6 +261,7 @@ typedef enum rpmTag_e {
     RPMTAG_BUILDOBSOLETES      = 1194, /* internal (unimplemented) */
     RPMTAG_DBINSTANCE          = 1195, /* i extension */
     RPMTAG_NVRA                        = 1196, /* s extension */
+
     /* tags 1997-4999 reserved */
     RPMTAG_FILENAMES           = 5000, /* s[] extension */
     RPMTAG_FILEPROVIDE         = 5001, /* s[] extension */
@@ -307,6 +308,26 @@ typedef enum rpmTag_e {
     RPMTAG_OBSOLETENEVRS       = 5043, /* s[] extension */
     RPMTAG_CONFLICTNEVRS       = 5044, /* s[] extension */
     RPMTAG_FILENLINKS          = 5045, /* i[] extension */
+    RPMTAG_RECOMMENDNAME       = 5046, /* s[] */
+#define        RPMTAG_RECOMMENDS RPMTAG_RECOMMENDNAME  /* s[] */
+    RPMTAG_RECOMMENDVERSION    = 5047, /* s[] */
+    RPMTAG_RECOMMENDFLAGS      = 5048, /* i[] */
+    RPMTAG_SUGGESTNAME         = 5049, /* s[] */
+#define        RPMTAG_SUGGESTS RPMTAG_SUGGESTNAME      /* s[] */
+    RPMTAG_SUGGESTVERSION      = 5050, /* s[] extension */
+    RPMTAG_SUGGESTFLAGS                = 5051, /* i[] extension */
+    RPMTAG_SUPPLEMENTNAME      = 5052, /* s[] */
+#define        RPMTAG_SUPPLEMENTS RPMTAG_SUPPLEMENTNAME /* s[] */
+    RPMTAG_SUPPLEMENTVERSION   = 5053, /* s[] */
+    RPMTAG_SUPPLEMENTFLAGS     = 5054, /* i[] */
+    RPMTAG_ENHANCENAME         = 5055, /* s[] */
+#define        RPMTAG_ENHANCES RPMTAG_ENHANCENAME      /* s[] */
+    RPMTAG_ENHANCEVERSION      = 5056, /* s[] */
+    RPMTAG_ENHANCEFLAGS                = 5057, /* i[] */
+    RPMTAG_RECOMMENDNEVRS      = 5058, /* s[] extension */
+    RPMTAG_SUGGESTNEVRS                = 5059, /* s[] extension */
+    RPMTAG_SUPPLEMENTNEVRS     = 5060, /* s[] extension */
+    RPMTAG_ENHANCENEVRS                = 5061, /* s[] extension */
 
     RPMTAG_FIRSTFREE_TAG       /*!< internal */
 } rpmTag;
--- ./lib/tagexts.c.orig        2012-11-07 12:55:24.000000000 +0000
+++ ./lib/tagexts.c     2014-02-20 14:47:48.110802710 +0000
@@ -761,6 +761,26 @@ static int requirenevrsTag(Header h, rpm
     return depnevrsTag(h, td, hgflags, RPMTAG_REQUIRENAME);
 }
 
+static int recommendnevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
+{
+    return depnevrsTag(h, td, hgflags, RPMTAG_RECOMMENDNAME);
+}
+
+static int suggestnevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
+{
+    return depnevrsTag(h, td, hgflags, RPMTAG_SUGGESTNAME);
+}
+
+static int supplementnevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
+{
+    return depnevrsTag(h, td, hgflags, RPMTAG_SUPPLEMENTNAME);
+}
+
+static int enhancenevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
+{
+    return depnevrsTag(h, td, hgflags, RPMTAG_ENHANCENAME);
+}
+
 static int providenevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
 {
     return depnevrsTag(h, td, hgflags, RPMTAG_PROVIDENAME);
@@ -823,6 +843,10 @@ static const struct headerTagFunc_s rpmH
     { RPMTAG_EPOCHNUM,         epochnumTag },
     { RPMTAG_INSTFILENAMES,    instfilenamesTag },
     { RPMTAG_REQUIRENEVRS,     requirenevrsTag },
+    { RPMTAG_RECOMMENDNEVRS,   recommendnevrsTag},
+    { RPMTAG_SUGGESTNEVRS,     suggestnevrsTag},
+    { RPMTAG_SUPPLEMENTNEVRS,  supplementnevrsTag},
+    { RPMTAG_ENHANCENEVRS,     enhancenevrsTag},
     { RPMTAG_PROVIDENEVRS,     providenevrsTag },
     { RPMTAG_OBSOLETENEVRS,    obsoletenevrsTag },
     { RPMTAG_CONFLICTNEVRS,    conflictnevrsTag },
--- ./python/Makefile.am.orig   2014-02-05 13:04:02.000000000 +0000
+++ ./python/Makefile.am        2014-02-20 14:47:48.110802710 +0000
@@ -6,16 +6,16 @@ AM_CPPFLAGS = -I$(top_builddir)/include/
 AM_CPPFLAGS += -I$(top_srcdir)/python
 AM_CPPFLAGS += -I@WITH_PYTHON_INCLUDE@
 
-pkgpyexec_LTLIBRARIES = _rpmmodule.la _rpmbmodule.la _rpmsmodule.la
+pkgpyexec_LTLIBRARIES = _rpm.la _rpmb.la _rpms.la
 pkgpyexec_DATA = rpm/__init__.py rpm/transaction.py
 
-_rpmmodule_la_LDFLAGS = -module -avoid-version -shared
-_rpmmodule_la_LIBADD = \
+_rpm_la_LDFLAGS = -module -avoid-version -shared
+_rpm_la_LIBADD = \
        $(top_builddir)/lib/librpm.la \
        $(top_builddir)/rpmio/librpmio.la \
        @WITH_PYTHON_LIB@
 
-_rpmmodule_la_SOURCES = rpmmodule.c rpmsystem-py.h \
+_rpm_la_SOURCES = rpmmodule.c rpmsystem-py.h \
        header-py.c header-py.h \
        rpmds-py.c rpmds-py.h \
        rpmfd-py.c rpmfd-py.h \
@@ -30,22 +30,22 @@ _rpmmodule_la_SOURCES = rpmmodule.c rpms
        rpmte-py.c rpmte-py.h \
        rpmts-py.c rpmts-py.h
 
-_rpmbmodule_la_LDFLAGS = -module -avoid-version -shared
-_rpmbmodule_la_LIBADD = \
+_rpmb_la_LDFLAGS = -module -avoid-version -shared
+_rpmb_la_LIBADD = \
        $(top_builddir)/build/librpmbuild.la \
        $(top_builddir)/lib/librpm.la \
        $(top_builddir)/rpmio/librpmio.la \
        @WITH_PYTHON_LIB@
 
-_rpmbmodule_la_SOURCES = rpmbmodule.c rpmsystem-py.h \
+_rpmb_la_SOURCES = rpmbmodule.c rpmsystem-py.h \
        spec-py.c spec-py.h
 
-_rpmsmodule_la_LDFLAGS = -module -avoid-version -shared
-_rpmsmodule_la_LIBADD = \
+_rpms_la_LDFLAGS = -module -avoid-version -shared
+_rpms_la_LIBADD = \
         $(top_builddir)/sign/librpmsign.la \
         $(top_builddir)/lib/librpm.la \
         $(top_builddir)/rpmio/librpmio.la \
         @WITH_PYTHON_LIB@
 
-_rpmsmodule_la_SOURCES = rpmsmodule.c rpmsystem-py.h
+_rpms_la_SOURCES = rpmsmodule.c rpmsystem-py.h
 
--- ./python/rpmbmodule.c.orig  2012-11-07 12:55:24.000000000 +0000
+++ ./python/rpmbmodule.c       2014-02-20 14:47:48.110802710 +0000
@@ -66,8 +66,8 @@ static struct PyModuleDef moduledef = {
     NULL         /* m_free */
 };
 
-PyObject * PyInit__rpm(void);  /* XXX eliminate gcc warning */
-PyObject * PyInit__rpm(void)
+PyObject * PyInit__rpmb(void); /* XXX eliminate gcc warning */
+PyObject * PyInit__rpmb(void)
 {
     PyObject *m;
 
--- ./python/rpmii-py.c.orig    2012-11-07 12:55:24.000000000 +0000
+++ ./python/rpmii-py.c 2014-02-20 14:47:48.110802710 +0000
@@ -88,7 +88,9 @@ static PyNumberMethods rpmii_as_number =
        0, /* nb_add */
        0, /* nb_subtract */
        0, /* nb_multiply */
+#if PY_MAJOR_VERSION < 3
        0, /* nb_divide */
+#endif
        0, /* nb_remainder */
        0, /* nb_divmod */
        0, /* nb_power */
--- ./python/rpmmi-py.c.orig    2012-11-07 12:55:24.000000000 +0000
+++ ./python/rpmmi-py.c 2014-02-20 14:47:48.110802710 +0000
@@ -149,7 +149,9 @@ static PyNumberMethods rpmmi_as_number =
        0, /* nb_add */
        0, /* nb_subtract */
        0, /* nb_multiply */
+#if PY_MAJOR_VERSION < 3
        0, /* nb_divide */
+#endif
        0, /* nb_remainder */
        0, /* nb_divmod */
        0, /* nb_power */
--- ./python/rpmsmodule.c.orig  2012-11-07 12:55:24.000000000 +0000
+++ ./python/rpmsmodule.c       2014-02-20 14:47:48.110802710 +0000
@@ -59,15 +59,15 @@ static struct PyModuleDef moduledef = {
     "_rpms",     /* m_name */
     rpms__doc__, /* m_doc */
     0,           /* m_size */
-    NULL,        /* m_methods */
+    modMethods,  /* m_methods */
     NULL,        /* m_reload */
     NULL,        /* m_traverse */
     NULL,        /* m_clear */
     NULL         /* m_free */
 };
 
-PyObject * PyInit__rpm(void);  /* XXX eliminate gcc warning */
-PyObject * PyInit__rpm(void)
+PyObject * PyInit__rpms(void); /* XXX eliminate gcc warning */
+PyObject * PyInit__rpms(void)
 {
     PyObject *m;
 
--- ./python/rpmsystem-py.h.orig        2012-11-07 12:55:24.000000000 +0000
+++ ./python/rpmsystem-py.h     2014-02-20 14:47:48.110802710 +0000
@@ -48,6 +48,7 @@ typedef Py_ssize_t (*lenfunc)(PyObject *
 #define PyInt_FromLong PyLong_FromLong
 #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
 #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
+#define PyInt_AsSsize_t PyLong_AsSsize_t
 #endif
 
 #endif /* H_SYSTEM_PYTHON */
--- ./rpmio/digest.c.orig       2012-11-07 12:55:24.000000000 +0000
+++ ./rpmio/digest.c    2014-02-20 14:47:48.110802710 +0000
@@ -8,7 +8,7 @@
 
 #include "debug.h"
 
-#define DIGESTS_MAX 11
+#define DIGESTS_MAX 12
 struct rpmDigestBundle_s {
     int index_min;                     /*!< Smallest index of active digest */
     int index_max;                     /*!< Largest index of active digest */
--- ./rpmpopt.in.orig   2014-02-05 13:04:02.000000000 +0000
+++ ./rpmpopt.in        2014-02-20 14:47:48.110802710 +0000
@@ -67,6 +67,19 @@ rpm  alias --requires        --qf \
        --POPTdesc=$"list capabilities required by package(s)"
 rpm    alias -R --requires
 
+rpm    alias --recommends      --qf \
+  "[%|VERBOSE?{%{RECOMMENDFLAGS:deptype}: }:{}|%{RECOMMENDNEVRS}\n]" \
+       --POPTdesc=$"list capabilities recommended by package(s)"
+rpm    alias --suggests        --qf \
+  "[%|VERBOSE?{%{SUGGESTFLAGS:deptype}: }:{}|%{SUGGESTNEVRS}\n]" \
+       --POPTdesc=$"list capabilities suggested by package(s)"
+rpm    alias --supplements     --qf \
+  "[%|VERBOSE?{%{SUPPLEMENTFLAGS:deptype}: }:{}|%{SUPPLEMENTNEVRS}\n]" \
+       --POPTdesc=$"list capabilities supplemented by package(s)"
+rpm    alias --enhances        --qf \
+  "[%|VERBOSE?{%{ENHANCEFLAGS:deptype}: }:{}|%{ENHANCENEVRS}\n]" \
+       --POPTdesc=$"list capabilities enhanced by package(s)"
+
 rpm    alias --info --qf '\
 Name        : %{NAME}\n\
 %|EPOCH?{Epoch       : %{EPOCH}\n}|\
--- ./tests/data/SPECS/deptest.spec.orig        2014-02-05 13:04:02.000000000 
+0000
+++ ./tests/data/SPECS/deptest.spec     2014-02-20 14:47:48.110802710 +0000
@@ -10,6 +10,10 @@ BuildArch:   noarch
 %{?provs:Provides: %{provs}}
 %{?cfls:Conflicts: %{cfls}}
 %{?obs:Obsoletes: %{obs}}
+%{?recs:Recommends: %{recs}}
+%{?sugs:Suggests: %{sugs}}
+%{?sups:Supplements: %{sups}}
+%{?ens:Enhances: %{ens}}
 
 %description
 %{summary}
--- ./tests/rpmbuild.at.orig    2014-02-05 13:04:02.000000000 +0000
+++ ./tests/rpmbuild.at 2014-02-20 14:47:48.110802710 +0000
@@ -185,3 +185,31 @@ lrwxrwxrwx /opt/globtest/linkgood
 ],
 [])
 AT_CLEANUP
+
+# ------------------------------
+# Check if weak and reverse requires can be built
+AT_SETUP([Weak and reverse requires])
+AT_KEYWORDS([build])
+AT_CHECK([
+
+runroot rpmbuild -bb --quiet \
+       --define "pkg weakdeps" \
+       --define "recs foo > 1.2.3" \
+       --define "sugs bar >= 0.1.2" \
+       --define "sups baz" \
+       --define "ens zap = 3" \
+         /data/SPECS/deptest.spec
+
+runroot rpm -qp --recommends 
/build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
+runroot rpm -qp --suggests /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
+runroot rpm -qp --supplements 
/build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
+runroot rpm -qp --enhances /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
+],
+[0],
+[foo > 1.2.3
+bar >= 0.1.2
+baz
+zap = 3
+],
+[ignore])
+AT_CLEANUP
--- ./tests/rpmdb.at.orig       2014-02-05 13:04:02.000000000 +0000
+++ ./tests/rpmdb.at    2014-02-20 14:47:48.111802710 +0000
@@ -103,7 +103,7 @@ AT_CLEANUP
 
 # ------------------------------
 # reinstall a noarch package (with no files)
-AT_SETUP([rpm -U --replacepkgs])
+AT_SETUP([rpm -U --replacepkgs 1])
 AT_KEYWORDS([rpmdb install])
 
 AT_CHECK([
@@ -124,6 +124,28 @@ runroot rpm -i "${tpkg}" &&
 AT_CLEANUP
 
 # ------------------------------
+# reinstall a package with different file policies
+AT_SETUP([rpm -U --replacepkgs 2])
+AT_KEYWORDS([rpmdb install])
+
+AT_CHECK([
+AT_XFAIL_IF([test $RPM_XFAIL -ne 0])
+RPMDB_CLEAR
+RPMDB_INIT
+
+tpkg="/data/RPMS/hello-2.0-1.i686.rpm"
+
+runroot rpm -U --nodeps --ignorearch "${tpkg}" && 
+  runroot rpm -U --nodeps --ignorearch --nodocs --replacepkgs "${tpkg}" &&
+  runroot rpm -e hello
+test -d "${RPMTEST}"/usr/share/doc/hello-2.0
+],
+[1],
+[],
+[])
+
+AT_CLEANUP
+# ------------------------------
 # install a package into a local rpmdb
 # * Shall only work with relocation
 # * Use --ignorearch because we don't know the arch
--- ./tests/rpmgeneral.at.orig  2012-11-07 12:55:24.000000000 +0000
+++ ./tests/rpmgeneral.at       2014-02-20 14:47:48.111802710 +0000
@@ -79,6 +79,11 @@ DISTTAG
 DISTURL
 DSAHEADER
 E
+ENHANCEFLAGS
+ENHANCENAME
+ENHANCENEVRS
+ENHANCES
+ENHANCEVERSION
 EPOCH
 EPOCHNUM
 EVR
@@ -199,6 +204,11 @@ PROVIDES
 PROVIDEVERSION
 PUBKEYS
 R
+RECOMMENDFLAGS
+RECOMMENDNAME
+RECOMMENDNEVRS
+RECOMMENDS
+RECOMMENDVERSION
 RECONTEXTS
 RELEASE
 REMOVETID
@@ -219,7 +229,17 @@ SOURCE
 SOURCEPACKAGE
 SOURCEPKGID
 SOURCERPM
+SUGGESTFLAGS
+SUGGESTNAME
+SUGGESTNEVRS
+SUGGESTS
+SUGGESTVERSION
 SUMMARY
+SUPPLEMENTFLAGS
+SUPPLEMENTNAME
+SUPPLEMENTNEVRS
+SUPPLEMENTS
+SUPPLEMENTVERSION
 TRIGGERCONDS
 TRIGGERFLAGS
 TRIGGERINDEX
++++++ noprereqdeprec.diff ++++++
--- /var/tmp/diff_new_pack.pc7JGa/_old  2014-02-28 16:22:21.000000000 +0100
+++ /var/tmp/diff_new_pack.pc7JGa/_new  2014-02-28 16:22:21.000000000 +0100
@@ -1,17 +1,15 @@
-Not deprecated for SUSE builds.
-
---- ./build/parsePreamble.c.orig       2011-05-11 15:59:08.000000000 +0000
-+++ ./build/parsePreamble.c    2011-05-11 16:35:47.000000000 +0000
-@@ -891,7 +891,7 @@ static struct PreambleRec_s const preamb
-     {RPMTAG_ICON,             0, 0, LEN_AND_STR("icon")},
-     {RPMTAG_PROVIDEFLAGS,     0, 0, LEN_AND_STR("provides")},
-     {RPMTAG_REQUIREFLAGS,     2, 0, LEN_AND_STR("requires")},
+--- ./build/parsePreamble.c.orig       2014-02-20 14:51:56.798802270 +0000
++++ ./build/parsePreamble.c    2014-02-20 14:53:27.617802110 +0000
+@@ -895,7 +895,7 @@ static struct PreambleRec_s const preamb
+     {RPMTAG_SUGGESTFLAGS,     0, 0, LEN_AND_STR("suggests")},
+     {RPMTAG_SUPPLEMENTFLAGS,  0, 0, LEN_AND_STR("supplements")},
+     {RPMTAG_ENHANCEFLAGS,     0, 0, LEN_AND_STR("enhances")},
 -    {RPMTAG_PREREQ,           2, 1, LEN_AND_STR("prereq")},
 +    {RPMTAG_PREREQ,           2, 0, LEN_AND_STR("prereq")},
      {RPMTAG_CONFLICTFLAGS,    0, 0, LEN_AND_STR("conflicts")},
      {RPMTAG_OBSOLETEFLAGS,    0, 0, LEN_AND_STR("obsoletes")},
      {RPMTAG_PREFIXES,         0, 0, LEN_AND_STR("prefixes")},
-@@ -900,7 +900,7 @@ static struct PreambleRec_s const preamb
+@@ -904,7 +904,7 @@ static struct PreambleRec_s const preamb
      {RPMTAG_BUILDARCHS,               0, 0, 
LEN_AND_STR("buildarchitectures")},
      {RPMTAG_BUILDARCHS,               0, 0, LEN_AND_STR("buildarch")},
      {RPMTAG_BUILDCONFLICTS,   0, 0, LEN_AND_STR("buildconflicts")},

++++++ rpm-4.11.1.tar.bz2 -> rpm-4.11.2.tar.bz2 ++++++
++++ 82003 lines of diff (skipped)

++++++ rpmrc.diff ++++++
--- /var/tmp/diff_new_pack.pc7JGa/_old  2014-02-28 16:22:23.000000000 +0100
+++ /var/tmp/diff_new_pack.pc7JGa/_new  2014-02-28 16:22:23.000000000 +0100
@@ -1,5 +1,5 @@
---- ./rpmrc.in.orig    2013-06-10 15:55:10.000000000 +0000
-+++ ./rpmrc.in 2013-07-12 11:56:53.000000000 +0000
+--- ./rpmrc.in.orig    2014-02-05 13:04:02.000000000 +0000
++++ ./rpmrc.in 2014-02-20 12:48:24.342815390 +0000
 @@ -12,16 +12,16 @@
  # "fat" binary with both archs, for Darwin
  optflags: fat -O2 -g -arch i386 -arch ppc
@@ -26,7 +26,7 @@
  optflags: amd64 -O2 -g
  optflags: ia32e -O2 -g
  
-@@ -41,16 +41,17 @@ optflags: sparc64v -O2 -g -m64 -mtune=ni
+@@ -41,17 +41,18 @@ optflags: sparc64v -O2 -g -m64 -mtune=ni
  
  optflags: m68k -O2 -g -fomit-frame-pointer
  
@@ -37,6 +37,7 @@
 -optflags: ppciseries -O2 -g -fsigned-char
 -optflags: ppcpseries -O2 -g -fsigned-char
 -optflags: ppc64 -O2 -g -fsigned-char
+-optflags: ppc64le -O2 -g -fsigned-char
 -optflags: ppc64p7 -O3 -mtune=power7 -mcpu=power7 -g -fsigned-char
 +optflags: ppc -O2 -g -m32 -fmessage-length=0 -D_FORTIFY_SOURCE=2 
-fstack-protector -funwind-tables -fasynchronous-unwind-tables
 +optflags: ppc8260 -O2 -g -m32
@@ -45,6 +46,7 @@
 +optflags: ppciseries -O2 -g -m32
 +optflags: ppcpseries -O2 -g -m32
 +optflags: ppc64 -O2 -g -fmessage-length=0 -D_FORTIFY_SOURCE=2 
-fstack-protector -funwind-tables -fasynchronous-unwind-tables
++optflags: ppc64le -O2 -g -fmessage-length=0 -D_FORTIFY_SOURCE=2 
-fstack-protector -funwind-tables -fasynchronous-unwind-tables
 +optflags: ppc64p7 -O3 -mtune=power7 -mcpu=power7 -g -fmessage-length=0 
-D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables 
-fasynchronous-unwind-tables
  
  optflags: parisc -O2 -g -mpa-risc-1-0
@@ -52,7 +54,7 @@
  optflags: hppa1.0 -O2 -g -mpa-risc-1-0
  optflags: hppa1.1 -O2 -g -mpa-risc-1-0
  optflags: hppa1.2 -O2 -g -mpa-risc-1-0
-@@ -66,7 +67,9 @@ optflags: armv4tl -O2 -g -march=armv4t
+@@ -67,7 +68,9 @@ optflags: armv4tl -O2 -g -march=armv4t
  optflags: armv5tel -O2 -g -march=armv5te
  optflags: armv5tejl -O2 -g -march=armv5te
  optflags: armv6l -O2 -g -march=armv6
@@ -62,7 +64,7 @@
  
  optflags: atarist -O2 -g -fomit-frame-pointer
  optflags: atariste -O2 -g -fomit-frame-pointer
-@@ -76,8 +79,8 @@ optflags: atariclone -O2 -g -fomit-frame
+@@ -77,8 +80,8 @@ optflags: atariclone -O2 -g -fomit-frame
  optflags: milan -O2 -g -fomit-frame-pointer
  optflags: hades -O2 -g -fomit-frame-pointer
  
@@ -73,7 +75,7 @@
  
  optflags: sh3 -O2 -g
  optflags: sh4 -O2 -g -mieee
-@@ -178,7 +181,9 @@ arch_canon:     armv4l:    armv4l  12
+@@ -180,7 +183,9 @@ arch_canon:     armv4l:    armv4l  12
  arch_canon:     armv5tel: armv5tel    12
  arch_canon:     armv5tejl: armv5tejl  12
  arch_canon:     armv6l: armv6l        12
@@ -83,7 +85,7 @@
  
  arch_canon:   m68kmint: m68kmint      13
  arch_canon:   atarist: m68kmint       13
-@@ -241,17 +246,17 @@ os_canon:       MacOSX: macosx   21
+@@ -244,17 +249,17 @@ os_canon:       MacOSX: macosx   21
  #############################################################
  # For a given uname().machine, the default build arch
  
@@ -109,15 +111,7 @@
  buildarchtranslate: i486: i386
  buildarchtranslate: i386: i386
  
-@@ -281,6 +286,7 @@ buildarchtranslate: ppcpseries: ppc
- buildarchtranslate: ppc64iseries: ppc64
- buildarchtranslate: ppc64pseries: ppc64
- buildarchtranslate: ppc64p7: ppc64
-+buildarchtranslate: powerpc64: ppc64
- 
- buildarchtranslate: armv3l: armv3l
- buildarchtranslate: armv4b: armv4b
-@@ -289,7 +295,9 @@ buildarchtranslate: armv4tl: armv4tl
+@@ -293,7 +298,9 @@ buildarchtranslate: armv4tl: armv4tl
  buildarchtranslate: armv5tel: armv5tel
  buildarchtranslate: armv5tejl: armv5tejl
  buildarchtranslate: armv6l: armv6l
@@ -127,7 +121,7 @@
  
  buildarchtranslate: atarist: m68kmint
  buildarchtranslate: atariste: m68kmint
-@@ -314,6 +322,15 @@ buildarchtranslate: sh4a: sh4
+@@ -318,6 +325,15 @@ buildarchtranslate: sh4a: sh4
  
  buildarchtranslate: aarch64: aarch64
  
@@ -143,7 +137,7 @@
  #############################################################
  # Architecture compatibility
  
-@@ -370,14 +387,20 @@ arch_compat: mipsel: noarch
+@@ -375,14 +391,20 @@ arch_compat: mipsel: noarch
  arch_compat: hppa2.0: hppa1.2
  arch_compat: hppa1.2: hppa1.1
  arch_compat: hppa1.1: hppa1.0
@@ -166,7 +160,7 @@
  arch_compat: armv4tl: armv4l
  arch_compat: armv4l: armv3l
  arch_compat: armv3l: noarch
-@@ -394,7 +417,7 @@ arch_compat: i370: noarch
+@@ -399,7 +421,7 @@ arch_compat: i370: noarch
  arch_compat: s390: noarch
  arch_compat: s390x: s390 noarch
  
@@ -175,7 +169,13 @@
  
  arch_compat: x86_64: amd64 em64t athlon noarch
  arch_compat: amd64: x86_64 em64t athlon noarch
-@@ -483,7 +506,9 @@ buildarch_compat: mips: noarch
+@@ -484,12 +506,15 @@ buildarch_compat: ppc64le: noarch fat
+ buildarch_compat: ppc64pseries: ppc64
+ buildarch_compat: ppc64iseries: ppc64
+ buildarch_compat: ppc64p7: ppc64
++buildarchtranslate: powerpc64: ppc64
+ 
+ buildarch_compat: mips: noarch
  buildarch_compat: mipsel: noarch
  
  buildarch_compat: armv4b: noarch
@@ -185,7 +185,7 @@
  buildarch_compat: armv6l: armv5tejl
  buildarch_compat: armv5tejl: armv5tel
  buildarch_compat: armv5tel: armv4tl
-@@ -494,7 +519,8 @@ buildarch_compat: armv3l: noarch
+@@ -500,7 +525,8 @@ buildarch_compat: armv3l: noarch
  buildarch_compat: hppa2.0: hppa1.2
  buildarch_compat: hppa1.2: hppa1.1
  buildarch_compat: hppa1.1: hppa1.0

++++++ safeugid.diff ++++++
--- /var/tmp/diff_new_pack.pc7JGa/_old  2014-02-28 16:22:23.000000000 +0100
+++ /var/tmp/diff_new_pack.pc7JGa/_new  2014-02-28 16:22:23.000000000 +0100
@@ -1,7 +1,5 @@
-Work around glibc/nscd caching problems when doing 'rpm --root'.
-
---- ./lib/rpmchroot.c.orig     2011-05-12 08:26:10.000000000 +0000
-+++ ./lib/rpmchroot.c  2011-05-12 08:28:32.000000000 +0000
+--- ./lib/rpmchroot.c.orig     2012-11-07 12:55:24.000000000 +0000
++++ ./lib/rpmchroot.c  2014-02-20 12:50:05.360815211 +0000
 @@ -66,6 +66,7 @@ int rpmChrootIn(void)
      } else if (rootState.chrootDone == 0) {
        if (chdir("/") == 0 && chroot(rootState.rootDir) == 0) {
@@ -18,11 +16,11 @@
        } else {
            rpmlog(RPMLOG_ERR, _("Unable to restore root directory: %m\n"));
            rc = -1;
---- ./lib/rpmug.c.orig 2011-05-12 08:13:52.000000000 +0000
-+++ ./lib/rpmug.c      2011-05-12 08:33:28.000000000 +0000
-@@ -35,6 +35,47 @@ const char * rpmugStashStr(const char *s
-     return ret;
- }
+--- ./lib/rpmug.c.orig 2014-02-05 13:04:37.000000000 +0000
++++ ./lib/rpmug.c      2014-02-20 12:50:05.361815211 +0000
+@@ -10,6 +10,47 @@
+ #include "lib/rpmug.h"
+ #include "debug.h"
  
 +#if defined(__GLIBC__)
 +
@@ -68,7 +66,7 @@
  /* 
   * These really ought to use hash tables. I just made the
   * guess that most files would be owned by root or the same person/group
-@@ -68,17 +109,28 @@ int rpmugUid(const char * thisUname, uid
+@@ -43,17 +84,28 @@ int rpmugUid(const char * thisUname, uid
            lastUnameAlloced = thisUnameLen + 10;
            lastUname = xrealloc(lastUname, lastUnameAlloced);  /* XXX memory 
leak */
        }
@@ -104,7 +102,7 @@
      }
  
      *uid = lastUid;
-@@ -111,18 +163,29 @@ int rpmugGid(const char * thisGname, gid
+@@ -86,18 +138,29 @@ int rpmugGid(const char * thisGname, gid
            lastGnameAlloced = thisGnameLen + 10;
            lastGname = xrealloc(lastGname, lastGnameAlloced);  /* XXX memory 
leak */
        }
@@ -141,7 +139,7 @@
      }
  
      *gid = lastGid;
-@@ -134,7 +197,7 @@ const char * rpmugUname(uid_t uid)
+@@ -109,7 +172,7 @@ const char * rpmugUname(uid_t uid)
  {
      static uid_t lastUid = (uid_t) -1;
      static char * lastUname = NULL;
@@ -150,7 +148,7 @@
  
      if (uid == (uid_t) -1) {
        lastUid = (uid_t) -1;
-@@ -151,9 +214,9 @@ const char * rpmugUname(uid_t uid)
+@@ -126,9 +189,9 @@ const char * rpmugUname(uid_t uid)
  
        lastUid = uid;
        len = strlen(pwent->pw_name);
@@ -163,7 +161,7 @@
        }
        strcpy(lastUname, pwent->pw_name);
  
-@@ -165,7 +228,7 @@ const char * rpmugGname(gid_t gid)
+@@ -140,7 +203,7 @@ const char * rpmugGname(gid_t gid)
  {
      static gid_t lastGid = (gid_t) -1;
      static char * lastGname = NULL;
@@ -172,7 +170,7 @@
  
      if (gid == (gid_t) -1) {
        lastGid = (gid_t) -1;
-@@ -182,9 +245,9 @@ const char * rpmugGname(gid_t gid)
+@@ -157,9 +220,9 @@ const char * rpmugGname(gid_t gid)
  
        lastGid = gid;
        len = strlen(grent->gr_name);
@@ -185,9 +183,9 @@
        }
        strcpy(lastGname, grent->gr_name);
  
-@@ -200,3 +263,16 @@ void rpmugFree(void)
+@@ -189,3 +252,16 @@ void rpmugFree(void)
+     rpmugUname(-1);
      rpmugGname(-1);
-     strStash = strCacheFree(strStash);
  }
 +
 +void rpmugChroot(int in)
@@ -202,9 +200,9 @@
 +    inchroot = in;
 +#endif
 +}
---- ./lib/rpmug.h.orig 2011-05-12 08:13:52.000000000 +0000
-+++ ./lib/rpmug.h      2011-05-12 08:26:56.000000000 +0000
-@@ -15,4 +15,6 @@ const char * rpmugGname(gid_t gid);
+--- ./lib/rpmug.h.orig 2014-02-05 13:04:02.000000000 +0000
++++ ./lib/rpmug.h      2014-02-20 12:50:05.362815211 +0000
+@@ -15,4 +15,6 @@ int rpmugInit(void);
  
  void rpmugFree(void);
  

++++++ weakdepscompat.diff ++++++
--- ./build/parsePreamble.c.orig        2014-02-25 14:14:15.892041649 +0000
+++ ./build/parsePreamble.c     2014-02-25 14:14:26.237041631 +0000
@@ -343,6 +343,7 @@ static struct tokenBits_s const installS
     { "verify",                RPMSENSE_SCRIPT_VERIFY },
     { "pretrans",      RPMSENSE_PRETRANS },
     { "posttrans",     RPMSENSE_POSTTRANS },
+    { "hint",          RPMSENSE_MISSINGOK },
     { NULL, 0 }
 };
 
--- ./build/rpmfc.c.orig        2014-02-25 14:14:15.904041649 +0000
+++ ./build/rpmfc.c     2014-02-25 14:14:26.238041631 +0000
@@ -1156,6 +1156,12 @@ static struct DepMsg_s depMsgs[] = {
   { "Obsoletes",       { "%{?__find_obsoletes}", NULL, NULL, NULL },
        RPMTAG_OBSOLETENAME, RPMTAG_OBSOLETEVERSION, RPMTAG_OBSOLETEFLAGS,
        0, -1 },
+  { "Enhances",                { "%{?__find_enhances}", NULL, NULL, NULL },
+       RPMTAG_ENHANCENAME, RPMTAG_ENHANCEVERSION, RPMTAG_ENHANCEFLAGS,
+       0, -1 },
+  { "Supplements",     { "%{?__find_supplements}", NULL, NULL, NULL },
+       RPMTAG_SUPPLEMENTNAME, RPMTAG_SUPPLEMENTVERSION, RPMTAG_SUPPLEMENTFLAGS,
+       0, -1 },
   { NULL,              { NULL, NULL, NULL, NULL },     0, 0, 0, 0, 0 }
 };
 
@@ -1231,6 +1237,16 @@ static rpmRC rpmfcGenerateDependsHelper(
            if (!pkg->autoReq)
                continue;
            tagflags = RPMSENSE_FIND_REQUIRES;
+           break;
+       case RPMTAG_ENHANCENAME:
+           if (!pkg->autoReq)
+               continue;
+           tagflags = RPMSENSE_FIND_REQUIRES;
+           break;
+       case RPMTAG_SUPPLEMENTNAME:
+           if (!pkg->autoReq)
+               continue;
+           tagflags = RPMSENSE_FIND_REQUIRES;
            break;
        default:
            continue;
--- ./lib/rpmds.c.orig  2014-02-25 14:14:15.834041649 +0000
+++ ./lib/rpmds.c       2014-02-25 14:14:47.963041593 +0000
@@ -86,6 +86,14 @@ static int dsType(rpmTagVal tag,
        t = "Trigger";
        evr = RPMTAG_TRIGGERVERSION;
        f = RPMTAG_TRIGGERFLAGS;
+    } else if (tag == RPMTAG_OLDSUGGESTSNAME) {
+       t = "Oldsuggests";
+       evr = RPMTAG_OLDSUGGESTSVERSION;
+       f = RPMTAG_OLDSUGGESTSFLAGS;
+    } else if (tag == RPMTAG_OLDENHANCESNAME) {
+       t = "Oldenhances";
+       evr = RPMTAG_OLDENHANCESVERSION;
+       f = RPMTAG_OLDENHANCESFLAGS;
     } else {
        rc = 1;
     } 
--- ./lib/tagexts.c.orig        2014-02-25 14:14:15.839041649 +0000
+++ ./lib/tagexts.c     2014-02-25 14:18:53.707041158 +0000
@@ -906,6 +906,34 @@ static int depnevrsTag(Header h, rpmtd t
     return (ndeps > 0);
 }
 
+#define RPMSENSE_STRONG (1 << 27)
+
+static int depnevrsTagFiltered(Header h, rpmtd td, headerGetFlags hgflags,
+                       rpmTagVal tag, int strong)
+{
+    rpmds ds = rpmdsNew(h, tag, 0);
+    int ndeps = rpmdsCount(ds);
+
+    if (ndeps > 0) {
+       char **deps = xmalloc(sizeof(*deps) * ndeps);
+       ndeps = 0;
+       while (rpmdsNext(ds) >= 0) {
+           if ((rpmdsFlags(ds) & RPMSENSE_STRONG) == (strong ? RPMSENSE_STRONG 
: 0))
+               deps[ndeps++] = rpmdsNewDNEVR(NULL, ds);
+       }
+       if (ndeps) {
+           td->data = deps;
+           td->type = RPM_STRING_ARRAY_TYPE;
+           td->count = ndeps;
+           td->flags |= (RPMTD_ALLOCED | RPMTD_PTR_ALLOCED);
+       } else {
+           _free(deps);
+        }
+    }
+    rpmdsFree(ds);
+    return (ndeps > 0);
+}
+
 static int requirenevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
 {
     return depnevrsTag(h, td, hgflags, RPMTAG_REQUIRENAME);
@@ -913,22 +941,26 @@ static int requirenevrsTag(Header h, rpm
 
 static int recommendnevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
 {
-    return depnevrsTag(h, td, hgflags, RPMTAG_RECOMMENDNAME);
+    return depnevrsTag(h, td, hgflags, RPMTAG_RECOMMENDNAME) ||
+           depnevrsTagFiltered(h, td, hgflags, RPMTAG_OLDSUGGESTSNAME, 1);
 }
 
 static int suggestnevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
 {
-    return depnevrsTag(h, td, hgflags, RPMTAG_SUGGESTNAME);
+    return depnevrsTag(h, td, hgflags, RPMTAG_SUGGESTNAME) ||
+           depnevrsTagFiltered(h, td, hgflags, RPMTAG_OLDSUGGESTSNAME, 0);
 }
 
 static int supplementnevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
 {
-    return depnevrsTag(h, td, hgflags, RPMTAG_SUPPLEMENTNAME);
+    return depnevrsTag(h, td, hgflags, RPMTAG_SUPPLEMENTNAME) ||
+           depnevrsTagFiltered(h, td, hgflags, RPMTAG_OLDENHANCESNAME, 1);
 }
 
 static int enhancenevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
 {
-    return depnevrsTag(h, td, hgflags, RPMTAG_ENHANCENAME);
+    return depnevrsTag(h, td, hgflags, RPMTAG_ENHANCENAME) ||
+           depnevrsTagFiltered(h, td, hgflags, RPMTAG_OLDENHANCESNAME, 0);
 }
 
 static int providenevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to