summaryrefslogtreecommitdiff
path: root/apt-pkg/deb/dpkgpm.cc
diff options
context:
space:
mode:
authorMichael Vogt <mvo@debian.org>2011-04-04 16:49:21 +0200
committerMichael Vogt <mvo@debian.org>2011-04-04 16:49:21 +0200
commitbee9ae120eeaf9f43c9688440fc3fdb8d02bf94a (patch)
tree16f267931477609dca384e60b02cf3819764e171 /apt-pkg/deb/dpkgpm.cc
parent3a1f49c42aae17c23d52486db21fb7c05734dbd2 (diff)
parent410327e1ee0fac0c28a95e45ea75f7359cc8dcb4 (diff)
merged from lp:~donkult/apt/sid
Diffstat (limited to 'apt-pkg/deb/dpkgpm.cc')
-rw-r--r--apt-pkg/deb/dpkgpm.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
index eb9abe909..01808be24 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -1002,6 +1002,7 @@ bool pkgDPkgPM::Go(int OutStatusFd)
else
{
string const nativeArch = _config->Find("APT::Architecture");
+ unsigned long const oldSize = I->Op == Item::Configure ? Size : 0;
for (;I != J && Size < MaxArgBytes; I++)
{
if((*I).Pkg.end() == true)
@@ -1016,8 +1017,11 @@ bool pkgDPkgPM::Go(int OutStatusFd)
Args[n++] = Packages[pkgcount++];
}
Size += strlen(Args[n-1]);
- }
- }
+ }
+ // skip configure action if all sheduled packages disappeared
+ if (oldSize == Size)
+ continue;
+ }
Args[n] = 0;
J = I;