summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
authorJulian Andres Klode <julian.klode@canonical.com>2019-02-26 11:59:38 +0100
committerJulian Andres Klode <julian.klode@canonical.com>2019-02-26 16:31:20 +0100
commite217a3a425ba72e8b6ce395e1ecd411fbe58e916 (patch)
tree0743ef4a95ed77580cb30c16d87256e0396614e9 /apt-pkg
parenta65b59abbb1772bcee23c6374cad884ca9a6f769 (diff)
pkgSrcRecords::Parser: Fold Files2() into Files()
This is possible now with the API break. Cleaner code, woohoo.
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/deb/debsrcrecords.cc41
-rw-r--r--apt-pkg/deb/debsrcrecords.h1
-rw-r--r--apt-pkg/sourcelist.cc4
-rw-r--r--apt-pkg/srcrecords.cc30
-rw-r--r--apt-pkg/srcrecords.h8
5 files changed, 5 insertions, 79 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<pkgSrcRecords::Parser::BuildDe
// ---------------------------------------------------------------------
/* This parses the list of files and returns it, each file is required to have
a complete source package */
-bool debSrcRecordParser::Files(std::vector<pkgSrcRecords::File> &F)
-{
- std::vector<pkgSrcRecords::File2> F2;
- if (Files2(F2) == false)
- return false;
- for (std::vector<pkgSrcRecords::File2>::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<pkgSrcRecords::File2> &List)
+bool debSrcRecordParser::Files(std::vector<pkgSrcRecords::File> &List)
{
List.clear();
@@ -231,7 +208,7 @@ bool debSrcRecordParser::Files2(std::vector<pkgSrcRecords::File2> &List)
path = Base + path;
// look if we have a record for this file already
- std::vector<pkgSrcRecords::File2>::iterator file = List.begin();
+ std::vector<pkgSrcRecords::File>::iterator file = List.begin();
for (; file != List.end(); ++file)
if (file->Path == path)
break;
@@ -239,12 +216,6 @@ bool debSrcRecordParser::Files2(std::vector<pkgSrcRecords::File2> &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<pkgSrcRecords::File2> &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<pkgSrcRecords::File> &F) APT_OVERRIDE;
- bool Files2(std::vector<pkgSrcRecords::File2> &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<std::st
else if (ext == "changes")
{
debDscRecordParser changes(File, nullptr);
- std::vector<pkgSrcRecords::File2> fileslst;
- if (changes.Files2(fileslst) == false || fileslst.empty())
+ std::vector<pkgSrcRecords::File> 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<pkgSrcRecords::File2> &F2)/*{{{*/
-{
- debSrcRecordParser * const deb = dynamic_cast<debSrcRecordParser*>(this);
- if (deb != NULL)
- return deb->Files2(F2);
-
- std::vector<pkgSrcRecords::File> F;
- if (Files(F) == false)
- return false;
- for (std::vector<pkgSrcRecords::File>::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<pkgSrcRecords::File> &F) = 0;
- bool Files2(std::vector<pkgSrcRecords::File2> &F);
explicit Parser(const pkgIndexFile *Index);
virtual ~Parser();