--- /dev/null
+--- /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++;
+