From e217a3a425ba72e8b6ce395e1ecd411fbe58e916 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Tue, 26 Feb 2019 11:59:38 +0100 Subject: pkgSrcRecords::Parser: Fold Files2() into Files() This is possible now with the API break. Cleaner code, woohoo. --- apt-pkg/deb/debsrcrecords.cc | 41 +++-------------------------------------- apt-pkg/deb/debsrcrecords.h | 1 - apt-pkg/sourcelist.cc | 4 ++-- apt-pkg/srcrecords.cc | 30 ------------------------------ apt-pkg/srcrecords.h | 8 -------- apt-private/private-source.cc | 6 +++--- debian/libapt-pkg6.0.symbols | 1 - 7 files changed, 8 insertions(+), 83 deletions(-) diff --git a/apt-pkg/deb/debsrcrecords.cc b/apt-pkg/deb/debsrcrecords.cc index 9656fcac3..0b6cf1ff0 100644 --- a/apt-pkg/deb/debsrcrecords.cc +++ b/apt-pkg/deb/debsrcrecords.cc @@ -158,30 +158,7 @@ bool debSrcRecordParser::BuildDepends(std::vector &F) -{ - std::vector F2; - if (Files2(F2) == false) - return false; - for (std::vector::const_iterator f2 = F2.begin(); f2 != F2.end(); ++f2) - { - pkgSrcRecords::File2 f; -#if __GNUC__ >= 4 - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wdeprecated-declarations" -#endif - f.MD5Hash = f2->MD5Hash; - f.Size = f2->Size; -#if __GNUC__ >= 4 - #pragma GCC diagnostic pop -#endif - f.Path = f2->Path; - f.Type = f2->Type; - F.push_back(f); - } - return true; -} -bool debSrcRecordParser::Files2(std::vector &List) +bool debSrcRecordParser::Files(std::vector &List) { List.clear(); @@ -231,7 +208,7 @@ bool debSrcRecordParser::Files2(std::vector &List) path = Base + path; // look if we have a record for this file already - std::vector::iterator file = List.begin(); + std::vector::iterator file = List.begin(); for (; file != List.end(); ++file) if (file->Path == path) break; @@ -239,12 +216,6 @@ bool debSrcRecordParser::Files2(std::vector &List) // we have it already, store the new hash and be done if (file != List.end()) { - if (checksumField == "Files") - { - APT_IGNORE_DEPRECATED_PUSH - file->MD5Hash = hash; - APT_IGNORE_DEPRECATED_POP - } // an error here indicates that we have two different hashes for the same file if (file->Hashes.push_back(hashString) == false) return _error->Error("Error parsing checksum in %s of source package %s", checksumField.c_str(), Package().c_str()); @@ -252,18 +223,12 @@ bool debSrcRecordParser::Files2(std::vector &List) } // we haven't seen this file yet - pkgSrcRecords::File2 F; + pkgSrcRecords::File F; F.Path = path; F.FileSize = strtoull(size.c_str(), NULL, 10); F.Hashes.push_back(hashString); F.Hashes.FileSize(F.FileSize); - APT_IGNORE_DEPRECATED_PUSH - F.Size = F.FileSize; - if (checksumField == "Files") - F.MD5Hash = hash; - APT_IGNORE_DEPRECATED_POP - // Try to guess what sort of file it is we are getting. string::size_type Pos = F.Path.length()-1; while (1) diff --git a/apt-pkg/deb/debsrcrecords.h b/apt-pkg/deb/debsrcrecords.h index 45617f641..b572d3427 100644 --- a/apt-pkg/deb/debsrcrecords.h +++ b/apt-pkg/deb/debsrcrecords.h @@ -53,7 +53,6 @@ class APT_HIDDEN debSrcRecordParser : public pkgSrcRecords::Parser return std::string(Start,Stop); }; virtual bool Files(std::vector &F) APT_OVERRIDE; - bool Files2(std::vector &F); debSrcRecordParser(std::string const &File,pkgIndexFile const *Index); virtual ~debSrcRecordParser(); diff --git a/apt-pkg/sourcelist.cc b/apt-pkg/sourcelist.cc index a3d693151..5be8fbc0c 100644 --- a/apt-pkg/sourcelist.cc +++ b/apt-pkg/sourcelist.cc @@ -571,8 +571,8 @@ bool pkgSourceList::AddVolatileFile(std::string const &File, std::vector fileslst; - if (changes.Files2(fileslst) == false || fileslst.empty()) + std::vector fileslst; + if (changes.Files(fileslst) == false || fileslst.empty()) return false; auto const basedir = flNotFile(File); for (auto && file: fileslst) diff --git a/apt-pkg/srcrecords.cc b/apt-pkg/srcrecords.cc index 9d515ae75..a830a28f0 100644 --- a/apt-pkg/srcrecords.cc +++ b/apt-pkg/srcrecords.cc @@ -146,36 +146,6 @@ const char *pkgSrcRecords::Parser::BuildDepType(unsigned char const &Type) return fields[Type]; } /*}}}*/ -bool pkgSrcRecords::Parser::Files2(std::vector &F2)/*{{{*/ -{ - debSrcRecordParser * const deb = dynamic_cast(this); - if (deb != NULL) - return deb->Files2(F2); - - std::vector F; - if (Files(F) == false) - return false; - for (std::vector::const_iterator f = F.begin(); f != F.end(); ++f) - { - pkgSrcRecords::File2 f2; -#if __GNUC__ >= 4 - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wdeprecated-declarations" -#endif - f2.MD5Hash = f->MD5Hash; - f2.Size = f->Size; - f2.Hashes.push_back(HashString("MD5Sum", f->MD5Hash)); - f2.FileSize = f->Size; -#if __GNUC__ >= 4 - #pragma GCC diagnostic pop -#endif - f2.Path = f->Path; - f2.Type = f->Type; - F2.push_back(f2); - } - return true; -} - /*}}}*/ pkgSrcRecords::Parser::Parser(const pkgIndexFile *Index) : d(NULL), iIndex(Index) {} diff --git a/apt-pkg/srcrecords.h b/apt-pkg/srcrecords.h index 8c52f5683..77d648fa8 100644 --- a/apt-pkg/srcrecords.h +++ b/apt-pkg/srcrecords.h @@ -29,21 +29,14 @@ class pkgSrcRecords { public: -APT_IGNORE_DEPRECATED_PUSH // Describes a single file struct File { - APT_DEPRECATED_MSG("Use Hashes member instead of hardcoded hash algorithm") std::string MD5Hash; - APT_DEPRECATED_MSG("Use FileSize member instead") unsigned long Size; std::string Path; std::string Type; - }; - struct File2 : public File - { unsigned long long FileSize; HashStringList Hashes; }; -APT_IGNORE_DEPRECATED_POP // Abstract parser for each source record class Parser @@ -86,7 +79,6 @@ APT_IGNORE_DEPRECATED_POP static const char *BuildDepType(unsigned char const &Type) APT_PURE; virtual bool Files(std::vector &F) = 0; - bool Files2(std::vector &F); explicit Parser(const pkgIndexFile *Index); virtual ~Parser(); diff --git a/apt-private/private-source.cc b/apt-private/private-source.cc index c8a48a74a..48c9d8094 100644 --- a/apt-private/private-source.cc +++ b/apt-private/private-source.cc @@ -383,14 +383,14 @@ bool DoSource(CommandLine &CmdL) } // Back track - std::vector Lst; - if (Last->Files2(Lst) == false) { + std::vector Lst; + if (Last->Files(Lst) == false) { return false; } DscFile curDsc; // Load them into the fetcher - for (std::vector::const_iterator I = Lst.begin(); + for (std::vector::const_iterator I = Lst.begin(); I != Lst.end(); ++I) { // Try to guess what sort of file it is we are getting. diff --git a/debian/libapt-pkg6.0.symbols b/debian/libapt-pkg6.0.symbols index a6d1be62f..ee7bd1401 100644 --- a/debian/libapt-pkg6.0.symbols +++ b/debian/libapt-pkg6.0.symbols @@ -1070,7 +1070,6 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER# (c++)"HashStringList::VerifyFile(std::__cxx11::basic_string, std::allocator >) const@APTPKG_6.0" 1.0.9.4 (c++)"HashString::operator==(HashString const&) const@APTPKG_6.0" 1.0.9.4 (c++)"HashString::operator!=(HashString const&) const@APTPKG_6.0" 1.0.9.4 - (c++)"pkgSrcRecords::Parser::Files2(std::vector >&)@APTPKG_6.0" 1.0.9.4 (c++)"APT::Progress::PackageManager::PackageManager()@APTPKG_6.0" 1.1~exp1 (c++)"pkgDPkgPM::Go(APT::Progress::PackageManager*)@APTPKG_6.0" 1.1~exp1 (c++)"pkgPackageManager::DoInstall(APT::Progress::PackageManager*)@APTPKG_6.0" 1.1~exp1 -- cgit v1.2.3