summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apt-pkg/contrib/progress.cc11
-rw-r--r--apt-private/private-cmndline.cc4
-rw-r--r--doc/examples/configure-index1
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>";