|
@@ -58,7 +58,7 @@ void pkgSimulate::Describe(PkgIterator Pkg,ostream &out,bool Current,bool Candid
|
|
|
{
|
|
{
|
|
|
VerIterator Ver(Sim);
|
|
VerIterator Ver(Sim);
|
|
|
|
|
|
|
|
- out << Pkg.Name();
|
|
|
|
|
|
|
+ out << Pkg.FullName(true);
|
|
|
|
|
|
|
|
if (Current == true)
|
|
if (Current == true)
|
|
|
{
|
|
{
|
|
@@ -123,9 +123,9 @@ bool pkgSimulate::Install(PkgIterator iPkg,string /*File*/)
|
|
|
{
|
|
{
|
|
|
if ((Sim[End] & pkgDepCache::DepGInstall) == 0)
|
|
if ((Sim[End] & pkgDepCache::DepGInstall) == 0)
|
|
|
{
|
|
{
|
|
|
- cout << " [" << I.Name() << " on " << Start.TargetPkg().Name() << ']';
|
|
|
|
|
|
|
+ cout << " [" << I.FullName(false) << " on " << Start.TargetPkg().FullName(false) << ']';
|
|
|
if (Start->Type == pkgCache::Dep::Conflicts)
|
|
if (Start->Type == pkgCache::Dep::Conflicts)
|
|
|
- _error->Error("Fatal, conflicts violated %s",I.Name());
|
|
|
|
|
|
|
+ _error->Error("Fatal, conflicts violated %s",I.FullName(false).c_str());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -165,7 +165,7 @@ bool pkgSimulate::Configure(PkgIterator iPkg)
|
|
|
// Sim.MarkInstall(Pkg,false);
|
|
// Sim.MarkInstall(Pkg,false);
|
|
|
if (Sim[Pkg].InstBroken() == true)
|
|
if (Sim[Pkg].InstBroken() == true)
|
|
|
{
|
|
{
|
|
|
- cout << "Conf " << Pkg.Name() << " broken" << endl;
|
|
|
|
|
|
|
+ cout << "Conf " << Pkg.FullName(false) << " broken" << endl;
|
|
|
|
|
|
|
|
Sim.Update();
|
|
Sim.Update();
|
|
|
|
|
|
|
@@ -177,17 +177,17 @@ bool pkgSimulate::Configure(PkgIterator iPkg)
|
|
|
continue;
|
|
continue;
|
|
|
|
|
|
|
|
if (D->Type == pkgCache::Dep::Obsoletes)
|
|
if (D->Type == pkgCache::Dep::Obsoletes)
|
|
|
- cout << " Obsoletes:" << D.TargetPkg().Name();
|
|
|
|
|
|
|
+ cout << " Obsoletes:" << D.TargetPkg().FullName(false);
|
|
|
else if (D->Type == pkgCache::Dep::Conflicts)
|
|
else if (D->Type == pkgCache::Dep::Conflicts)
|
|
|
- cout << " Conflicts:" << D.TargetPkg().Name();
|
|
|
|
|
|
|
+ cout << " Conflicts:" << D.TargetPkg().FullName(false);
|
|
|
else if (D->Type == pkgCache::Dep::DpkgBreaks)
|
|
else if (D->Type == pkgCache::Dep::DpkgBreaks)
|
|
|
- cout << " Breaks:" << D.TargetPkg().Name();
|
|
|
|
|
|
|
+ cout << " Breaks:" << D.TargetPkg().FullName(false);
|
|
|
else
|
|
else
|
|
|
- cout << " Depends:" << D.TargetPkg().Name();
|
|
|
|
|
|
|
+ cout << " Depends:" << D.TargetPkg().FullName(false);
|
|
|
}
|
|
}
|
|
|
cout << endl;
|
|
cout << endl;
|
|
|
|
|
|
|
|
- _error->Error("Conf Broken %s",Pkg.Name());
|
|
|
|
|
|
|
+ _error->Error("Conf Broken %s",Pkg.FullName(false));
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
@@ -254,7 +254,7 @@ void pkgSimulate::ShortBreaks()
|
|
|
if (Sim[I].InstBroken() == true)
|
|
if (Sim[I].InstBroken() == true)
|
|
|
{
|
|
{
|
|
|
if (Flags[I->ID] == 0)
|
|
if (Flags[I->ID] == 0)
|
|
|
- cout << I.Name() << ' ';
|
|
|
|
|
|
|
+ cout << I.FullName(false) << ' ';
|
|
|
/* else
|
|
/* else
|
|
|
cout << I.Name() << "! ";*/
|
|
cout << I.Name() << "! ";*/
|
|
|
}
|
|
}
|
|
@@ -290,7 +290,7 @@ bool pkgApplyStatus(pkgDepCache &Cache)
|
|
|
Cache.MarkInstall(I, false, 0, false);
|
|
Cache.MarkInstall(I, false, 0, false);
|
|
|
else
|
|
else
|
|
|
return _error->Error(_("The package %s needs to be reinstalled, "
|
|
return _error->Error(_("The package %s needs to be reinstalled, "
|
|
|
- "but I can't find an archive for it."),I.Name());
|
|
|
|
|
|
|
+ "but I can't find an archive for it."),I.FullName(true));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
continue;
|
|
continue;
|
|
@@ -325,7 +325,7 @@ bool pkgApplyStatus(pkgDepCache &Cache)
|
|
|
default:
|
|
default:
|
|
|
if (I->InstState != pkgCache::State::Ok)
|
|
if (I->InstState != pkgCache::State::Ok)
|
|
|
return _error->Error("The package %s is not ok and I "
|
|
return _error->Error("The package %s is not ok and I "
|
|
|
- "don't know how to fix it!",I.Name());
|
|
|
|
|
|
|
+ "don't know how to fix it!",I.FullName(false));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
return true;
|
|
return true;
|
|
@@ -709,7 +709,7 @@ bool pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator Pkg)
|
|
|
if ((Flags[P->ID] & Protected) == Protected)
|
|
if ((Flags[P->ID] & Protected) == Protected)
|
|
|
{
|
|
{
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << " Reinst Failed because of protected " << P.Name() << endl;
|
|
|
|
|
|
|
+ clog << " Reinst Failed because of protected " << P.FullName(false) << endl;
|
|
|
Fail = true;
|
|
Fail = true;
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
@@ -720,7 +720,7 @@ bool pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator Pkg)
|
|
|
if (DoUpgrade(P) == false)
|
|
if (DoUpgrade(P) == false)
|
|
|
{
|
|
{
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << " Reinst Failed because of " << P.Name() << endl;
|
|
|
|
|
|
|
+ clog << " Reinst Failed because of " << P.FullName(false) << endl;
|
|
|
Fail = true;
|
|
Fail = true;
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
@@ -739,7 +739,7 @@ bool pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator Pkg)
|
|
|
break;
|
|
break;
|
|
|
|
|
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << " Reinst Failed early because of " << Start.TargetPkg().Name() << endl;
|
|
|
|
|
|
|
+ clog << " Reinst Failed early because of " << Start.TargetPkg().FullName(false) << endl;
|
|
|
Fail = true;
|
|
Fail = true;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -763,7 +763,7 @@ bool pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator Pkg)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << " Re-Instated " << Pkg.Name() << endl;
|
|
|
|
|
|
|
+ clog << " Re-Instated " << Pkg.FullName(false) << endl;
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
/*}}}*/
|
|
/*}}}*/
|
|
@@ -863,7 +863,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
|
|
|
(Flags[I->ID] & ReInstateTried) == 0)
|
|
(Flags[I->ID] & ReInstateTried) == 0)
|
|
|
{
|
|
{
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << " Try to Re-Instate " << I.Name() << endl;
|
|
|
|
|
|
|
+ clog << " Try to Re-Instate " << I.FullName(false) << endl;
|
|
|
unsigned long OldBreaks = Cache.BrokenCount();
|
|
unsigned long OldBreaks = Cache.BrokenCount();
|
|
|
pkgCache::Version *OldVer = Cache[I].InstallVer;
|
|
pkgCache::Version *OldVer = Cache[I].InstallVer;
|
|
|
Flags[I->ID] &= ReInstateTried;
|
|
Flags[I->ID] &= ReInstateTried;
|
|
@@ -879,14 +879,14 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << "Re-Instated " << I.Name() << " (" << OldBreaks << " vs " << Cache.BrokenCount() << ')' << endl;
|
|
|
|
|
|
|
+ clog << "Re-Instated " << I.FullName(false) << " (" << OldBreaks << " vs " << Cache.BrokenCount() << ')' << endl;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (Cache[I].InstallVer == 0 || Cache[I].InstBroken() == false)
|
|
if (Cache[I].InstallVer == 0 || Cache[I].InstBroken() == false)
|
|
|
continue;
|
|
continue;
|
|
|
|
|
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << "Investigating " << I.Name() << endl;
|
|
|
|
|
|
|
+ clog << "Investigating " << I << endl;
|
|
|
|
|
|
|
|
// Isolate the problem dependency
|
|
// Isolate the problem dependency
|
|
|
PackageKill KillList[100];
|
|
PackageKill KillList[100];
|
|
@@ -911,7 +911,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
|
|
|
if ((Flags[I->ID] & Protected) != Protected)
|
|
if ((Flags[I->ID] & Protected) != Protected)
|
|
|
{
|
|
{
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << " Or group remove for " << I.Name() << endl;
|
|
|
|
|
|
|
+ clog << " Or group remove for " << I.FullName(false) << endl;
|
|
|
Cache.MarkDelete(I);
|
|
Cache.MarkDelete(I);
|
|
|
Change = true;
|
|
Change = true;
|
|
|
}
|
|
}
|
|
@@ -919,7 +919,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
|
|
|
if (OldEnd == LEnd && OrOp == OrKeep)
|
|
if (OldEnd == LEnd && OrOp == OrKeep)
|
|
|
{
|
|
{
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << " Or group keep for " << I.Name() << endl;
|
|
|
|
|
|
|
+ clog << " Or group keep for " << I.FullName(false) << endl;
|
|
|
Cache.MarkKeep(I, false, false);
|
|
Cache.MarkKeep(I, false, false);
|
|
|
Change = true;
|
|
Change = true;
|
|
|
}
|
|
}
|
|
@@ -956,7 +956,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << "Package " << I.Name() << " has broken " << Start.DepType() << " on " << Start.TargetPkg().Name() << endl;
|
|
|
|
|
|
|
+ clog << "Broken " << Start << endl;
|
|
|
|
|
|
|
|
/* Look across the version list. If there are no possible
|
|
/* Look across the version list. If there are no possible
|
|
|
targets then we keep the package and bail. This is necessary
|
|
targets then we keep the package and bail. This is necessary
|
|
@@ -987,8 +987,8 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
|
|
|
pkgCache::PkgIterator Pkg = Ver.ParentPkg();
|
|
pkgCache::PkgIterator Pkg = Ver.ParentPkg();
|
|
|
|
|
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << " Considering " << Pkg.Name() << ' ' << (int)Scores[Pkg->ID] <<
|
|
|
|
|
- " as a solution to " << I.Name() << ' ' << (int)Scores[I->ID] << endl;
|
|
|
|
|
|
|
+ clog << " Considering " << Pkg.FullName(false) << ' ' << (int)Scores[Pkg->ID] <<
|
|
|
|
|
+ " as a solution to " << I.FullName(false) << ' ' << (int)Scores[I->ID] << endl;
|
|
|
|
|
|
|
|
/* Try to fix the package under consideration rather than
|
|
/* Try to fix the package under consideration rather than
|
|
|
fiddle with the VList package */
|
|
fiddle with the VList package */
|
|
@@ -1026,7 +1026,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
|
|
|
Cache.MarkInstall(I, false, 0, false);
|
|
Cache.MarkInstall(I, false, 0, false);
|
|
|
|
|
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << " Holding Back " << I.Name() << " rather than change " << Start.TargetPkg().Name() << endl;
|
|
|
|
|
|
|
+ clog << " Holding Back " << I.FullName(false) << " rather than change " << Start.TargetPkg().FullName(false) << endl;
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
@@ -1036,7 +1036,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
|
|
|
if (InOr == false)
|
|
if (InOr == false)
|
|
|
{
|
|
{
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << " Removing " << I.Name() << " rather than change " << Start.TargetPkg().Name() << endl;
|
|
|
|
|
|
|
+ clog << " Removing " << I.FullName(false) << " rather than change " << Start.TargetPkg().FullName(false) << endl;
|
|
|
Cache.MarkDelete(I);
|
|
Cache.MarkDelete(I);
|
|
|
if (Counter > 1 && Scores[Pkg->ID] > Scores[I->ID])
|
|
if (Counter > 1 && Scores[Pkg->ID] > Scores[I->ID])
|
|
|
Scores[I->ID] = Scores[Pkg->ID];
|
|
Scores[I->ID] = Scores[Pkg->ID];
|
|
@@ -1068,7 +1068,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
|
|
|
if (Cache[End] & pkgDepCache::DepGCVer)
|
|
if (Cache[End] & pkgDepCache::DepGCVer)
|
|
|
{
|
|
{
|
|
|
if (Debug)
|
|
if (Debug)
|
|
|
- clog << " Upgrading " << Pkg.Name() << " due to Breaks field in " << I.Name() << endl;
|
|
|
|
|
|
|
+ clog << " Upgrading " << Pkg.FullName(false) << " due to Breaks field in " << I.FullName(false) << endl;
|
|
|
Cache.MarkInstall(Pkg, false, 0, false);
|
|
Cache.MarkInstall(Pkg, false, 0, false);
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
@@ -1079,7 +1079,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
|
|
|
continue;
|
|
continue;
|
|
|
|
|
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << " Added " << Pkg.Name() << " to the remove list" << endl;
|
|
|
|
|
|
|
+ clog << " Added " << Pkg.FullName(false) << " to the remove list" << endl;
|
|
|
|
|
|
|
|
LEnd->Pkg = Pkg;
|
|
LEnd->Pkg = Pkg;
|
|
|
LEnd->Dep = End;
|
|
LEnd->Dep = End;
|
|
@@ -1111,12 +1111,12 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
|
|
|
Cache.MarkInstall(I, false, 0, false);
|
|
Cache.MarkInstall(I, false, 0, false);
|
|
|
|
|
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << " Holding Back " << I.Name() << " because I can't find " << Start.TargetPkg().Name() << endl;
|
|
|
|
|
|
|
+ clog << " Holding Back " << I.FullName(false) << " because I can't find " << Start.TargetPkg().FullName(false) << endl;
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << " Removing " << I.Name() << " because I can't find " << Start.TargetPkg().Name() << endl;
|
|
|
|
|
|
|
+ clog << " Removing " << I.FullName(false) << " because I can't find " << Start.TargetPkg().FullName(false) << endl;
|
|
|
if (InOr == false)
|
|
if (InOr == false)
|
|
|
Cache.MarkDelete(I);
|
|
Cache.MarkDelete(I);
|
|
|
}
|
|
}
|
|
@@ -1146,14 +1146,14 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
|
|
|
J->Dep->Type == pkgCache::Dep::Obsoletes)
|
|
J->Dep->Type == pkgCache::Dep::Obsoletes)
|
|
|
{
|
|
{
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << " Fixing " << I.Name() << " via remove of " << J->Pkg.Name() << endl;
|
|
|
|
|
|
|
+ clog << " Fixing " << I.FullName(false) << " via remove of " << J->Pkg.FullName(false) << endl;
|
|
|
Cache.MarkDelete(J->Pkg);
|
|
Cache.MarkDelete(J->Pkg);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << " Fixing " << I.Name() << " via keep of " << J->Pkg.Name() << endl;
|
|
|
|
|
|
|
+ clog << " Fixing " << I.FullName(false) << " via keep of " << J->Pkg.FullName(false) << endl;
|
|
|
Cache.MarkKeep(J->Pkg, false, false);
|
|
Cache.MarkKeep(J->Pkg, false, false);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1189,7 +1189,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
|
|
|
for (;I.end() != true; I++) {
|
|
for (;I.end() != true; I++) {
|
|
|
if (Cache[I].NewInstall() && !(Flags[I->ID] & PreInstalled)) {
|
|
if (Cache[I].NewInstall() && !(Flags[I->ID] & PreInstalled)) {
|
|
|
if(_config->FindI("Debug::pkgAutoRemove",false)) {
|
|
if(_config->FindI("Debug::pkgAutoRemove",false)) {
|
|
|
- std::clog << "Resolve installed new pkg: " << I.Name()
|
|
|
|
|
|
|
+ std::clog << "Resolve installed new pkg: " << I.FullName(false)
|
|
|
<< " (now marking it as auto)" << std::endl;
|
|
<< " (now marking it as auto)" << std::endl;
|
|
|
}
|
|
}
|
|
|
Cache[I].Flags |= pkgCache::Flag::Auto;
|
|
Cache[I].Flags |= pkgCache::Flag::Auto;
|
|
@@ -1252,7 +1252,7 @@ bool pkgProblemResolver::ResolveByKeep()
|
|
|
if ((Flags[I->ID] & Protected) == 0)
|
|
if ((Flags[I->ID] & Protected) == 0)
|
|
|
{
|
|
{
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << "Keeping package " << I.Name() << endl;
|
|
|
|
|
|
|
+ clog << "Keeping package " << I.FullName(false) << endl;
|
|
|
Cache.MarkKeep(I, false, false);
|
|
Cache.MarkKeep(I, false, false);
|
|
|
if (Cache[I].InstBroken() == false)
|
|
if (Cache[I].InstBroken() == false)
|
|
|
{
|
|
{
|
|
@@ -1283,7 +1283,7 @@ bool pkgProblemResolver::ResolveByKeep()
|
|
|
while (true)
|
|
while (true)
|
|
|
{
|
|
{
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << "Package " << I.Name() << " has broken " << Start.DepType() << " on " << Start.TargetPkg().Name() << endl;
|
|
|
|
|
|
|
+ clog << "Package " << I.FullName(false) << " " << Start << endl;
|
|
|
|
|
|
|
|
// Look at all the possible provides on this package
|
|
// Look at all the possible provides on this package
|
|
|
SPtrArray<pkgCache::Version *> VList = Start.AllTargets();
|
|
SPtrArray<pkgCache::Version *> VList = Start.AllTargets();
|
|
@@ -1300,7 +1300,7 @@ bool pkgProblemResolver::ResolveByKeep()
|
|
|
if ((Flags[I->ID] & Protected) == 0)
|
|
if ((Flags[I->ID] & Protected) == 0)
|
|
|
{
|
|
{
|
|
|
if (Debug == true)
|
|
if (Debug == true)
|
|
|
- clog << " Keeping Package " << Pkg.Name() << " due to " << Start.DepType() << endl;
|
|
|
|
|
|
|
+ clog << " Keeping Package " << Pkg.FullName(false) << " due to " << Start.DepType() << endl;
|
|
|
Cache.MarkKeep(Pkg, false, false);
|
|
Cache.MarkKeep(Pkg, false, false);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1325,7 +1325,7 @@ bool pkgProblemResolver::ResolveByKeep()
|
|
|
|
|
|
|
|
// Restart again.
|
|
// Restart again.
|
|
|
if (K == LastStop)
|
|
if (K == LastStop)
|
|
|
- return _error->Error("Internal Error, pkgProblemResolver::ResolveByKeep is looping on package %s.",I.Name());
|
|
|
|
|
|
|
+ return _error->Error("Internal Error, pkgProblemResolver::ResolveByKeep is looping on package %s.",I.FullName(false));
|
|
|
LastStop = K;
|
|
LastStop = K;
|
|
|
K = PList - 1;
|
|
K = PList - 1;
|
|
|
}
|
|
}
|