From: David Kalnischkies Date: Fri, 18 Nov 2016 11:04:08 +0000 (+0100) Subject: react to trig-pend only if we have nothing else to do X-Git-Tag: 1.4_beta1~15 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/066d4a5bab628ef8220971bb5763ff8f3a13de07?hp=49521f87851089bdb4097b715d09a8bd348aa60a react to trig-pend only if we have nothing else to do If a package is triggered dpkg frequently issues two messages about it causing us to make a note about it both times which messes up our planned dpkg actions view. Adding these actions if we have nothing else planned fixes this and should still be correct as those planned actions will deal with the triggering just fine and we avoid strange problems like a package triggered before its removed… --- diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 9d1739d68..7c41e02b4 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -715,18 +715,7 @@ void pkgDPkgPM::ProcessDpkgStatusLine(char *line) if (prefix == "status") { std::vector &states = PackageOps[pkgname]; - if (action == "triggers-pending") - { - if (Debug == true) - std::clog << "(parsed from dpkg) pkg: " << pkgname - << " action: " << action << " (prefix 2 to " - << PackageOpsDone[pkgname] << " of " << states.size() << ")" << endl; - - states.insert(states.begin(), {"installed", N_("Installed %s")}); - states.insert(states.begin(), {"half-configured", N_("Configuring %s")}); - PackagesTotal += 2; - } - else if(PackageOpsDone[pkgname] < states.size()) + if(PackageOpsDone[pkgname] < states.size()) { char const * next_action = states[PackageOpsDone[pkgname]].state; if (next_action) @@ -793,6 +782,17 @@ void pkgDPkgPM::ProcessDpkgStatusLine(char *line) } } } + else if (action == "triggers-pending") + { + if (Debug == true) + std::clog << "(parsed from dpkg) pkg: " << pkgname + << " action: " << action << " (prefix 2 to " + << PackageOpsDone[pkgname] << " of " << states.size() << ")" << endl; + + states.insert(states.begin(), {"installed", N_("Installed %s")}); + states.insert(states.begin(), {"half-configured", N_("Configuring %s")}); + PackagesTotal += 2; + } } } /*}}}*/