summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2011-03-16 18:39:11 +0100
committerDavid Kalnischkies <kalnischkies@gmail.com>2011-03-16 18:39:11 +0100
commit6f31b247bae228250899b62b9dab6b13dc4ff170 (patch)
tree731d773414be400e4068b97eff406fd51ac3ae39 /apt-pkg
parent84aa13f4e620c460c98b351a6ef12027d8d6da9c (diff)
* apt-pkg/deb/dpkgpm.cc:
- skip --configure if all packages disappeared
Diffstat (limited to 'apt-pkg')
-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;