summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--VERSION.cmake2
-rw-r--r--bindings/perl/CMakeLists.txt2
-rw-r--r--bindings/python/CMakeLists.txt2
-rw-r--r--bindings/ruby/CMakeLists.txt2
-rw-r--r--examples/solv/solv.c2
-rwxr-xr-xexamples/tclsolv2
-rw-r--r--package/libsolv.changes8
-rw-r--r--src/rules.c10
-rw-r--r--src/solver.c11
-rw-r--r--tools/testsolv.c2
10 files changed, 32 insertions, 11 deletions
diff --git a/VERSION.cmake b/VERSION.cmake
index f67959d..9ae12b5 100644
--- a/VERSION.cmake
+++ b/VERSION.cmake
@@ -49,5 +49,5 @@ SET(LIBSOLVEXT_SOVERSION "0")
SET(LIBSOLV_MAJOR "0")
SET(LIBSOLV_MINOR "6")
-SET(LIBSOLV_PATCH "13")
+SET(LIBSOLV_PATCH "14")
diff --git a/bindings/perl/CMakeLists.txt b/bindings/perl/CMakeLists.txt
index cb9cd37..49a3902 100644
--- a/bindings/perl/CMakeLists.txt
+++ b/bindings/perl/CMakeLists.txt
@@ -28,7 +28,7 @@ ADD_DEFINITIONS(${PERL_CCFLAGS} -Wno-unused -Wno-nonnull)
LINK_DIRECTORIES (${PERL_CORE_DIR})
INCLUDE_DIRECTORIES (${PERL_INCLUDE_PATH} ${PERL_CORE_DIR})
-ADD_LIBRARY (bindings_perl SHARED solv_perl.c)
+ADD_LIBRARY (bindings_perl MODULE solv_perl.c)
SET_TARGET_PROPERTIES (bindings_perl PROPERTIES PREFIX "" OUTPUT_NAME "solv")
SET_TARGET_PROPERTIES (bindings_perl PROPERTIES LINK_FLAGS "${PERL_CCLDFLAGS}")
TARGET_LINK_LIBRARIES (bindings_perl libsolvext libsolv ${SYSTEM_LIBRARIES})
diff --git a/bindings/python/CMakeLists.txt b/bindings/python/CMakeLists.txt
index 22ddec3..73f2dca 100644
--- a/bindings/python/CMakeLists.txt
+++ b/bindings/python/CMakeLists.txt
@@ -24,7 +24,7 @@ ADD_CUSTOM_COMMAND (
ADD_DEFINITIONS(-Wno-unused)
INCLUDE_DIRECTORIES (${PYTHON_INCLUDE_PATH})
-ADD_LIBRARY (bindings_python SHARED solv_python.c)
+ADD_LIBRARY (bindings_python MODULE solv_python.c)
SET_TARGET_PROPERTIES (bindings_python PROPERTIES PREFIX "" OUTPUT_NAME "_solv")
TARGET_LINK_LIBRARIES (bindings_python libsolvext libsolv ${SYSTEM_LIBRARIES})
diff --git a/bindings/ruby/CMakeLists.txt b/bindings/ruby/CMakeLists.txt
index bc7a1f9..6c3bd50 100644
--- a/bindings/ruby/CMakeLists.txt
+++ b/bindings/ruby/CMakeLists.txt
@@ -19,7 +19,7 @@ ADD_CUSTOM_COMMAND (
ADD_DEFINITIONS(-Wno-unused)
INCLUDE_DIRECTORIES (${RUBY_INCLUDE_PATH})
-ADD_LIBRARY (bindings_ruby SHARED solv_ruby.c)
+ADD_LIBRARY (bindings_ruby MODULE solv_ruby.c)
SET_TARGET_PROPERTIES (bindings_ruby PROPERTIES PREFIX "" OUTPUT_NAME "solv")
TARGET_LINK_LIBRARIES (bindings_ruby libsolvext libsolv ${SYSTEM_LIBRARIES})
diff --git a/examples/solv/solv.c b/examples/solv/solv.c
index d624bf6..6840a6e 100644
--- a/examples/solv/solv.c
+++ b/examples/solv/solv.c
@@ -661,7 +661,7 @@ main(int argc, char **argv)
queue_push2(&job, SOLVER_ERASE|SOLVER_CLEANDEPS|SOLVER_SOLVABLE_PROVIDES, pool_rel2id(pool, NAMESPACE_LANGUAGE, 0, REL_NAMESPACE, 1));
#endif
-#if defined(ENABLE_RPMDB) && (defined(SUSE) || defined(FEDORA))
+#if defined(ENABLE_RPMDB) && (defined(SUSE) || defined(FEDORA) || defined(MANDRIVA) || defined(MAGEIA))
rerunsolver:
#endif
solv = solver_create(pool);
diff --git a/examples/tclsolv b/examples/tclsolv
index 6f819aa..0fc4e2a 100755
--- a/examples/tclsolv
+++ b/examples/tclsolv
@@ -738,7 +738,7 @@ foreach cl [$trans classify [expr $solv::Transaction_SOLVER_TRANSACTION_SHOW_OBS
set cltype [$cl cget -type]
if {$cltype == $solv::Transaction_SOLVER_TRANSACTION_UPGRADED || $cltype ==$solv::Transaction_SOLVER_TRANSACTION_DOWNGRADED} {
set op [$trans othersolvable $p]
- puts [format { - %s -> %s} [$p str] [$p str]]
+ puts [format { - %s -> %s} [$p str] [$op str]]
} else {
puts [format { - %s} [$p str]]
}
diff --git a/package/libsolv.changes b/package/libsolv.changes
index 5ddad42..745e5bf 100644
--- a/package/libsolv.changes
+++ b/package/libsolv.changes
@@ -1,4 +1,12 @@
-------------------------------------------------------------------
+Mon Oct 5 13:27:25 CEST 2015 - mls@suse.de
+
+- fix bug in recommends handling [bnc#948482]
+- also check installed packages in multiversion handling
+- fix build on Mageia
+- bump version to 0.6.14
+
+-------------------------------------------------------------------
Fri Sep 25 11:54:02 CEST 2015 - mls@suse.de
- support a generic string for pattern-visible() [bnc#900769]
diff --git a/src/rules.c b/src/rules.c
index 3264e9b..b941986 100644
--- a/src/rules.c
+++ b/src/rules.c
@@ -928,7 +928,13 @@ solver_addpkgrulesforsolvable(Solver *solv, Solvable *s, Map *m)
/* we still obsolete packages with same nevra, like rpm does */
/* (actually, rpm mixes those packages. yuck...) */
if (multi && (s->name != ps->name || s->evr != ps->evr || s->arch != ps->arch))
- continue;
+ {
+ if (isinstalled || ps->repo != installed)
+ continue;
+ /* also check the installed package for multi-ness */
+ if (MAPTST(&solv->multiversion, p))
+ continue;
+ }
if (!pool->implicitobsoleteusesprovides && s->name != ps->name)
continue;
if (pool->implicitobsoleteusescolors && !pool_colormatch(pool, s, ps))
@@ -938,7 +944,7 @@ solver_addpkgrulesforsolvable(Solver *solv, Solvable *s, Map *m)
if (s->name == ps->name)
{
/* optimization: do not add the same-name conflict rule if it was
- * already added when we looket at the other package.
+ * already added when we looked at the other package.
* (this assumes pool_colormatch is symmetric) */
if (p && m && ps->repo != installed && MAPTST(m, p) &&
(ps->arch != ARCH_SRC && ps->arch != ARCH_NOSRC) &&
diff --git a/src/solver.c b/src/solver.c
index 3358b6b..c6cad6b 100644
--- a/src/solver.c
+++ b/src/solver.c
@@ -2544,13 +2544,20 @@ solver_run_sat(Solver *solv, int disablerules, int doweak)
continue;
if (solv->decisionmap[p] <= 0)
continue;
- if (solv->multiversion.size && MAPTST(&solv->multiversion, p))
+ if (!solv->keepexplicitobsoletes && solv->multiversion.size && MAPTST(&solv->multiversion, p))
continue;
obsp = s->repo->idarraydata + s->obsoletes;
/* foreach obsoletes */
while ((obs = *obsp++) != 0)
FOR_PROVIDES(po, ppo, obs)
- MAPSET(&obsmap, po);
+ {
+ Solvable *pos = pool->solvables + po;
+ if (!pool->obsoleteusesprovides && !pool_match_nevr(pool, pos, obs))
+ continue;
+ if (pool->obsoleteusescolors && !pool_colormatch(pool, s, pos))
+ continue;
+ MAPSET(&obsmap, po);
+ }
}
for (i = j = 0; i < dqs.count; i++)
if (!MAPTST(&obsmap, dqs.elements[i]))
diff --git a/tools/testsolv.c b/tools/testsolv.c
index 5c49394..d0328ae 100644
--- a/tools/testsolv.c
+++ b/tools/testsolv.c
@@ -25,7 +25,7 @@ static struct resultflags2str {
};
static void
-usage(ex)
+usage(int ex)
{
fprintf(ex ? stderr : stdout, "Usage: testsolv <testcase>\n");
exit(ex);