summaryrefslogtreecommitdiff
path: root/apt-pkg/install-progress.cc
AgeCommit message (Collapse)AuthorFilesLines
2016-08-26Use C locale instead of C.UTF-8 for protocol stringsJulian Andres Klode1-2/+2
The C.UTF-8 locale is not portable, so we need to use C, otherwise we crash on other systems. We can use std::locale::classic() for that, which might also be a bit cheaper than using locale("C").
2016-08-23prevent C++ locale number formatting in text APIs (try 3)David Kalnischkies1-34/+39
This time it is the formatting of floating numbers in progress reporting with a radix charater potentially not being dot. Followup of 7303e11ff28f920a6277c159aa46f80c007350bb. Regression of b58e2c7c56b1416a343e81f9f80cb1f02c128e25 in so far as it exchanging very effected with slightly less effected code. LP: 1611010
2016-08-12don't perform int<float in progress bar drawingDavid Kalnischkies1-12/+8
Comparing floating numbers is always fun and in this instance a 9 < 9.0 is "somehow" true on hurd-i386 letting the tests fail by reporting that too much progress achieved. A bit mysterious, but with some rework we can use code which avoids dealing with the floats in this way entirely and make our testcases happy.
2016-05-27prevent C++ locale number formatting in text APIsDavid Kalnischkies1-55/+34
Setting the C++ locale via std::locale::global(std::locale("")); which would otherwise default to the default C locale (aka: unaffected by setlocale) effects the formatting of numeric types in IO streams, which for output for humans is perfectly sensible, but breaks our many text interfaces used and parsed by us and others without expecting the numbers to be formatted. Closes: #825396
2016-03-14flush line-clearing on progress stop before post-invokeDavid Kalnischkies1-0/+1
All other interactions with std::cout are flushed directly, just in the stop case we hadn't done it – no problem expect if there is still output coming after apt is done like in the case of a post-invoke script producing output. Closes: 793672
2015-08-17Fix all the wrong removals of includes that iwyu got wrongMichael Vogt1-0/+1
Git-Dch: ignore
2015-08-17Cleanup includes after running iwyuMichael Vogt1-2/+0
2015-08-16Use terminfo's typical save_cursor/restore_cursor sequencesJames McCoy1-4/+4
Not all terminals understand DOS' escape sequences for save/restore cursor, so use the more typical sequences from terminfo. Closes: #772521 Signed-off-by: James McCoy <jamessan@debian.org>
2015-08-10make all d-pointer * const pointersDavid Kalnischkies1-4/+4
Doing this disables the implicit copy assignment operator (among others) which would cause hovac if used on the classes as it would just copy the pointer, not the data the d-pointer points to. For most of the classes we don't need a copy assignment operator anyway and in many classes it was broken before as many contain a pointer of some sort. Only for our Cacheset Container interfaces we define an explicit copy assignment operator which could later be implemented to copy the data from one d-pointer to the other if we need it. Git-Dch: Ignore
2015-06-16add d-pointer, virtual destructors and de-inline de/constructorsDavid Kalnischkies1-0/+6
To have a chance to keep the ABI for a while we need all three to team up. One of them missing and we might loose, so ensuring that they are available is a very tedious but needed task once in a while. Git-Dch: Ignore
2014-09-30fix another instance of warning: extra ‘;’ [-Wpedantic]David Kalnischkies1-2/+2
Git-Dch: Ignore
2014-09-27fix: Member variable 'X' is not initialized in the constructor.David Kalnischkies1-0/+2
Reported-By: cppcheck Git-Dch: Ignore
2014-04-14force fancy progressbar redraw on window size changeDavid Kalnischkies1-12/+23
We always reacted on the size change, but the bar is only redraw if the precentage changes, which can take quiet a while in big upgrades, so with a bit of refactoring we can now call for a redraw immediate to fix this. This refactor also helps in avoiding obscure pitfalls clangs static analyser was complaining about (namely failure of ioctl resulting in garbage values in the struct).
2014-03-27Add progressbar to "Dpkg::Progress-Fancy"Michael Vogt1-11/+52
A text progressbar is now displayed in the Dpkg::Progress-Fancy mode. It can be turned off via the apt option Dpkg::Progress-Fancy::Progress-Bar=false
2014-03-27make fancy-progress fg/bg color configurableMichael Vogt1-2/+6
Add two new options: Dpkg::Progress-Fancy::Progress-{fg,bg} that allows customizing the colors in the dpkg fancy progress output.
2014-03-13follow method attribute suggestions by gccDavid Kalnischkies1-2/+2
Git-Dch: Ignore Reported-By: gcc -Wsuggest-attribute={pure,const,noreturn}
2014-03-13cleanup headers and especially #includes everywhereDavid Kalnischkies1-12/+18
Beside being a bit cleaner it hopefully also resolves oddball problems I have with high levels of parallel jobs. Git-Dch: Ignore Reported-By: iwyu (include-what-you-use)
2014-03-13warning: unused parameter ‘foo’ [-Wunused-parameter]David Kalnischkies1-2/+2
Reported-By: gcc -Wunused-parameter Git-Dch: Ignore
2014-03-13warning: extra ‘;’ [-Wpedantic]David Kalnischkies1-2/+2
Git-Dch: Ignore Reported-By: gcc -Wpedantic
2014-01-16correct some style/performance/warnings from cppcheckDavid Kalnischkies1-1/+1
The most "visible" change is from utime to utimensat/futimens as the first one isn't part of POSIX anymore. Reported-By: cppcheck Git-Dch: Ignore
2013-12-28Merge branch 'debian/sid' into bugfix/bts731738-fancy-progessMichael Vogt1-0/+1
Conflicts: apt-pkg/install-progress.cc
2013-12-28Merge remote-tracking branch 'origin/bugfix/bts731738-fancy-progess' into ↵Michael Vogt1-2/+0
bugfix/bts731738-fancy-progess Conflicts: apt-pkg/install-progress.cc
2013-12-28properly handle SIGWINCH in PackageManagerFancy againMichael Vogt1-23/+42
2013-12-22first proof-of-concept for a fix for #731738Michael Vogt1-1/+8
2013-12-22first proof-of-concept for a fix for #731738Michael Vogt1-1/+8
2013-12-12Fix conffile prompt regression (LP: #1260297)Michael Vogt1-1/+1
This fixes a regression in the conffile prompt for the progress-fd and adds a testcase to ensure this does not regress again.
2013-12-06Handle SIGWINCH in APT::Progress-Fancy=1Michael Vogt1-7/+25
2013-11-01small documentation updates0.9.13_exp1Michael Vogt1-0/+4
2013-10-31setup LINES in apt-pkg/install-progress.ccMichael Vogt1-0/+5
2013-10-31use StartDpkg() in PackageManagerProgressDeb822Fd as wellMichael Vogt1-1/+1
2013-10-31add new pid_t ExecFork(std::set<int> KeepFDs) to get rid of the super ugly ↵Michael Vogt1-5/+1
APT::Keep-Fds hack and also add a new PackageManagerProgressFd::StartDpkg() progress state
2013-10-31restore ABI and prepare next ABI via #if (APT_PKG_MAJOR >= 4 && ↵Michael Vogt1-0/+22
APT_PKG_MINOR >= 13)
2013-10-22fix install-progress locationMichael Vogt1-2/+1
2013-10-22move install-progress.{cc,h} to apt-pkgMichael Vogt1-0/+306