summaryrefslogtreecommitdiff
path: root/examples/p5solv
diff options
context:
space:
mode:
authorMichael Schroeder <mls@suse.de>2012-01-10 17:45:50 +0100
committerMichael Schroeder <mls@suse.de>2012-01-10 17:45:50 +0100
commit893369ba813883756509df77d083ab005a8bea89 (patch)
tree4e8628da974bbaf784189583c632070fb0e1aad8 /examples/p5solv
parent31b3b6e70b8129382c0830215de4ada3bbe454d5 (diff)
downloadlibsolv-893369ba813883756509df77d083ab005a8bea89.tar.gz
libsolv-893369ba813883756509df77d083ab005a8bea89.tar.bz2
libsolv-893369ba813883756509df77d083ab005a8bea89.zip
- change splitprovides so that they only work on packages that are to be updated.
Thus, the splitprovides flag can always be set and splitprovides also work with 'zypper dup --from'.
Diffstat (limited to 'examples/p5solv')
-rwxr-xr-xexamples/p5solv4
1 files changed, 1 insertions, 3 deletions
diff --git a/examples/p5solv b/examples/p5solv
index bf3dd67..4de66cc 100755
--- a/examples/p5solv
+++ b/examples/p5solv
@@ -755,14 +755,12 @@ if ($cmd eq 'install' || $cmd eq 'erase' || $cmd eq 'up' || $cmd eq 'dup' || $cm
while (1) {
$solver = $pool->Solver();
$solver->set_flag($solv::Solver::SOLVER_FLAG_IGNORE_ALREADY_RECOMMENDED, 1);
+ $solver->set_flag($solv::Solver::SOLVER_FLAG_SPLITPROVIDES, 1);
$solver->set_flag($solv::Solver::SOLVER_FLAG_ALLOW_UNINSTALL, 1) if $cmd eq 'erase';
if ($cmd eq 'dup' && @jobs == 1 $jobs[0]->{'how'} == ($solv::Job::SOLVER_DISTUPGRADE | $solv::Job::SOLVER_SOLVABLE_ALL)) {
$solver->set_flag($solv::Solver::SOLVER_FLAG_ALLOW_DOWNGRADE, 1);
$solver->set_flag($solv::Solver::SOLVER_FLAG_ALLOW_VENDERCHANGE, 1);
$solver->set_flag($solv::Solver::SOLVER_FLAG_ALLOW_ARCHCHANGE, 1);
- $solver->set_flag($solv::Solver::SOLVER_FLAG_SPLITPROVIDES, 1);
- } elsif ($cmd eq 'up' && @jobs == 1 && $jobs[0]->{'how'} == ($solv::Job::SOLVER_UPDATE | $solv::Job::SOLVER_SOLVABLE_ALL)) {
- $solver->set_flag($solv::Solver::SOLVER_FLAG_SPLITPROVIDES, 1);
}
my @problems = $solver->solve(\@jobs);
last unless @problems;