summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apt-pkg/packagemanager.cc16
1 files changed, 12 insertions, 4 deletions
diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc
index a1b3f4537..0c6998def 100644
--- a/apt-pkg/packagemanager.cc
+++ b/apt-pkg/packagemanager.cc
@@ -1006,10 +1006,18 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg, bool const Immediate, int c
return false;
if (Immediate == true) {
- // Perform immediate configuration of the package.
- if (SmartConfigure(Pkg, Depth + 1) == false)
- _error->Warning(_("Could not perform immediate configuration on '%s'. "
- "Please see man 5 apt.conf under APT::Immediate-Configure for details. (%d)"),Pkg.FullName().c_str(),2);
+ // Perform immediate configuration of the package.
+ _error->PushToStack();
+ bool configured = SmartConfigure(Pkg, Depth + 1);
+ _error->RevertToStack();
+
+ if (not configured && Debug) {
+ clog << OutputInDepth(Depth);
+ ioprintf(clog, _("Could not perform immediate configuration on '%s'. "
+ "Please see man 5 apt.conf under APT::Immediate-Configure for details. (%d)"),
+ Pkg.FullName().c_str(), 2);
+ clog << endl;
+ }
}
return true;