Author: mlschroe Date: Wed Oct 31 14:46:52 2007 New Revision: 7727 URL: http://svn.opensuse.org/viewcvs/zypp?rev=7727&view=rev Log: - fix bug in last bugfix - make suggestions a bit better Modified: trunk/sat-solver/src/solver.c Modified: trunk/sat-solver/src/solver.c URL: http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/src/solver.c?rev=7727&r1=7726&r2=7727&view=diff ============================================================================== --- trunk/sat-solver/src/solver.c (original) +++ trunk/sat-solver/src/solver.c Wed Oct 31 14:46:52 2007 @@ -2810,14 +2810,14 @@ switch(how) { case SOLVER_INSTALL_SOLVABLE: /* install specific solvable */ + s = pool->solvables + what; if (solv->rc_output) { - Solvable *s = pool->solvables + what; printf(">!> Installing %s from channel %s\n", id2str(pool, s->name), repo_name(s->repo)); } addrule(solv, what, 0); /* install by Id */ queue_push(&solv->ruletojob, i); - FOR_PROVIDES(p, pp, what) - if (pool->solvables[what].name == pool->solvables[p].name) + FOR_PROVIDES(p, pp, s->name) + if (pool->solvables[p].name == s->name) MAPSET(&noupdaterule, p); break; case SOLVER_ERASE_SOLVABLE: @@ -3053,11 +3053,17 @@ { case SOLVER_INSTALL_SOLVABLE: s = pool->solvables + what; - printf("- do not install %s-%s.%s\n", id2str(pool, s->name), id2str(pool, s->evr), id2str(pool, s->arch)); + if (what >= solv->installed->start && what < solv->installed->start + solv->installed->nsolvables) + printf("- do not keep %s-%s.%s installed\n", id2str(pool, s->name), id2str(pool, s->evr), id2str(pool, s->arch)); + else + printf("- do not install %s-%s.%s\n", id2str(pool, s->name), id2str(pool, s->evr), id2str(pool, s->arch)); break; case SOLVER_ERASE_SOLVABLE: s = pool->solvables + what; - printf("- do not deinstall %s-%s.%s\n", id2str(pool, s->name), id2str(pool, s->evr), id2str(pool, s->arch)); + if (what >= solv->installed->start && what < solv->installed->start + solv->installed->nsolvables) + printf("- do not deinstall %s-%s.%s\n", id2str(pool, s->name), id2str(pool, s->evr), id2str(pool, s->arch)); + else + printf("- do not forbid installation of %s-%s.%s\n", id2str(pool, s->name), id2str(pool, s->evr), id2str(pool, s->arch)); break; case SOLVER_INSTALL_SOLVABLE_NAME: printf("- do not install %s\n", id2str(pool, what)); -- To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org For additional commands, e-mail: zypp-commit+help@opensuse.org