If the apt options: "APT::Status-Fd" is set, apt will send status reports to that fd. The status information is seperated with a ':', there are the following status conditions:
status = {"pmstatus", "dlstatus", "conffile-prompt", "error", "media-change" }
The reason for using a fd instead of a OpProgress class is that many apt frontend fork a (vte) terminal for the actual installation.
The reason to do the mapping and l10n of the dpkg states to human readable (and translatable) strings is that this way the translation needs to be done only once for all frontends.
Status of the package manager (dpkg). This is send when packages are installed/removed. pmstatus:pkgname:TotalPercentage:action-description
PkgName = the name of the package TotalPercentage = the total progress between [0..100] description = a i18ned human readable decription of the current action
Example:
pmstatus:3dchess:20:Preparing 3dchess pmstatus:3dchess:40:Unpacking 3dchess pmstatus:3dchess:60:Preparing to configure 3dchess pmstatus:3dchess:80:Configuring 3dchess pmstatus:3dchess:100:Installed 3dchess
pmerror:deb:TotalPercentage:error string
Example: pmerror: /var/cache/apt/archives/krecipes_0.8.1-0ubuntu1_i386.deb : 75% : trying to overwrite `/usr/share/doc/kde/HTML/en/krecipes/krectip.png', which is also in package krecipes-data
pmconffile:conffile:percent:'current-conffile' 'new-conffile' useredited distedited
media-change:medium:drive:human-readable string
example: media-change: Ubuntu 5.10 Breezy Badger - Alpha i386 (20050830):/cdrom/:Please insert the disc labeled: 'Ubuntu 5.10 Breezy Badger - Alpha i386 (20050830)' in the drive '/cdrom/' and press enter.
dlstatus:AlreadDownloaded:TotalPercentage:action-description
AlreadyDownloaded = the number of already downloaded packages TotalPercentage = the total progress between [0..100] description = a i18ned human readable decription of the current action
Example: dlstatus:1:9.05654:Downloading file 1 of 3 (4m40s remaining) dlstatus:1:9.46357:Downloading file 1 of 3 (4m39s remaining) dlstatus:1:9.61022:Downloading file 1 of 3 (4m38s remaining)