diff options
| -rw-r--r-- | apt-pkg/contrib/progress.cc | 11 | ||||
| -rw-r--r-- | apt-private/private-cmndline.cc | 4 | ||||
| -rw-r--r-- | doc/examples/configure-index | 1 |
3 files changed, 12 insertions, 4 deletions
diff --git a/apt-pkg/contrib/progress.cc b/apt-pkg/contrib/progress.cc index a2c4332ca..df068e43a 100644 --- a/apt-pkg/contrib/progress.cc +++ b/apt-pkg/contrib/progress.cc @@ -153,13 +153,15 @@ void OpTextProgress::Done() { if (NoUpdate == false && OldOp.empty() == false) { - char S[300]; + char S[300] = {}; if (_error->PendingError() == true) snprintf(S,sizeof(S),_("%c%s... Error!"),'\r',OldOp.c_str()); - else + else if (not _config->FindB("APT::Internal::OpProgress::EraseLines", true)) snprintf(S,sizeof(S),_("%c%s... Done"),'\r',OldOp.c_str()); Write(S); - cout << endl; + // FIXME: apt-cdrom relies on this end of line being printed + if (_error->PendingError() || not _config->FindB("APT::Internal::OpProgress::EraseLines", true)) + cout << endl; OldOp = string(); } @@ -200,7 +202,8 @@ void OpTextProgress::Update() { snprintf(S,sizeof(S),"\r%s",OldOp.c_str()); Write(S); - cout << endl; + if (_config->FindB("APT::Internal::OpProgress::EraseLines", true)) + cout << endl; } // Print the spinner. Absolute progress shows us a time progress. diff --git a/apt-private/private-cmndline.cc b/apt-private/private-cmndline.cc index cbab22031..505f1f2b8 100644 --- a/apt-private/private-cmndline.cc +++ b/apt-private/private-cmndline.cc @@ -481,6 +481,10 @@ static bool ShowCommonHelp(APT_CMD const Binary, CommandLine &CmdL, std::vector< static void BinarySpecificConfiguration(char const * const Binary) /*{{{*/ { std::string const binary = flNotDir(Binary); + if (binary == "apt-cdrom" || binary == "apt-config") + { + _config->CndSet("Binary::apt-cdrom::APT::Internal::OpProgress::EraseLines", false); + } if (binary == "apt" || binary == "apt-config") { if (getenv("NO_COLOR") == nullptr) diff --git a/doc/examples/configure-index b/doc/examples/configure-index index 9a2bcbf1c..a8fc98daa 100644 --- a/doc/examples/configure-index +++ b/doc/examples/configure-index @@ -881,6 +881,7 @@ Rred::f "<BOOL>"; Rred::Compress "<STRING>"; APT::Internal::OpProgress::Absolute "<BOOL>"; +APT::Internal::OpProgress::EraseLines "<BOOL>"; APT::Color "<BOOL>"; update-manager::always-include-phased-updates "<BOOL>"; |
