Hello community,

here is the log from the commit of package libsolv for openSUSE:Factory checked 
in at 2016-06-13 21:51:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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  2016-06-05 
14:17:22.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libsolv.new/libsolv.changes     2016-06-13 
21:51:01.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Jun  7 11:24:47 CEST 2016 - m...@suse.de
+
+- fix bug in ignoreinst logic [bnc#983141]
+
+-------------------------------------------------------------------

Old:
----
  libsolv-0.6.21.tar.bz2

New:
----
  libsolv-0.6.22.tar.bz2

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

Other differences:
------------------
++++++ libsolv.spec ++++++
--- /var/tmp/diff_new_pack.zZ0mWl/_old  2016-06-13 21:51:02.000000000 +0200
+++ /var/tmp/diff_new_pack.zZ0mWl/_new  2016-06-13 21:51:02.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           libsolv
-Version:        0.6.21
+Version:        0.6.22
 Release:        0
 Url:            https://github.com/openSUSE/libsolv
 Source:         libsolv-%{version}.tar.bz2

++++++ libsolv-0.6.21.tar.bz2 -> libsolv-0.6.22.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.6.21/NEWS new/libsolv-0.6.22/NEWS
--- old/libsolv-0.6.21/NEWS     2016-02-11 17:01:33.000000000 +0100
+++ new/libsolv-0.6.22/NEWS     2016-06-08 13:26:04.000000000 +0200
@@ -2,6 +2,26 @@
 This file contains the major changes between
 libsolv versions:
 
+Version 0.6.21
+- new features:
+  * SOLVER_FAVOR and SOLVER_DISFAVOR job types
+- new functions:
+  * selection_make_matchdepid
+  * pool_whatcontainsdep
+  * pool_parserpmrichdep
+
+Version 0.6.20
+- new features:
+  * filter Requires(pre,post) for installed packages
+
+Version 0.6.13:
+- new features:
+  * SOLVER_ALLOWUNINSTALL job type
+  * ordercycle introspection
+- new functions:
+  * transaction_order_get_cycle
+  * transaction_order_get_cycleids
+
 Version 0.6.12:
 - new features:
   * tcl bindings
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.6.21/VERSION.cmake 
new/libsolv-0.6.22/VERSION.cmake
--- old/libsolv-0.6.21/VERSION.cmake    2016-05-18 15:16:10.000000000 +0200
+++ new/libsolv-0.6.22/VERSION.cmake    2016-06-08 13:26:04.000000000 +0200
@@ -49,5 +49,5 @@
 
 SET(LIBSOLV_MAJOR "0")
 SET(LIBSOLV_MINOR "6")
-SET(LIBSOLV_PATCH "21")
+SET(LIBSOLV_PATCH "22")
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.6.21/ext/repo_rpmdb.c 
new/libsolv-0.6.22/ext/repo_rpmdb.c
--- old/libsolv-0.6.21/ext/repo_rpmdb.c 2016-05-06 14:16:01.000000000 +0200
+++ new/libsolv-0.6.22/ext/repo_rpmdb.c 2016-06-07 11:06:06.000000000 +0200
@@ -55,7 +55,8 @@
 /* 4: fixed triggers */
 /* 5: fixed checksum copying */
 /* 6: add SOLVABLE_PREREQ_IGNOREINST support */
-#define RPMDB_COOKIE_VERSION 6
+/* 7: fix bug in ignoreinst logic */
+#define RPMDB_COOKIE_VERSION 7
 
 #define TAG_NAME               1000
 #define TAG_VERSION            1001
@@ -588,18 +589,23 @@
   solv_free(n);
   solv_free(v);
   solv_free(f);
-  if (has_ign && ignq->count > 2)
+  if (ignq && ignq->count)
     {
-      Id id, lastid = 0;
-      int j;
-
-      solv_sort(ignq->elements, ignq->count / 2, sizeof(Id) * 2, ignq_sortcmp, 
0);
-      for (i = j = 0; i < ignq->count; i += 2)
+      int j = 0;
+      if (has_ign && ignq->count == 2)
+       j = 1;
+      else if (has_ign)
        {
-         id = ignq->elements[i];
-         if (id != lastid && ignq->elements[i + 1] > 0)
-           ignq->elements[j++] = id;
-         lastid = id;
+         Id id, lastid = 0;
+
+         solv_sort(ignq->elements, ignq->count / 2, sizeof(Id) * 2, 
ignq_sortcmp, 0);
+         for (i = j = 0; i < ignq->count; i += 2)
+           {
+             id = ignq->elements[i];
+             if (id != lastid && ignq->elements[i + 1] > 0)
+               ignq->elements[j++] = id;
+             lastid = id;
+           }
        }
       queue_truncate(ignq, j);
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.6.21/package/libsolv.changes 
new/libsolv-0.6.22/package/libsolv.changes
--- old/libsolv-0.6.21/package/libsolv.changes  2016-05-20 15:26:11.000000000 
+0200
+++ new/libsolv-0.6.22/package/libsolv.changes  2016-06-08 13:31:12.000000000 
+0200
@@ -1,4 +1,9 @@
 -------------------------------------------------------------------
+Tue Jun  7 11:24:47 CEST 2016 - m...@suse.de
+
+- fix bug in ignoreinst logic [bnc#983141]
+
+-------------------------------------------------------------------
 Wed May 18 15:09:56 CEST 2016 - m...@suse.de
 
 - add pool->setdisttype to the bindings
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.6.21/src/policy.c 
new/libsolv-0.6.22/src/policy.c
--- old/libsolv-0.6.21/src/policy.c     2016-05-18 14:51:00.000000000 +0200
+++ new/libsolv-0.6.22/src/policy.c     2016-06-07 11:06:06.000000000 +0200
@@ -1231,8 +1231,15 @@
              if (knid)
                {
                  FOR_PROVIDES(p, pp, knid)
-                   if (solv->decisionmap[p] > 0 || (pool->installed && 
pool->solvables[p].repo == pool->installed))
-                     score = 3;
+                   {
+                     if (solv->decisionmap[p] > 0)
+                       {
+                         score = 4;
+                         break;
+                       }
+                     else if (pool->installed && pool->solvables[p].repo == 
pool->installed)
+                       score = 3;
+                   }
                }
            }
        }
@@ -1257,8 +1264,15 @@
                      if (knid)
                        {
                          FOR_PROVIDES(p, pp, knid)
-                           if (solv->decisionmap[p] > 0 || (pool->installed && 
pool->solvables[p].repo == pool->installed))
-                             score = 3;
+                           {
+                             if (solv->decisionmap[p] > 0)
+                               {
+                                 score = 4;
+                                 break;
+                               }
+                             if (pool->installed && pool->solvables[p].repo == 
pool->installed)
+                               score = 3;
+                           }
                        }
                    }
                }
@@ -1284,8 +1298,15 @@
                {
                  score = 0;
                  FOR_PROVIDES(p, pp, id)
-                   if (solv->decisionmap[p] > 0 || (pool->installed && 
pool->solvables[p].repo == pool->installed))
-                     score = 3;
+                   {
+                     if (solv->decisionmap[p] > 0)
+                       {
+                         score = 4;
+                         break;
+                       }
+                     if (pool->installed && pool->solvables[p].repo == 
pool->installed)
+                       score = 3;
+                   }
                  break;
                }
            }


Reply via email to