SET (ENABLE_RPMMD ON)
SET (ENABLE_SUSEREPO ON)
SET (ENABLE_HELIXREPO ON)
+SET (ENABLE_LINKED_PKGS ON)
SET (have_system ${have_system}x)
ENDIF (SUSE)
HAVE_RPM_DB_H HAVE_PGPDIGGETPARAMS
ENABLE_RPMDB ENABLE_PUBKEY ENABLE_RPMMD ENABLE_RPMDB_BYRPMHEADER ENABLE_SUSEREPO ENABLE_COMPS
ENABLE_HELIXREPO ENABLE_MDKREPO ENABLE_ARCHREPO ENABLE_DEBIAN ENABLE_HAIKU
- ENABLE_LZMA_COMPRESSION ENABLE_BZIP2_COMPRESSION ENABLE_PGPVRFY ENABLE_APPDATA)
+ ENABLE_LZMA_COMPRESSION ENABLE_BZIP2_COMPRESSION ENABLE_PGPVRFY ENABLE_APPDATA
+ ENABLE_LINKED_PKGS)
IF(${VAR})
ADD_DEFINITIONS (-D${VAR}=1)
SET (SWIG_FLAGS ${SWIG_FLAGS} -D${VAR})
addrpmruleinfo(solv, p, d, type, dep);
}
+#ifdef ENABLE_LINKED_PKGS
+
static void
addlinks(Solver *solv, Solvable *s, Id req, Queue *qr, Id prv, Queue *qp, Map *m, Queue *workq)
{
queue_push(workq, s - pool->solvables);
return;
}
+ if (!m && workq)
+ {
+ /* just push required packages on the work queue */
+ for (i = 0; i < qr->count; i++)
+ queue_push(workq, qr->elements[i]);
+ return;
+ }
#if 0
printf("ADDLINKS %s\n -> %s\n", pool_solvable2str(pool, s), pool_dep2str(pool, req));
for (i = 0; i < qr->count; i++)
add_product_link(solv, s, m, workq);
}
+#endif
+
/*-------------------------------------------------------------------
*
* add (install) rules for solvable
}
}
+#ifdef ENABLE_LINKED_PKGS
/* add pseudo-package <-> real-package links */
add_package_link(solv, s, m, &workq);
+#endif
/*-----------------------------------------
* check requires of s
queue_free(&workq);
}
+#ifdef ENABLE_LINKED_PKGS
void
solver_addrpmrulesforlinked(Solver *solv, Map *m)
{
}
queue_free(&workq);
}
+#endif
/*-------------------------------------------------------------------
*
/* also try reverse direction for conflicts */
if ((r->d == 0 || r->d == -1) && r->w2 < 0)
solver_addrpmrulesforsolvable(solv, pool->solvables - r->w2, 0);
+#ifdef ENABLE_LINKED_PKGS
/* check linked packages */
d = 0;
if ((r->d == 0 || r->d == -1))
break;
add_package_link(solv, pool->solvables + l, 0, 0);
}
+#endif
solv->ruleinfoq = 0;
queue_shift(rq);
}
solver_addrpmrulesforweak(solv, &addedmap);
POOL_DEBUG(SOLV_DEBUG_STATS, "added %d rpm rules because of weak dependencies\n", solv->nrules - oldnrules);
+#ifdef ENABLE_LINKED_PKGS
oldnrules = solv->nrules;
solver_addrpmrulesforlinked(solv, &addedmap);
POOL_DEBUG(SOLV_DEBUG_STATS, "added %d rpm rules because of linked packages\n", solv->nrules - oldnrules);
+#endif
/*
* first pass done, we now have all the rpm rules we need.