diff options
-rw-r--r-- | apt-pkg/cachefile.cc | 16 | ||||
-rw-r--r-- | apt-pkg/cachefile.h | 3 | ||||
-rw-r--r-- | cmdline/apt-get.cc | 11 |
3 files changed, 24 insertions, 6 deletions
diff --git a/apt-pkg/cachefile.cc b/apt-pkg/cachefile.cc index 8b3b02171..ab3003092 100644 --- a/apt-pkg/cachefile.cc +++ b/apt-pkg/cachefile.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: cachefile.cc,v 1.7 2001/07/01 20:49:08 jgg Exp $ +// $Id: cachefile.cc,v 1.8 2002/04/27 04:28:04 jgg Exp $ /* ###################################################################### CacheFile - Simple wrapper class for opening, generating and whatnot @@ -46,10 +46,10 @@ pkgCacheFile::~pkgCacheFile() _system->UnLock(true); } /*}}}*/ -// CacheFile::Open - Open the cache files, creating if necessary /*{{{*/ +// CacheFile::BuildCaches - Open and build the cache files /*{{{*/ // --------------------------------------------------------------------- /* */ -bool pkgCacheFile::Open(OpProgress &Progress,bool WithLock) +bool pkgCacheFile::BuildCaches(OpProgress &Progress,bool WithLock) { if (WithLock == true) if (_system->Lock() == false) @@ -79,6 +79,16 @@ bool pkgCacheFile::Open(OpProgress &Progress,bool WithLock) Cache = new pkgCache(Map); if (_error->PendingError() == true) return false; + return true; +} + /*}}}*/ +// CacheFile::Open - Open the cache files, creating if necessary /*{{{*/ +// --------------------------------------------------------------------- +/* */ +bool pkgCacheFile::Open(OpProgress &Progress,bool WithLock) +{ + if (BuildCaches(Progress,WithLock) == false) + return false; // The policy engine Policy = new pkgPolicy(Cache); diff --git a/apt-pkg/cachefile.h b/apt-pkg/cachefile.h index e2540ed58..a128c29ab 100644 --- a/apt-pkg/cachefile.h +++ b/apt-pkg/cachefile.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: cachefile.h,v 1.4 2001/02/20 07:03:17 jgg Exp $ +// $Id: cachefile.h,v 1.5 2002/04/27 04:28:04 jgg Exp $ /* ###################################################################### CacheFile - Simple wrapper class for opening, generating and whatnot @@ -46,6 +46,7 @@ class pkgCacheFile inline pkgDepCache::StateCache &operator [](pkgCache::PkgIterator const &I) {return (*DCache)[I];}; inline unsigned char &operator [](pkgCache::DepIterator const &I) {return (*DCache)[I];}; + bool BuildCaches(OpProgress &Progress,bool WithLock = true); bool Open(OpProgress &Progress,bool WithLock = true); void Close(); diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 229acf13c..9708fb077 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: apt-get.cc,v 1.119 2002/04/26 05:36:43 jgg Exp $ +// $Id: apt-get.cc,v 1.120 2002/04/27 04:28:04 jgg Exp $ /* ###################################################################### apt-get - Cover for dpkg @@ -80,6 +80,13 @@ class CacheFile : public pkgCacheFile void Sort(); bool CheckDeps(bool AllowBroken = false); + bool BuildCaches(bool WithLock = true) + { + OpTextProgress Prog(*_config); + if (pkgCacheFile::BuildCaches(Prog,WithLock) == false) + return false; + return true; + } bool Open(bool WithLock = true) { OpTextProgress Prog(*_config); @@ -1224,7 +1231,7 @@ bool DoUpdate(CommandLine &CmdL) // Prepare the cache. CacheFile Cache; - if (Cache.Open() == false) + if (Cache.BuildCaches() == false) return false; if (Failed == true) |