summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2008-10-01 18:35:23 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2008-10-01 18:35:23 +0200
commit496d5c709d9811f03b70ef0eaf6733c13d2564d2 (patch)
tree4bad58038dbb3a7601361178a346d963b9f1a39d /apt-pkg
parentf7dec19f5ce3b876c5d2eaeb2d26cf513780c935 (diff)
* apt-pkg/packagemanager.cc, apt-pkg/deb/dpkgpm.cc:
- move the state file writting into the Go() implementation of dpkgpm (closes: #498799) * apt-pkg/algorithms.cc: - fix simulation performance drop (thanks to Ferenc Wagner for reporting the issue)
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/algorithms.cc3
-rw-r--r--apt-pkg/algorithms.h1
-rw-r--r--apt-pkg/deb/dpkgpm.cc2
-rw-r--r--apt-pkg/packagemanager.cc4
4 files changed, 5 insertions, 5 deletions
diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc
index eaab4c0ea..59f994cd7 100644
--- a/apt-pkg/algorithms.cc
+++ b/apt-pkg/algorithms.cc
@@ -37,7 +37,8 @@ pkgProblemResolver *pkgProblemResolver::This = 0;
this is not necessary since the pkgCaches are fully shared now. */
pkgSimulate::pkgSimulate(pkgDepCache *Cache) : pkgPackageManager(Cache),
iPolicy(Cache),
- Sim(&Cache->GetCache(),&iPolicy)
+ Sim(&Cache->GetCache(),&iPolicy),
+ group(Sim)
{
Sim.Init(0);
Flags = new unsigned char[Cache->Head().PackageCount];
diff --git a/apt-pkg/algorithms.h b/apt-pkg/algorithms.h
index defaed57d..d183cd213 100644
--- a/apt-pkg/algorithms.h
+++ b/apt-pkg/algorithms.h
@@ -60,6 +60,7 @@ class pkgSimulate : public pkgPackageManager
Policy iPolicy;
pkgDepCache Sim;
+ pkgDepCache::ActionGroup group;
// The Actuall installation implementation
virtual bool Install(PkgIterator Pkg,string File);
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
index 70dd09bc6..4fad0fd52 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -956,6 +956,8 @@ bool pkgDPkgPM::Go(int OutStatusFd)
if (RunScripts("DPkg::Post-Invoke") == false)
return false;
+
+ Cache.writeStateFile(NULL);
return true;
}
/*}}}*/
diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc
index c391a6036..304d1c653 100644
--- a/apt-pkg/packagemanager.cc
+++ b/apt-pkg/packagemanager.cc
@@ -666,10 +666,6 @@ pkgPackageManager::DoInstallPostFork(int statusFd)
if(goResult == false)
return Failed;
- // if all was fine update the state file
- if(Res == Completed) {
- Cache.writeStateFile(NULL);
- }
return Res;
};