X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/88593886a42025d51d76051da5929b044e42efee..6586d1dbdbbd19b53ce6f348ea3643f42da354eb:/apt-pkg/indexcopy.cc diff --git a/apt-pkg/indexcopy.cc b/apt-pkg/indexcopy.cc index 461aa4217..c54b365dc 100644 --- a/apt-pkg/indexcopy.cc +++ b/apt-pkg/indexcopy.cc @@ -19,18 +19,19 @@ #include #include #include -#include +#include #include #include #include +#include #include -#include #include #include #include #include #include +#include #include "indexcopy.h" #include @@ -89,7 +90,7 @@ bool IndexCopy::CopyPackages(string CDROM,string Name,vector &List, off_t const FileSize = Pkg.Size(); pkgTagFile Parser(&Pkg); - if (_error->PendingError() == true) + if (Pkg.IsOpen() == false || Pkg.Failed()) return false; // Open the output file @@ -106,7 +107,7 @@ bool IndexCopy::CopyPackages(string CDROM,string Name,vector &List, } else { Target.Open(TargetF,FileFd::WriteAtomic); } - if (_error->PendingError() == true) + if (Target.IsOpen() == false || Target.Failed()) return false; // Setup the progress meter @@ -424,7 +425,6 @@ bool PackageCopy::GetFile(string &File,unsigned long long &Size) // PackageCopy::RewriteEntry - Rewrite the entry with a new filename /*{{{*/ bool PackageCopy::RewriteEntry(FileFd &Target,string const &File) { - string const Dir(File,0,File.rfind('/')); std::vector Changes; Changes.push_back(pkgTagSection::Tag::Rewrite("Filename", File)); @@ -477,9 +477,9 @@ bool SourceCopy::RewriteEntry(FileFd &Target, std::string const &File) } /*}}}*/ // SigVerify::Verify - Verify a files md5sum against its metaindex /*{{{*/ -bool SigVerify::Verify(string prefix, string file, indexRecords *MetaIndex) +bool SigVerify::Verify(string prefix, string file, metaIndex *MetaIndex) { - const indexRecords::checkSum *Record = MetaIndex->Lookup(file); + const metaIndex::checkSum *Record = MetaIndex->Lookup(file); bool const Debug = _config->FindB("Debug::aptcdrom",false); // we skip non-existing files in the verifcation of the Release file @@ -546,11 +546,11 @@ bool SigVerify::CopyAndVerify(string CDROM,string Name,vector &SigList, // Read all Release files for (vector::iterator I = SigList.begin(); I != SigList.end(); ++I) - { + { if(Debug) cout << "Signature verify for: " << *I << endl; - indexRecords *MetaIndex = new indexRecords; + metaIndex *MetaIndex = new debReleaseIndex("",""); string prefix = *I; string const releasegpg = *I+"Release.gpg"; @@ -592,12 +592,13 @@ bool SigVerify::CopyAndVerify(string CDROM,string Name,vector &SigList, } // Open the Release file and add it to the MetaIndex - if(!MetaIndex->Load(release)) + std::string ErrorText; + if(MetaIndex->Load(release, &ErrorText) == false) { - _error->Error("%s",MetaIndex->ErrorText.c_str()); + _error->Error("%s", ErrorText.c_str()); return false; } - + // go over the Indexfiles and see if they verify // if so, remove them from our copy of the lists vector keys = MetaIndex->MetaKeys(); @@ -682,7 +683,7 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name, /*{{{*/ off_t const FileSize = Pkg.Size(); pkgTagFile Parser(&Pkg); - if (_error->PendingError() == true) + if (Pkg.IsOpen() == false || Pkg.Failed()) return false; // Open the output file @@ -699,7 +700,7 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name, /*{{{*/ } else { Target.Open(TargetF,FileFd::WriteAtomic); } - if (_error->PendingError() == true) + if (Pkg.IsOpen() == false || Pkg.Failed()) return false; // Setup the progress meter @@ -770,4 +771,14 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name, /*{{{*/ } /*}}}*/ +IndexCopy::IndexCopy() : d(NULL) {} APT_CONST IndexCopy::~IndexCopy() {} + +PackageCopy::PackageCopy() : IndexCopy(), d(NULL) {} +APT_CONST PackageCopy::~PackageCopy() {} +SourceCopy::SourceCopy() : IndexCopy(), d(NULL) {} +APT_CONST SourceCopy::~SourceCopy() {} +TranslationsCopy::TranslationsCopy() : d(NULL) {} +APT_CONST TranslationsCopy::~TranslationsCopy() {} +SigVerify::SigVerify() : d(NULL) {} +APT_CONST SigVerify::~SigVerify() {}