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.cc21
1 files changed, 14 insertions, 7 deletions
diff --git a/apt-pkg/pkgcachegen.cc b/apt-pkg/pkgcachegen.cc
index c0297674a..c3bf1cf36 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.13 1998/07/26 04:49:31 jgg Exp $
+// $Id: pkgcachegen.cc,v 1.14 1998/08/26 04:52:23 jgg Exp $
/* ######################################################################
Package Cache Generator - Generator for the cache structure.
@@ -78,7 +78,7 @@ bool pkgCacheGenerator::MergeList(ListParser &List)
if (NewPackage(Pkg,PackageName) == false)
return _error->Error("Error occured while processing %s (NewPackage)",PackageName.c_str());
Progress.Progress(List.Offset());
-
+
/* Get a pointer to the version structure. We know the list is sorted
so we use that fact in the search. Insertion of new versions is
done with correct sorting */
@@ -327,7 +327,7 @@ bool pkgCacheGenerator::SelectFile(string File,unsigned long Flags)
if (CurrentFile->FileName == 0)
return false;
- Progress.SubProgress(Buf.st_size,File);
+ Progress.SubProgress(Buf.st_size);
return true;
}
/*}}}*/
@@ -519,16 +519,18 @@ static bool pkgMergeStatus(OpProgress &Progress,pkgCacheGenerator &Gen,
FileFd Pkg(File,FileFd::ReadOnly);
debListParser Parser(Pkg);
- Progress.OverallProgress(CurrentSize,TotalSize,Pkg.Size(),"Generating cache");
+ Progress.OverallProgress(CurrentSize,TotalSize,Pkg.Size(),"Reading Package Lists");
if (_error->PendingError() == true)
return _error->Error("Problem opening %s",File.c_str());
CurrentSize += Pkg.Size();
-
+
+ Progress.SubProgress(0,"Local Package State - " + flNotDir(File));
if (Gen.SelectFile(File,pkgCache::Flag::NotSource) == false)
return _error->Error("Problem with SelectFile %s",File.c_str());
if (Gen.MergeList(Parser) == false)
return _error->Error("Problem with MergeList %s",File.c_str());
+ Progress.Progress(Pkg.Size());
}
return true;
@@ -540,6 +542,8 @@ static bool pkgMergeStatus(OpProgress &Progress,pkgCacheGenerator &Gen,
xstatus files into it. */
bool pkgMakeStatusCache(pkgSourceList &List,OpProgress &Progress)
{
+ Progress.OverallProgress(0,1,1,"Reading Package Lists");
+
string CacheFile = _config->FindDir("Dir::Cache::pkgcache");
bool SrcOk = pkgSrcCacheCheck(List);
bool PkgOk = pkgPkgCacheCheck(CacheFile);
@@ -579,11 +583,12 @@ bool pkgMakeStatusCache(pkgSourceList &List,OpProgress &Progress)
string File = ListDir + URItoFileName(I->PackagesURI());
FileFd Pkg(File,FileFd::ReadOnly);
debListParser Parser(Pkg);
- Progress.OverallProgress(CurrentSize,TotalSize,Pkg.Size(),"Generating cache");
+ Progress.OverallProgress(CurrentSize,TotalSize,Pkg.Size(),"Reading Package Lists");
if (_error->PendingError() == true)
return _error->Error("Problem opening %s",File.c_str());
CurrentSize += Pkg.Size();
+ Progress.SubProgress(0,I->PackagesInfo());
if (Gen.SelectFile(File) == false)
return _error->Error("Problem with SelectFile %s",File.c_str());
@@ -602,7 +607,10 @@ bool pkgMakeStatusCache(pkgSourceList &List,OpProgress &Progress)
}
if (PkgOk == true)
+ {
+ Progress.OverallProgress(1,1,1,"Reading Package Lists");
return true;
+ }
// We use the source cache to generate the package cache
string SCacheFile = _config->FindDir("Dir::Cache::srcpkgcache");
@@ -629,4 +637,3 @@ bool pkgMakeStatusCache(pkgSourceList &List,OpProgress &Progress)
return pkgMergeStatus(Progress,Gen,CurrentSize,TotalSize);
}
/*}}}*/
-