summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
8d3489a)
- change the debug outputs to display also arch of the
package and version dependencies information
+ out << Pkg.FullName(true);
{
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());
// Sim.MarkInstall(Pkg,false);
if (Sim[Pkg].InstBroken() == true)
{
// Sim.MarkInstall(Pkg,false);
if (Sim[Pkg].InstBroken() == true)
{
- cout << "Conf " << Pkg.Name() << " broken" << endl;
+ cout << "Conf " << Pkg.FullName(false) << " broken" << endl;
continue;
if (D->Type == pkgCache::Dep::Obsoletes)
continue;
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);
- cout << " Depends:" << D.TargetPkg().Name();
+ cout << " Depends:" << D.TargetPkg().FullName(false);
- _error->Error("Conf Broken %s",Pkg.Name());
+ _error->Error("Conf Broken %s",Pkg.FullName(false));
if (Sim[I].InstBroken() == true)
{
if (Flags[I->ID] == 0)
if (Sim[I].InstBroken() == true)
{
if (Flags[I->ID] == 0)
- cout << I.Name() << ' ';
+ cout << I.FullName(false) << ' ';
/* else
cout << I.Name() << "! ";*/
}
/* else
cout << I.Name() << "! ";*/
}
Cache.MarkInstall(I, false, 0, false);
else
return _error->Error(_("The package %s needs to be reinstalled, "
Cache.MarkInstall(I, false, 0, false);
else
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));
default:
if (I->InstState != pkgCache::State::Ok)
return _error->Error("The package %s is not ok and I "
default:
if (I->InstState != pkgCache::State::Ok)
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));
if ((Flags[P->ID] & Protected) == Protected)
{
if (Debug == true)
if ((Flags[P->ID] & Protected) == Protected)
{
if (Debug == true)
- clog << " Reinst Failed because of protected " << P.Name() << endl;
+ clog << " Reinst Failed because of protected " << P.FullName(false) << endl;
if (DoUpgrade(P) == false)
{
if (Debug == true)
if (DoUpgrade(P) == false)
{
if (Debug == true)
- clog << " Reinst Failed because of " << P.Name() << endl;
+ clog << " Reinst Failed because of " << P.FullName(false) << endl;
break;
if (Debug == true)
break;
if (Debug == true)
- clog << " Reinst Failed early because of " << Start.TargetPkg().Name() << endl;
+ clog << " Reinst Failed early because of " << Start.TargetPkg().FullName(false) << endl;
- clog << " Re-Instated " << Pkg.Name() << endl;
+ clog << " Re-Instated " << Pkg.FullName(false) << endl;
(Flags[I->ID] & ReInstateTried) == 0)
{
if (Debug == true)
(Flags[I->ID] & ReInstateTried) == 0)
{
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();
pkgCache::Version *OldVer = Cache[I].InstallVer;
Flags[I->ID] &= ReInstateTried;
unsigned long OldBreaks = Cache.BrokenCount();
pkgCache::Version *OldVer = Cache[I].InstallVer;
Flags[I->ID] &= ReInstateTried;
}
else
if (Debug == true)
}
else
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)
continue;
if (Debug == true)
}
if (Cache[I].InstallVer == 0 || Cache[I].InstBroken() == false)
continue;
if (Debug == true)
- clog << "Investigating " << I.Name() << endl;
+ clog << "Investigating " << I << endl;
// Isolate the problem dependency
PackageKill KillList[100];
// Isolate the problem dependency
PackageKill KillList[100];
if ((Flags[I->ID] & Protected) != Protected)
{
if (Debug == true)
if ((Flags[I->ID] & Protected) != Protected)
{
if (Debug == true)
- clog << " Or group remove for " << I.Name() << endl;
+ clog << " Or group remove for " << I.FullName(false) << endl;
Cache.MarkDelete(I);
Change = true;
}
Cache.MarkDelete(I);
Change = true;
}
if (OldEnd == LEnd && OrOp == OrKeep)
{
if (Debug == true)
if (OldEnd == LEnd && OrOp == OrKeep)
{
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);
Change = true;
}
Cache.MarkKeep(I, false, false);
Change = 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
targets then we keep the package and bail. This is necessary
/* Look across the version list. If there are no possible
targets then we keep the package and bail. This is necessary
pkgCache::PkgIterator Pkg = Ver.ParentPkg();
if (Debug == true)
pkgCache::PkgIterator Pkg = Ver.ParentPkg();
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
fiddle with the VList package */
/* Try to fix the package under consideration rather than
fiddle with the VList package */
Cache.MarkInstall(I, false, 0, false);
if (Debug == true)
Cache.MarkInstall(I, false, 0, false);
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;
if (InOr == false)
{
if (Debug == true)
if (InOr == false)
{
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);
if (Counter > 1 && Scores[Pkg->ID] > Scores[I->ID])
Scores[I->ID] = Scores[Pkg->ID];
Cache.MarkDelete(I);
if (Counter > 1 && Scores[Pkg->ID] > Scores[I->ID])
Scores[I->ID] = Scores[Pkg->ID];
if (Cache[End] & pkgDepCache::DepGCVer)
{
if (Debug)
if (Cache[End] & pkgDepCache::DepGCVer)
{
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);
continue;
}
Cache.MarkInstall(Pkg, false, 0, false);
continue;
}
continue;
if (Debug == true)
continue;
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->Dep = End;
LEnd->Pkg = Pkg;
LEnd->Dep = End;
Cache.MarkInstall(I, false, 0, false);
if (Debug == true)
Cache.MarkInstall(I, false, 0, false);
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
{
if (Debug == true)
}
else
{
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)
Cache.MarkDelete(I);
}
if (InOr == false)
Cache.MarkDelete(I);
}
J->Dep->Type == pkgCache::Dep::Obsoletes)
{
if (Debug == true)
J->Dep->Type == pkgCache::Dep::Obsoletes)
{
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);
}
}
else
{
if (Debug == true)
Cache.MarkDelete(J->Pkg);
}
}
else
{
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);
}
for (;I.end() != true; I++) {
if (Cache[I].NewInstall() && !(Flags[I->ID] & PreInstalled)) {
if(_config->FindI("Debug::pkgAutoRemove",false)) {
for (;I.end() != true; I++) {
if (Cache[I].NewInstall() && !(Flags[I->ID] & PreInstalled)) {
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;
}
Cache[I].Flags |= pkgCache::Flag::Auto;
<< " (now marking it as auto)" << std::endl;
}
Cache[I].Flags |= pkgCache::Flag::Auto;
if ((Flags[I->ID] & Protected) == 0)
{
if (Debug == true)
if ((Flags[I->ID] & Protected) == 0)
{
if (Debug == true)
- clog << "Keeping package " << I.Name() << endl;
+ clog << "Keeping package " << I.FullName(false) << endl;
Cache.MarkKeep(I, false, false);
if (Cache[I].InstBroken() == false)
{
Cache.MarkKeep(I, false, false);
if (Cache[I].InstBroken() == false)
{
while (true)
{
if (Debug == true)
while (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
SPtrArray<pkgCache::Version *> VList = Start.AllTargets();
// Look at all the possible provides on this package
SPtrArray<pkgCache::Version *> VList = Start.AllTargets();
if ((Flags[I->ID] & Protected) == 0)
{
if (Debug == true)
if ((Flags[I->ID] & Protected) == 0)
{
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);
}
// Restart again.
if (K == LastStop)
// Restart again.
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;
K = PList - 1;
}
LastStop = K;
K = PList - 1;
}
inline const char *CompType() const {return Owner->CompType(S->CompareOp);};
inline const char *DepType() const {return Owner->DepType(S->Type);};
inline const char *CompType() const {return Owner->CompType(S->CompareOp);};
inline const char *DepType() const {return Owner->DepType(S->Type);};
+ //Nice printable representation
+ friend std::ostream& operator <<(std::ostream& out, DepIterator D);
+
inline DepIterator(pkgCache &Owner, Dependency *Trg, Version* = 0) :
Iterator<Dependency, DepIterator>(Owner, Trg), Type(DepVer) {
if (S == 0)
inline DepIterator(pkgCache &Owner, Dependency *Trg, Version* = 0) :
Iterator<Dependency, DepIterator>(Owner, Trg), Type(DepVer) {
if (S == 0)
+// ostream operator to handle string representation of a dependecy /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+std::ostream& operator<<(ostream& out, pkgCache::DepIterator D)
+{
+ if (D.end() == true)
+ return out << "invalid dependency";
+
+ pkgCache::PkgIterator P = D.ParentPkg();
+ pkgCache::PkgIterator T = D.TargetPkg();
+
+ out << (P.end() ? "invalid pkg" : P.FullName(false)) << " " << D.DepType()
+ << " on ";
+ if (T.end() == true)
+ out << "invalid pkg";
+ else
+ out << T;
+
+ if (D->Version != 0)
+ out << " (" << D.CompType() << " " << D.TargetVer() << ")";
+
+ return out;
+}
+ /*}}}*/
// VerIterator::CompareVer - Fast version compare for same pkgs /*{{{*/
// ---------------------------------------------------------------------
/* This just looks over the version list to see if B is listed before A. In
// VerIterator::CompareVer - Fast version compare for same pkgs /*{{{*/
// ---------------------------------------------------------------------
/* This just looks over the version list to see if B is listed before A. In
[ Programs translations ]
* Swedish translation update. Closes: #592366
[ Programs translations ]
* Swedish translation update. Closes: #592366
- -- Michael Vogt <mvo@debian.org> Fri, 30 Jul 2010 12:42:57 +0200
+ [ David Kalnischkies ]
+ * apt-pkg/algorithms.cc:
+ - change the debug outputs to display also arch of the
+ package and version dependencies information
+
+ -- David Kalnischkies <kalnischkies@gmail.com> Tue, 10 Aug 2010 15:56:11 +0200
apt (0.7.26~exp12) experimental; urgency=low
apt (0.7.26~exp12) experimental; urgency=low