summaryrefslogtreecommitdiff
path: root/apt-pkg/pkgcachegen.cc
diff options
context:
space:
mode:
Diffstat (limited to 'apt-pkg/pkgcachegen.cc')
-rw-r--r--apt-pkg/pkgcachegen.cc36
1 files changed, 19 insertions, 17 deletions
diff --git a/apt-pkg/pkgcachegen.cc b/apt-pkg/pkgcachegen.cc
index 46ae33c83..6b3bfa3c5 100644
--- a/apt-pkg/pkgcachegen.cc
+++ b/apt-pkg/pkgcachegen.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: pkgcachegen.cc,v 1.16 1998/09/18 02:42:38 jgg Exp $
+// $Id: pkgcachegen.cc,v 1.17 1998/09/26 05:34:23 jgg Exp $
/* ######################################################################
Package Cache Generator - Generator for the cache structure.
@@ -323,6 +323,7 @@ bool pkgCacheGenerator::SelectFile(string File,unsigned long Flags)
CurrentFile->mtime = Buf.st_mtime;
CurrentFile->NextFile = Cache.HeaderP->FileList;
CurrentFile->Flags = Flags;
+ CurrentFile->ID = Cache.HeaderP->PackageFileCount;
PkgFileName = File;
Cache.HeaderP->FileList = CurrentFile - Cache.PkgFileP;
Cache.HeaderP->PackageFileCount++;
@@ -382,10 +383,25 @@ bool pkgSrcCacheCheck(pkgSourceList &List)
{
if (_error->PendingError() == true)
return false;
-
- // Open the source package cache
+
string CacheFile = _config->FindDir("Dir::Cache::srcpkgcache");
string ListDir = _config->FindDir("Dir::State::lists");
+
+ // Count the number of missing files
+ int Missing = 0;
+ for (pkgSourceList::const_iterator I = List.begin(); I != List.end(); I++)
+ {
+ string File = ListDir + URItoFileName(I->PackagesURI());
+ struct stat Buf;
+ if (stat(File.c_str(),&Buf) != 0)
+ {
+ _error->WarningE("stat","Couldn't stat source package list '%s' (%s)",
+ I->PackagesInfo().c_str(),File.c_str());
+ Missing++;
+ }
+ }
+
+ // Open the source package cache
if (FileExists(CacheFile) == false)
return false;
@@ -410,20 +426,6 @@ bool pkgSrcCacheCheck(pkgSourceList &List)
return false;
}
- // Count the number of missing files
- int Missing = 0;
- for (pkgSourceList::const_iterator I = List.begin(); I != List.end(); I++)
- {
- string File = ListDir + URItoFileName(I->PackagesURI());
- struct stat Buf;
- if (stat(File.c_str(),&Buf) != 0)
- {
- _error->WarningE("stat","Couldn't stat source package list '%s' (%s)",
- I->PackagesInfo().c_str(),File.c_str());
- Missing++;
- }
- }
-
// They are certianly out of sync
if (Cache.Head().PackageFileCount != List.size() - Missing)
return false;