Hello community,

here is the log from the commit of package libsolv for openSUSE:Factory checked 
in at 2020-01-27 00:21:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libsolv (Old)
 and      /work/SRC/openSUSE:Factory/.libsolv.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libsolv"

Mon Jan 27 00:21:27 2020 rev:77 rq:766756 version:0.7.11

Changes:
--------
--- /work/SRC/openSUSE:Factory/libsolv/libsolv.changes  2019-12-23 
22:39:38.433877490 +0100
+++ /work/SRC/openSUSE:Factory/.libsolv.new.26092/libsolv.changes       
2020-01-27 00:21:54.821479413 +0100
@@ -1,0 +2,8 @@
+Wed Jan 22 13:52:48 CET 2020 - [email protected]
+
+- fixed solv_zchunk decoding error if large chunks are used
+- treat retracted pathes as irrelevant
+- made add_update_target work with multiversion installs
+- bump version to 0.7.11
+
+-------------------------------------------------------------------

Old:
----
  libsolv-0.7.10.tar.bz2

New:
----
  libsolv-0.7.11.tar.bz2

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

Other differences:
------------------
++++++ libsolv.spec ++++++
--- /var/tmp/diff_new_pack.nVDBaQ/_old  2020-01-27 00:21:55.661480131 +0100
+++ /var/tmp/diff_new_pack.nVDBaQ/_new  2020-01-27 00:21:55.661480131 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package libsolv
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 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
@@ -52,7 +52,7 @@
 %bcond_with zypp
 
 Name:           libsolv
-Version:        0.7.10
+Version:        0.7.11
 Release:        0
 Summary:        Package dependency solver using a satisfiability algorithm
 License:        BSD-3-Clause

++++++ libsolv-0.7.10.tar.bz2 -> libsolv-0.7.11.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.7.10/NEWS new/libsolv-0.7.11/NEWS
--- old/libsolv-0.7.10/NEWS     2019-12-10 14:26:29.000000000 +0100
+++ new/libsolv-0.7.11/NEWS     2020-01-22 13:59:13.000000000 +0100
@@ -2,6 +2,13 @@
 This file contains the major changes between
 libsolv versions:
 
+Version 0.7.11
+- ENABLE_RPMDB_LIBRPM is now the default
+- selected bug fixes:
+  * fixed solv_zchunk decoding error if large chunks are used
+  * treat retracted pathes as irrelevant
+  * made add_update_target work with multiversion installs
+
 Version 0.7.10
 - new features:
   * new rpm_stat_database() function
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.7.10/README new/libsolv-0.7.11/README
--- old/libsolv-0.7.10/README   2019-03-30 18:09:14.000000000 +0100
+++ new/libsolv-0.7.11/README   2020-01-21 14:54:09.000000000 +0100
@@ -13,9 +13,9 @@
     resolving package dependencies.
 
 The sat-solver code has been written to aim for the newest packages,
-record the decision tree to provide introspection, and also allows to
-provide the user with suggestions on how to deal with unsolvable
-problems. It also takes advantage of the repository storage to
+record the decision tree to provide introspection, and also provides
+the user with suggestions on how to deal with unsolvable
+problems. It also takes advantage of repository storage to
 minimize memory usage.
 
 Supported package formats:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.7.10/VERSION.cmake 
new/libsolv-0.7.11/VERSION.cmake
--- old/libsolv-0.7.10/VERSION.cmake    2019-12-10 14:26:29.000000000 +0100
+++ new/libsolv-0.7.11/VERSION.cmake    2020-01-22 13:59:13.000000000 +0100
@@ -49,5 +49,5 @@
 
 SET(LIBSOLV_MAJOR "0")
 SET(LIBSOLV_MINOR "7")
-SET(LIBSOLV_PATCH "10")
+SET(LIBSOLV_PATCH "11")
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.7.10/doc/gen/libsolv-bindings.3 
new/libsolv-0.7.11/doc/gen/libsolv-bindings.3
--- old/libsolv-0.7.10/doc/gen/libsolv-bindings.3       2019-07-01 
13:14:18.000000000 +0200
+++ new/libsolv-0.7.11/doc/gen/libsolv-bindings.3       2020-01-21 
15:04:15.000000000 +0100
@@ -2,12 +2,12 @@
 .\"     Title: Libsolv-Bindings
 .\"    Author: [see the "Author" section]
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 07/01/2019
+.\"      Date: 01/21/2020
 .\"    Manual: LIBSOLV
 .\"    Source: libsolv
 .\"  Language: English
 .\"
-.TH "LIBSOLV\-BINDINGS" "3" "07/01/2019" "libsolv" "LIBSOLV"
+.TH "LIBSOLV\-BINDINGS" "3" "01/21/2020" "libsolv" "LIBSOLV"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
@@ -866,6 +866,36 @@
 .RS 4
 .\}
 .nf
+\fBSolvable *whatcontainsdep(Id\fR \fIkeyname\fR\fB, DepId\fR \fIdep\fR\fB, 
Id\fR \fImarker\fR \fB= \-1)\fR
+my \fI@solvables\fR \fB=\fR 
\fI$pool\fR\fB\->whatcontainsdep(\fR\fI$keyname\fR\fB,\fR \fI$dep\fR\fB)\fR
+\fIsolvables\fR \fB=\fR 
\fIpool\fR\fB\&.whatcontainsdep(\fR\fIkeyname\fR\fB,\fR \fIdep\fR\fB)\fR
+\fIsolvables\fR \fB=\fR 
\fIpool\fR\fB\&.whatcontainsdep(\fR\fIkeyname\fR\fB,\fR \fIdep\fR\fB)\fR
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+Return all solvables for which keyname contains the dependency\&.
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\fBSolvable *whatmatchesdep(Id\fR \fIkeyname\fR\fB, DepId\fR \fIdep\fR\fB, 
Id\fR \fImarker\fR \fB= \-1)\fR
+my \fI@solvables\fR \fB=\fR 
\fI$pool\fR\fB\->whatmatchesdep(\fR\fI$keyname\fR\fB,\fR \fI$sdep\fR\fB)\fR
+\fIsolvables\fR \fB=\fR \fIpool\fR\fB\&.whatmatchesdep(\fR\fIkeyname\fR\fB,\fR 
\fIdep\fR\fB)\fR
+\fIsolvables\fR \fB=\fR \fIpool\fR\fB\&.whatmatchesdep(\fR\fIkeyname\fR\fB,\fR 
\fIdep\fR\fB)\fR
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+Return all solvables that have dependencies in keyname that match the 
dependency\&.
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
 \fBSolvable *whatmatchessolvable(Id\fR \fIkeyname\fR\fB, Solvable\fR 
\fIsolvable\fR\fB, Id\fR \fImarker\fR \fB= \-1)\fR
 my \fI@solvables\fR \fB=\fR 
\fI$pool\fR\fB\->whatmatchessolvable(\fR\fI$keyname\fR\fB,\fR 
\fI$solvable\fR\fB)\fR
 \fIsolvables\fR \fB=\fR 
\fIpool\fR\fB\&.whatmatchessolvable(\fR\fIkeyname\fR\fB,\fR 
\fIsolvable\fR\fB)\fR
@@ -1491,7 +1521,7 @@
 .\}
 .sp
 The id of this dependency\&.
-.SH "METHODS"
+.SS "METHODS"
 .sp
 .if n \{\
 .RS 4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.7.10/doc/gen/libsolv-pool.3 
new/libsolv-0.7.11/doc/gen/libsolv-pool.3
--- old/libsolv-0.7.10/doc/gen/libsolv-pool.3   2018-10-22 14:48:52.000000000 
+0200
+++ new/libsolv-0.7.11/doc/gen/libsolv-pool.3   2020-01-21 15:04:15.000000000 
+0100
@@ -2,12 +2,12 @@
 .\"     Title: Libsolv-Pool
 .\"    Author: [see the "Author" section]
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 10/22/2018
+.\"      Date: 01/21/2020
 .\"    Manual: LIBSOLV
 .\"    Source: libsolv
 .\"  Language: English
 .\"
-.TH "LIBSOLV\-POOL" "3" "10/22/2018" "libsolv" "LIBSOLV"
+.TH "LIBSOLV\-POOL" "3" "01/21/2020" "libsolv" "LIBSOLV"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
@@ -1287,7 +1287,7 @@
 .sp
 There can be multiple equivalence classes, the set of allowed vendor changes 
for an installed package is calculated by building the union of all of the 
equivalence classes the vendor of the installed package is part of\&.
 .sp
-You can turn off the architecture replacement checks with the Solver\(cqs 
SOLVER_FLAG_ALLOW_VENDORCHANGE flag\&.
+You can turn off the vendor replacement checks with the Solver\(cqs 
SOLVER_FLAG_ALLOW_VENDORCHANGE flag\&.
 .SH "BOOLEAN DEPENDENCIES"
 .sp
 Boolean Dependencies allow to build complex expressions from simple 
dependencies\&. Note that depending on the package manager only a subset of 
those may be useful\&. For example, debian currently only allows an "OR" 
expression\&.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.7.10/doc/libsolv-pool.txt 
new/libsolv-0.7.11/doc/libsolv-pool.txt
--- old/libsolv-0.7.10/doc/libsolv-pool.txt     2018-10-01 11:09:18.000000000 
+0200
+++ new/libsolv-0.7.11/doc/libsolv-pool.txt     2020-01-21 14:54:09.000000000 
+0100
@@ -844,7 +844,7 @@
 of all of the equivalence classes the vendor of the installed package
 is part of.
 
-You can turn off the architecture replacement checks with the Solver's
+You can turn off the vendor replacement checks with the Solver's
 SOLVER_FLAG_ALLOW_VENDORCHANGE flag.
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.7.10/ext/repo_rpmdb_bdb.h 
new/libsolv-0.7.11/ext/repo_rpmdb_bdb.h
--- old/libsolv-0.7.10/ext/repo_rpmdb_bdb.h     2019-12-19 16:34:10.000000000 
+0100
+++ new/libsolv-0.7.11/ext/repo_rpmdb_bdb.h     2020-01-22 13:04:17.000000000 
+0100
@@ -47,7 +47,7 @@
 
   int dbenvopened;     /* database environment opened */
   int pkgdbopened;     /* package database openend */
-  int is_ostree;       /* read-only db that lives in /usr/share/rpm */
+  const char *dbpath;  /* path to the database */
 
   DB_ENV *dbenv;       /* database environment */
   DB *db;              /* packages database */
@@ -70,17 +70,20 @@
 }
 
 static void
-detect_ostree(struct rpmdbstate *state)
+detect_dbpath(struct rpmdbstate *state)
 {
-  state->is_ostree = access_rootdir(state, "/var/lib/rpm", W_OK) == -1 &&
-                     access_rootdir(state, "/usr/share/rpm/Packages", R_OK) == 
0 ? 1 : -1;
+  state->dbpath = access_rootdir(state, "/var/lib/rpm", W_OK) == -1
+                  && access_rootdir(state, "/usr/share/rpm/Packages", R_OK) == 0
+                  ? "/usr/share/rpm" : "/var/lib/rpm";
 }
 
 static int
 stat_database_name(struct rpmdbstate *state, char *dbname, struct stat 
*statbuf, int seterror)
 {
   char *dbpath;
-  dbpath = solv_dupjoin(state->rootdir, state->is_ostree > 0 ? 
"/usr/share/rpm/" : "/var/lib/rpm/", dbname);
+  if (!state->dbpath)
+    detect_dbpath(state);
+  dbpath = solv_dupjoin(state->rootdir, state->dbpath, dbname);
   if (stat(dbpath, statbuf))
     {
       if (seterror)
@@ -95,9 +98,7 @@
 static int
 stat_database(struct rpmdbstate *state, struct stat *statbuf)
 {
-  if (!state->is_ostree)
-    detect_ostree(state);
-  return stat_database_name(state, "Packages", statbuf, 1);
+  return stat_database_name(state, "/Packages", statbuf, 1);
 }
 
 
@@ -171,7 +172,6 @@
 static int
 opendbenv(struct rpmdbstate *state)
 {
-  const char *rootdir = state->rootdir;
   char *dbpath;
   DB_ENV *dbenv = 0;
   int r;
@@ -181,16 +181,16 @@
 #if (defined(FEDORA) || defined(MAGEIA)) && (DB_VERSION_MAJOR >= 5 || 
(DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 5))
   dbenv->set_thread_count(dbenv, 8);
 #endif
-  dbpath = solv_dupjoin(rootdir, "/var/lib/rpm", 0);
-  state->is_ostree = -1;
+  state->dbpath = "/var/lib/rpm";
+  dbpath = solv_dupjoin(state->rootdir, state->dbpath, 0);
   if (access(dbpath, W_OK) == -1)
     {
-      free(dbpath);
-      dbpath = solv_dupjoin(rootdir, "/usr/share/rpm/Packages", 0);
-      if (access(dbpath, R_OK) == 0)
-       state->is_ostree = 1;
-      free(dbpath);
-      dbpath = solv_dupjoin(rootdir, state->is_ostree > 0 ? "/usr/share/rpm" : 
"/var/lib/rpm", 0);
+      if (access_rootdir(state, "/usr/share/rpm/Packages", R_OK) == 0)
+       {
+         state->dbpath = "/usr/share/rpm";
+         free(dbpath);
+         dbpath = solv_dupjoin(state->rootdir, state->dbpath, 0);
+       }
       r = dbenv->open(dbenv, dbpath, DB_CREATE|DB_PRIVATE|DB_INIT_MPOOL, 0);
     }
   else
@@ -426,7 +426,7 @@
   DBT dbkey;
   DBT dbdata;
 
-  if (stat_database_name(state, "Name", &statbuf, 0))
+  if (stat_database_name(state, "/Name", &statbuf, 0))
     return 0;
   memset(&dbkey, 0, sizeof(dbkey));
   memset(&dbdata, 0, sizeof(dbdata));
@@ -502,7 +502,9 @@
   int fd, l;
   char buf[4096];
 
-  dbpath = solv_dupjoin(state->rootdir, state->is_ostree > 0 ? 
"/usr/share/rpm/" : "/var/lib/rpm/", "Name");
+  if (!state->dbpath)
+    detect_dbpath(state);
+  dbpath = solv_dupjoin(state->rootdir, state->dbpath, "/Name");
   if ((fd = open(dbpath, O_RDONLY)) < 0)
     return -1;
   while ((l = read(fd, buf, sizeof(buf))) > 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.7.10/ext/repo_rpmdb_librpm.h 
new/libsolv-0.7.11/ext/repo_rpmdb_librpm.h
--- old/libsolv-0.7.10/ext/repo_rpmdb_librpm.h  2019-12-19 16:34:10.000000000 
+0100
+++ new/libsolv-0.7.11/ext/repo_rpmdb_librpm.h  2020-01-22 13:04:17.000000000 
+0100
@@ -23,7 +23,7 @@
   unsigned int rpmheadsize;
 
   int dbenvopened;     /* database environment opened */
-  int is_ostree;       /* read-only db that lives in /usr/share/rpm */
+  const char *dbpath;  /* path to the database */
 
   rpmts ts;
   rpmdbMatchIterator mi;       /* iterator over packages database */
@@ -43,21 +43,22 @@
 }
 
 static void
-detect_ostree(struct rpmdbstate *state)
+detect_dbpath(struct rpmdbstate *state)
 {
-  state->is_ostree = access_rootdir(state, "/var/lib/rpm", W_OK) == -1 &&
-                     access_rootdir(state, "/usr/share/rpm/Packages", R_OK) == 
0 ? 1 : -1;
+  state->dbpath = access_rootdir(state, "/var/lib/rpm", W_OK) == -1
+                  && access_rootdir(state, "/usr/share/rpm/Packages", R_OK) == 0
+                  ? "/usr/share/rpm" : "/var/lib/rpm";
 }
 
 static int
 stat_database(struct rpmdbstate *state, struct stat *statbuf)
 {
   static const char *dbname[] = {
-    "Packages",
-    "Packages.db",
-    "rpmdb.sqlite",
-    "data.mdb",
-    "Packages",                /* for error reporting */
+    "/Packages",
+    "/Packages.db",
+    "/rpmdb.sqlite",
+    "/data.mdb",
+    "/Packages",               /* for error reporting */
     0,
   };
   int i;
@@ -66,11 +67,11 @@
   if (state->dbenvopened == 1)
     return rpmdbFStat(rpmtsGetRdb(state->ts), statbuf);
 #endif
-  if (!state->is_ostree)
-    detect_ostree(state);
+  if (!state->dbpath)
+    detect_dbpath(state);
   for (i = 0; ; i++)
     {
-      char *dbpath = solv_dupjoin(state->rootdir, state->is_ostree > 0 ? 
"/usr/share/rpm/" : "/var/lib/rpm/", dbname[i]);
+      char *dbpath = solv_dupjoin(state->rootdir, state->dbpath, dbname[i]);
       if (!stat(dbpath, statbuf))
        {
          free(dbpath);
@@ -92,11 +93,12 @@
 static int
 opendbenv(struct rpmdbstate *state)
 {
-  const char *rootdir = state->rootdir;
   rpmts ts;
   char *dbpath;
-  detect_ostree(state);
-  dbpath = solv_dupjoin("_dbpath ", rootdir, state->is_ostree > 0 ? 
"/usr/share/rpm" : "/var/lib/rpm");
+
+  if (!state->dbpath)
+    detect_dbpath(state);
+  dbpath = solv_dupjoin("_dbpath ", state->rootdir, state->dbpath);
   rpmDefineMacro(NULL, dbpath, 0);
   solv_free(dbpath);
   ts = rpmtsCreate();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.7.10/package/libsolv.changes 
new/libsolv-0.7.11/package/libsolv.changes
--- old/libsolv-0.7.10/package/libsolv.changes  2019-12-19 16:34:10.000000000 
+0100
+++ new/libsolv-0.7.11/package/libsolv.changes  2020-01-22 13:59:13.000000000 
+0100
@@ -1,4 +1,12 @@
 -------------------------------------------------------------------
+Wed Jan 22 13:52:48 CET 2020 - [email protected]
+
+- fixed solv_zchunk decoding error if large chunks are used
+- treat retracted pathes as irrelevant
+- made add_update_target work with multiversion installs
+- bump version to 0.7.11
+
+-------------------------------------------------------------------
 Thu Dec 19 16:29:52 CET 2019 - [email protected]
 
 - fix solv_zchunk decoding error if large chunks are used
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.7.10/src/rules.c 
new/libsolv-0.7.11/src/rules.c
--- old/libsolv-0.7.10/src/rules.c      2019-11-15 13:04:10.000000000 +0100
+++ new/libsolv-0.7.11/src/rules.c      2020-01-22 13:04:17.000000000 +0100
@@ -1656,13 +1656,16 @@
            }
        }
       if (first)
-       continue;
+       continue;               /* not the first in the group */
+
+      if (!bestscore)
+       continue;               /* did not find a score for this group */
 
       /* speed up common case where installed package already has best arch */
       if (allowedarchs.count == 1 && bests && allowedarchs.elements[0] == 
bests->arch)
        allowedarchs.count--;   /* installed arch is best */
 
-      if (allowedarchs.count && pool->implicitobsoleteusescolors && installed 
&& bestscore)
+      if (allowedarchs.count && pool->implicitobsoleteusescolors && installed)
        {
          /* need an extra pass for lockstep checking: we only allow to keep an 
inferior arch
           * if the corresponding installed package is not lock-stepped */
@@ -1707,7 +1710,7 @@
          if (ps->name != s->name || !MAPTST(addedmap, p))
            continue;
          a = pool_arch2score(pool, ps->arch);
-         if (a != 1 && bestscore && ((a ^ bestscore) & 0xffff0000) != 0)
+         if (a != 1 && ((a ^ bestscore) & 0xffff0000) != 0)
            {
              if (installed && ps->repo == installed)
                {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.7.10/src/solver.c 
new/libsolv-0.7.11/src/solver.c
--- old/libsolv-0.7.10/src/solver.c     2019-11-08 14:39:59.000000000 +0100
+++ new/libsolv-0.7.11/src/solver.c     2020-01-21 15:24:12.000000000 +0100
@@ -3106,6 +3106,12 @@
   if (s->repo == installed)
     {
       queue_push2(solv->update_targets, p, p);
+      FOR_PROVIDES(pi, pip, s->name)
+       {
+         Solvable *si = pool->solvables + pi;
+         if (si->repo == installed && si->name == s->name && pi != p)
+           queue_push2(solv->update_targets, pi, p);
+       }
       return;
     }
   identicalp = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.7.10/src/solvversion.h.in 
new/libsolv-0.7.11/src/solvversion.h.in
--- old/libsolv-0.7.10/src/solvversion.h.in     2019-03-21 15:32:17.000000000 
+0100
+++ new/libsolv-0.7.11/src/solvversion.h.in     2020-01-21 14:24:12.000000000 
+0100
@@ -45,6 +45,7 @@
 #cmakedefine LIBSOLVEXT_FEATURE_LZMA_COMPRESSION
 #cmakedefine LIBSOLVEXT_FEATURE_BZIP2_COMPRESSION
 #cmakedefine LIBSOLVEXT_FEATURE_ZSTD_COMPRESSION
+#cmakedefine LIBSOLVEXT_FEATURE_ZCHUNK_COMPRESSION
 
 /* see tools/common_write.c for toolversion history */
 #define LIBSOLV_TOOLVERSION "1.1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsolv-0.7.10/src/suse.c 
new/libsolv-0.7.11/src/suse.c
--- old/libsolv-0.7.10/src/suse.c       2018-10-01 11:09:18.000000000 +0200
+++ new/libsolv-0.7.11/src/suse.c       2020-01-21 12:04:12.000000000 +0100
@@ -376,7 +376,11 @@
   Pool *pool = s->repo->pool;
   Id con, *conp;
   int hadpatchpackage = 0;
+  const char *status;
 
+  status = solvable_lookup_str(s, UPDATE_STATUS);
+  if (status && !strcmp(status, "retracted"))
+    return 1;
   if (!s->conflicts)
     return 0;
   conp = s->repo->idarraydata + s->conflicts;


Reply via email to