--- /var/home/mis/rpm/BUILD/poldek-0.18.7/pkgset-install.c 2004-12-28 12:29:19.885741480 +0100 +++ pkgset-install.c 2004-12-28 12:30:52.456668560 +0100 @@ -11,7 +11,7 @@ */ /* - $Id$ + $Id$ */ #ifdef HAVE_CONFIG_H @@ -752,14 +752,14 @@ if (db_dep->flags & PROCESS_AS_NEW) { int i, n; char errmsg[4096]; - n = n_snprintf(errmsg, sizeof(errmsg), _("%s is required by "), + n = n_snprintf(errmsg, sizeof(errmsg), _("%s is required by"), capreq_snprintf_s(req)); for (i=0; i < n_array_size(db_dep->pkgs); i++) { struct pkg *p = n_array_nth(db_dep->pkgs, i); snprintf(&errmsg[n], sizeof(errmsg) - n, "%s%s", - pkg_is_installed(p) ? "" : _("already marked "), + pkg_is_installed(p) ? "" : _(" already marked "), pkg_snprintf_s(p)); logn(LOGERR, "%s", errmsg); @@ -875,7 +875,7 @@ } } - if (pkg->fl && dbpkg->pkg->fl) { + if (dbpkg->pkg->fl) { struct capreq *cap; int j, k; @@ -967,7 +967,9 @@ /* cached */ if (db_deps_provides(upg->db_deps, req, DBDEP_DBSATISFIED)) { DBGF("%s: satisfied by db [cached]\n", capreq_snprintf_s(req)); - + + } else if (tomark && marked_for_removal(tomark, upg)) { + DBGF_F("%s: marked for removal\n", pkg_snprintf_s(tomark)); } else if (pkgdb_match_req(upg->inst->db, req, 1, upg->uninst_set->dbpkgs)) { @@ -976,9 +978,10 @@ upg->strict); //dbpkg_set_dump(upg->uninst_set); - if ((pkg->flags & PKG_DBPKG) == 0) - db_deps_add(upg->db_deps, true_req, pkg, tomark, - PROCESS_AS_NEW | DBDEP_DBSATISFIED); + // commented out - pkg_drags() should not touch upg context + //if ((pkg->flags & PKG_DBPKG) == 0) + // db_deps_add(upg->db_deps, true_req, pkg, tomark, + // PROCESS_AS_NEW | DBDEP_DBSATISFIED); } else if (tomark || tomark == NULL) { /* don't care found or not */ ntoinstall++; @@ -1144,7 +1147,7 @@ if (marked_for_removal_by_req(real_tomark, req, upg)) { logn(LOGERR, _("%s (cap %s) is required by %s%s"), pkg_snprintf_s(real_tomark), capreq_snprintf_s(req), - pkg_is_installed(pkg) ? "" : _("already marked "), + pkg_is_installed(pkg) ? "" : " already marked", pkg_snprintf_s0(pkg)); upg->nerr_dep++;