Hello community,

here is the log from the commit of package libsolv for openSUSE:Factory checked 
in at 2015-05-07 08:28:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libsolv (Old)
 and      /work/SRC/openSUSE:Factory/.libsolv.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libsolv"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libsolv/libsolv.changes  2015-04-02 
16:02:02.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libsolv.new/libsolv.changes     2015-05-07 
08:28:10.000000000 +0200
@@ -1,0 +2,5 @@
+Sat May  2 11:44:08 UTC 2015 - mrueck...@suse.de
+
+- you really want to use rbconfig there
+
+-------------------------------------------------------------------

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

Other differences:
------------------
++++++ libsolv.spec ++++++
--- /var/tmp/diff_new_pack.SWI6lP/_old  2015-05-07 08:28:10.000000000 +0200
+++ /var/tmp/diff_new_pack.SWI6lP/_new  2015-05-07 08:28:10.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package libsolv
 #
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -65,7 +65,7 @@
 BuildRequires:  swig
 %endif
 %if %{with ruby_binding}
-%global ruby_vendorarch %(ruby  -r rbconfig -e "puts 
Config::CONFIG['vendorarchdir'].nil? ? Config::CONFIG['sitearchdir'] : 
Config::CONFIG['vendorarchdir']")
+%global ruby_vendorarch %(ruby  -r rbconfig -e "puts 
RbConfig::CONFIG['vendorarchdir'].nil? ? RbConfig::CONFIG['sitearchdir'] : 
RbConfig::CONFIG['vendorarchdir']")
 BuildRequires:  ruby
 BuildRequires:  ruby-devel
 BuildRequires:  swig

++++++ libsolv-0.6.10.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.6.10/bindings/solv.i 
new/libsolv-0.6.10/bindings/solv.i
--- old/libsolv-0.6.10/bindings/solv.i  2015-03-04 13:30:37.000000000 +0100
+++ new/libsolv-0.6.10/bindings/solv.i  2015-04-07 16:36:13.000000000 +0200
@@ -2801,6 +2801,7 @@
   static const int SOLVER_FLAG_BREAK_ORPHANS = SOLVER_FLAG_BREAK_ORPHANS;
   static const int SOLVER_FLAG_FOCUS_INSTALLED = SOLVER_FLAG_FOCUS_INSTALLED;
   static const int SOLVER_FLAG_YUM_OBSOLETES = SOLVER_FLAG_YUM_OBSOLETES;
+  static const int SOLVER_FLAG_NEED_UPDATEPROVIDE = 
SOLVER_FLAG_NEED_UPDATEPROVIDE;
 
   static const int SOLVER_REASON_UNRELATED = SOLVER_REASON_UNRELATED;
   static const int SOLVER_REASON_UNIT_RULE = SOLVER_REASON_UNIT_RULE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.6.10/cmake/modules/FindRuby.cmake 
new/libsolv-0.6.10/cmake/modules/FindRuby.cmake
--- old/libsolv-0.6.10/cmake/modules/FindRuby.cmake     2014-07-01 
11:09:49.000000000 +0200
+++ new/libsolv-0.6.10/cmake/modules/FindRuby.cmake     2015-05-05 
17:40:56.000000000 +0200
@@ -112,7 +112,7 @@
    _RUBY_CONFIG_VAR("sitelibdir" RUBY_SITELIB_DIR)
 
    # vendor_ruby available ?
-   EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print 'true' 
unless Config::CONFIG['vendorarchdir'].nil?"
+   EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print 'true' 
unless RbConfig::CONFIG['vendorarchdir'].nil?"
       OUTPUT_VARIABLE RUBY_HAS_VENDOR_RUBY  ERROR_QUIET)
 
    IF(RUBY_HAS_VENDOR_RUBY)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.6.10/ext/testcase.c 
new/libsolv-0.6.10/ext/testcase.c
--- old/libsolv-0.6.10/ext/testcase.c   2015-03-23 15:16:12.000000000 +0100
+++ new/libsolv-0.6.10/ext/testcase.c   2015-04-07 16:36:13.000000000 +0200
@@ -109,6 +109,7 @@
   { SOLVER_FLAG_BREAK_ORPHANS,              "breakorphans", 0 },
   { SOLVER_FLAG_FOCUS_INSTALLED,            "focusinstalled", 0 },
   { SOLVER_FLAG_YUM_OBSOLETES,              "yumobsoletes", 0 },
+  { SOLVER_FLAG_NEED_UPDATEPROVIDE,         "needupdateprovide", 0 },
   { 0, 0, 0 }
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.6.10/package/libsolv.changes 
new/libsolv-0.6.10/package/libsolv.changes
--- old/libsolv-0.6.10/package/libsolv.changes  2015-03-18 11:11:12.000000000 
+0100
+++ new/libsolv-0.6.10/package/libsolv.changes  2015-05-05 17:40:56.000000000 
+0200
@@ -1,4 +1,9 @@
 -------------------------------------------------------------------
+Sat May  2 11:44:08 UTC 2015 - mrueck...@suse.de
+
+- you really want to use rbconfig there
+
+-------------------------------------------------------------------
 Wed Mar 18 11:04:34 CET 2015 - m...@suse.de
 
 - fix bug in dislike_old_versions that could lead to a segfault
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.6.10/package/libsolv.spec.in 
new/libsolv-0.6.10/package/libsolv.spec.in
--- old/libsolv-0.6.10/package/libsolv.spec.in  2015-01-14 08:21:01.000000000 
+0100
+++ new/libsolv-0.6.10/package/libsolv.spec.in  2015-05-05 17:40:56.000000000 
+0200
@@ -64,7 +64,7 @@
 BuildRequires:  swig
 %endif
 %if %{with ruby_binding}
-%global ruby_vendorarch %(ruby  -r rbconfig -e "puts 
Config::CONFIG['vendorarchdir'].nil? ? Config::CONFIG['sitearchdir'] : 
Config::CONFIG['vendorarchdir']")
+%global ruby_vendorarch %(ruby  -r rbconfig -e "puts 
RbConfig::CONFIG['vendorarchdir'].nil? ? RbConfig::CONFIG['sitearchdir'] : 
RbConfig::CONFIG['vendorarchdir']")
 BuildRequires:  ruby
 BuildRequires:  ruby-devel
 BuildRequires:  swig
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.6.10/src/policy.c 
new/libsolv-0.6.10/src/policy.c
--- old/libsolv-0.6.10/src/policy.c     2015-03-21 18:56:11.000000000 +0100
+++ new/libsolv-0.6.10/src/policy.c     2015-04-08 13:25:56.000000000 +0200
@@ -891,9 +891,11 @@
   Id r = aa[1] - bb[1];
   if (r)
     return r < 0 ? -1 : 1;
+  if (aa[2] == bb[2])
+    return 0;
   a = aa[2] < 0 ? -aa[2] : aa[2];
   b = bb[2] < 0 ? -bb[2] : bb[2];
-  if (pool->disttype != DISTTYPE_DEB)
+  if (pool->disttype != DISTTYPE_DEB && a != b)
     {
       /* treat release-less versions different */
       const char *as = pool_id2str(pool, a);
@@ -1127,10 +1129,10 @@
     prune_to_best_arch(pool, plist);
   if (plist->count > 1)
     prune_to_best_version(pool, plist);
-  if (plist->count > 1 && mode == POLICY_MODE_CHOOSE)
+  if (plist->count > 1 && (mode == POLICY_MODE_CHOOSE || mode == 
POLICY_MODE_CHOOSE_NOREORDER))
     {
       prune_to_recommended(solv, plist);
-      if (plist->count > 1)
+      if (plist->count > 1 && mode != POLICY_MODE_CHOOSE_NOREORDER)
        {
          /* do some fancy reordering */
 #if 0
@@ -1360,7 +1362,7 @@
        }
       else if (!allownamechange)
        continue;
-      else if (!solv->noupdateprovide && ps->obsoletes)   /* 
provides/obsoletes combination ? */
+      else if ((!solv->noupdateprovide || solv->needupdateprovide) && 
ps->obsoletes)   /* provides/obsoletes combination ? */
        {
          /* check if package ps obsoletes installed package s */
          /* implicitobsoleteusescolors is somewhat wrong here, but we 
nevertheless
@@ -1400,7 +1402,7 @@
     return;
   /* if we have found some valid candidates and noupdateprovide is not set, 
we're
      done. otherwise we fallback to all obsoletes */
-  if (!solv->noupdateprovide && haveprovobs)
+  if (solv->needupdateprovide || (!solv->noupdateprovide && haveprovobs))
     return;
   if (solv->obsoletes && solv->obsoletes[n - solv->installed->start])
     {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.6.10/src/policy.h 
new/libsolv-0.6.10/src/policy.h
--- old/libsolv-0.6.10/src/policy.h     2014-07-25 18:27:17.000000000 +0200
+++ new/libsolv-0.6.10/src/policy.h     2015-04-08 13:25:56.000000000 +0200
@@ -19,6 +19,7 @@
 #define POLICY_MODE_CHOOSE     0
 #define POLICY_MODE_RECOMMEND  1
 #define POLICY_MODE_SUGGEST    2
+#define POLICY_MODE_CHOOSE_NOREORDER   3       /* internal, do not use */
 
 
 #define POLICY_ILLEGAL_DOWNGRADE       1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.6.10/src/solver.c 
new/libsolv-0.6.10/src/solver.c
--- old/libsolv-0.6.10/src/solver.c     2015-03-26 12:46:11.000000000 +0100
+++ new/libsolv-0.6.10/src/solver.c     2015-04-08 13:25:56.000000000 +0200
@@ -1764,6 +1764,8 @@
     return solv->focus_installed;
   case SOLVER_FLAG_YUM_OBSOLETES:
     return solv->do_yum_obsoletes;
+  case SOLVER_FLAG_NEED_UPDATEPROVIDE:
+    return solv->needupdateprovide;
   default:
     break;
   }
@@ -1839,6 +1841,9 @@
   case SOLVER_FLAG_YUM_OBSOLETES:
     solv->do_yum_obsoletes = value;
     break;
+  case SOLVER_FLAG_NEED_UPDATEPROVIDE:
+    solv->needupdateprovide = value;
+    break;
   default:
     break;
   }
@@ -2066,7 +2071,7 @@
   int i, j, n;
   Solvable *s;
   Pool *pool = solv->pool;
-  Id p, pp, *dp;
+  Id p, pp, *dp, postponed;
   int minimizationsteps;
   int installedpos = solv->installed ? solv->installed->start : 0;
 
@@ -2333,8 +2338,17 @@
       if (!solv->decisioncnt_resolve)
         solv->decisioncnt_resolve = solv->decisionq.count;
       POOL_DEBUG(SOLV_DEBUG_POLICY, "deciding unresolved rules\n");
-      for (i = 1, n = 1; n < solv->nrules; i++, n++)
+      postponed = 0;
+      for (i = 1, n = 1; ; i++, n++)
        {
+         if (n >= solv->nrules)
+           {
+             if (postponed <= 0)
+               break;
+             i = postponed;
+             postponed = -1;
+             n = 1;
+           }
          if (i == solv->nrules)
            i = 1;
          r = solv->rules + i;
@@ -2416,6 +2430,17 @@
                }
            }
 
+         if (dq.count > 1 && postponed >= 0)
+           {
+             policy_filter_unwanted(solv, &dq, POLICY_MODE_CHOOSE_NOREORDER);
+             if (dq.count > 1)
+               {
+                 if (!postponed)
+                   postponed = i;
+                 continue;
+               }
+           }
+
          olevel = level;
          level = selectandinstall(solv, level, &dq, disablerules, r - 
solv->rules);
          if (level == 0)
@@ -2426,7 +2451,7 @@
          n = 0;
        }
 
-      if (n != solv->nrules)   /* ran into trouble? */
+      if (n < solv->nrules)    /* ran into trouble? */
        {
          if (level == 0)
            break;              /* unsolvable */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.6.10/src/solver.h 
new/libsolv-0.6.10/src/solver.h
--- old/libsolv-0.6.10/src/solver.h     2015-03-26 12:46:11.000000000 +0100
+++ new/libsolv-0.6.10/src/solver.h     2015-04-07 16:36:13.000000000 +0200
@@ -155,6 +155,7 @@
   int allowvendorchange;               /* allow to change vendor of installed 
solvables */
   int allowuninstall;                  /* allow removal of installed solvables 
*/
   int noupdateprovide;                 /* true: update packages needs not to 
provide old package */
+  int needupdateprovide;               /* true: update packages must provide 
old package */
   int dosplitprovides;                 /* true: consider legacy split provides 
*/
   int dontinstallrecommended;          /* true: do not install recommended 
packages */
   int addalreadyrecommended;           /* true: also install recommended 
packages that were already recommended by the installed packages */
@@ -295,6 +296,7 @@
 #define SOLVER_FLAG_BREAK_ORPHANS              19
 #define SOLVER_FLAG_FOCUS_INSTALLED            20
 #define SOLVER_FLAG_YUM_OBSOLETES              21
+#define SOLVER_FLAG_NEED_UPDATEPROVIDE         22
 
 #define GET_USERINSTALLED_NAMES                        (1 << 0)        /* 
package names instead of ids */
 #define GET_USERINSTALLED_INVERTED             (1 << 1)        /* 
autoinstalled */


Reply via email to