packages: PackageFSRoot: fix, improve, add debug output
This commit is contained in:
@@ -249,7 +249,8 @@ PackageFSRoot::_AddPackage(Package* package)
|
|||||||
for (ResolvableList::ConstIterator it
|
for (ResolvableList::ConstIterator it
|
||||||
= package->Resolvables().GetIterator();
|
= package->Resolvables().GetIterator();
|
||||||
Resolvable* resolvable = it.Next();) {
|
Resolvable* resolvable = it.Next();) {
|
||||||
TRACE_DEPENDENCIES(" adding resolvable \"%s\"\n", resolvable->Name());
|
TRACE_DEPENDENCIES(" adding resolvable \"%s\"\n",
|
||||||
|
resolvable->Name().Data());
|
||||||
|
|
||||||
if (ResolvableFamily* family
|
if (ResolvableFamily* family
|
||||||
= fResolvables.Lookup(resolvable->Name())) {
|
= fResolvables.Lookup(resolvable->Name())) {
|
||||||
@@ -274,7 +275,8 @@ PackageFSRoot::_AddPackage(Package* package)
|
|||||||
for (DependencyList::ConstIterator it
|
for (DependencyList::ConstIterator it
|
||||||
= package->Dependencies().GetIterator();
|
= package->Dependencies().GetIterator();
|
||||||
Dependency* dependency = it.Next();) {
|
Dependency* dependency = it.Next();) {
|
||||||
TRACE_DEPENDENCIES(" adding dependency \"%s\"\n", dependency->Name());
|
TRACE_DEPENDENCIES(" adding dependency \"%s\"\n",
|
||||||
|
dependency->Name().Data());
|
||||||
|
|
||||||
if (DependencyFamily* family
|
if (DependencyFamily* family
|
||||||
= fDependencies.Lookup(dependency->Name())) {
|
= fDependencies.Lookup(dependency->Name())) {
|
||||||
@@ -314,7 +316,7 @@ PackageFSRoot::_RemovePackage(Package* package)
|
|||||||
Dependency* dependency = it.Next();) {
|
Dependency* dependency = it.Next();) {
|
||||||
if (DependencyFamily* family = dependency->Family()) {
|
if (DependencyFamily* family = dependency->Family()) {
|
||||||
TRACE_DEPENDENCIES(" removing dependency \"%s\"\n",
|
TRACE_DEPENDENCIES(" removing dependency \"%s\"\n",
|
||||||
dependency->Name());
|
dependency->Name().Data());
|
||||||
|
|
||||||
if (family->IsLastDependency(dependency)) {
|
if (family->IsLastDependency(dependency)) {
|
||||||
fDependencies.Remove(family);
|
fDependencies.Remove(family);
|
||||||
@@ -336,7 +338,7 @@ PackageFSRoot::_RemovePackage(Package* package)
|
|||||||
Resolvable* resolvable = it.Next();) {
|
Resolvable* resolvable = it.Next();) {
|
||||||
if (ResolvableFamily* family = resolvable->Family()) {
|
if (ResolvableFamily* family = resolvable->Family()) {
|
||||||
TRACE_DEPENDENCIES(" removing resolvable \"%s\"\n",
|
TRACE_DEPENDENCIES(" removing resolvable \"%s\"\n",
|
||||||
resolvable->Name());
|
resolvable->Name().Data());
|
||||||
|
|
||||||
if (family->IsLastResolvable(resolvable)) {
|
if (family->IsLastResolvable(resolvable)) {
|
||||||
fResolvables.Remove(family);
|
fResolvables.Remove(family);
|
||||||
@@ -378,16 +380,23 @@ PackageFSRoot::_ResolveDependencies(ResolvableDependencyList& dependencies)
|
|||||||
void
|
void
|
||||||
PackageFSRoot::_ResolveDependency(Dependency* dependency)
|
PackageFSRoot::_ResolveDependency(Dependency* dependency)
|
||||||
{
|
{
|
||||||
TRACE_DEPENDENCIES(" resolving dependency \"%s\"\n", dependency->Name());
|
TRACE_DEPENDENCIES(" resolving dependency \"%s\" (package \"%s\")\n",
|
||||||
|
dependency->Name().Data(), dependency->Package()->Name().Data());
|
||||||
|
|
||||||
// get the resolvable family for the dependency
|
// get the resolvable family for the dependency
|
||||||
ResolvableFamily* resolvableFamily
|
ResolvableFamily* resolvableFamily
|
||||||
= fResolvables.Lookup(dependency->Name());
|
= fResolvables.Lookup(dependency->Name());
|
||||||
if (resolvableFamily == NULL)
|
if (resolvableFamily == NULL) {
|
||||||
|
TRACE_DEPENDENCIES(" -> dependency \"%s\" unresolved\n",
|
||||||
|
dependency->Name().Data());
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// let the family resolve the dependency
|
// let the family resolve the dependency
|
||||||
resolvableFamily->ResolveDependency(dependency);
|
if (!resolvableFamily->ResolveDependency(dependency)) {
|
||||||
|
TRACE_DEPENDENCIES(" -> dependency \"%s\" unresolved (version "
|
||||||
|
"mismatch)\n", dependency->Name().Data());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user