diff options
-rw-r--r-- | apt-pkg/deb/debindexfile.cc | 9 | ||||
-rw-r--r-- | apt-pkg/deb/debindexfile.h | 3 | ||||
-rw-r--r-- | apt-pkg/indexfile.cc | 8 |
3 files changed, 17 insertions, 3 deletions
diff --git a/apt-pkg/deb/debindexfile.cc b/apt-pkg/deb/debindexfile.cc index 32ccd7529..793882e67 100644 --- a/apt-pkg/deb/debindexfile.cc +++ b/apt-pkg/deb/debindexfile.cc @@ -249,7 +249,14 @@ pkgCache::PkgFileIterator debDebPkgFileIndex::FindInCache(pkgCache &Cache) const return File; } - +std::string debDebPkgFileIndex::ArchiveInfo_impl(pkgCache::VerIterator const &Ver) const +{ + std::string Res = IndexFileName() + " "; + Res.append(Ver.ParentPkg().Name()).append(" "); + Res.append(Ver.Arch()).append(" "); + Res.append(Ver.VerStr()); + return Res; +} /*}}}*/ // DscFile Index - a single .dsc file as an index /*{{{*/ debDscFileIndex::debDscFileIndex(std::string const &DscFile) diff --git a/apt-pkg/deb/debindexfile.h b/apt-pkg/deb/debindexfile.h index 5bec4f2ea..e96a4761e 100644 --- a/apt-pkg/deb/debindexfile.h +++ b/apt-pkg/deb/debindexfile.h @@ -144,6 +144,9 @@ public: debDebPkgFileIndex(std::string const &DebFile); virtual ~debDebPkgFileIndex(); + + //FIXME: use proper virtual-handling on next ABI break + APT_HIDDEN std::string ArchiveInfo_impl(pkgCache::VerIterator const &Ver) const; }; class debDscFileIndex : public pkgDebianIndexRealFile diff --git a/apt-pkg/indexfile.cc b/apt-pkg/indexfile.cc index f57b442a3..34ebcb2b8 100644 --- a/apt-pkg/indexfile.cc +++ b/apt-pkg/indexfile.cc @@ -21,9 +21,10 @@ #include <apt-pkg/srcrecords.h> #include <apt-pkg/strutl.h> #include <apt-pkg/progress.h> +#include <apt-pkg/deblistparser.h> #include <apt-pkg/macros.h> -#include <apt-pkg/deblistparser.h> +#include <apt-pkg/debindexfile.h> #include <sys/stat.h> @@ -66,8 +67,11 @@ pkgIndexFile::pkgIndexFile(bool const Trusted) : /*{{{*/ } /*}}}*/ // IndexFile::ArchiveInfo - Stub /*{{{*/ -std::string pkgIndexFile::ArchiveInfo(pkgCache::VerIterator const &/*Ver*/) const +std::string pkgIndexFile::ArchiveInfo(pkgCache::VerIterator const &Ver) const { + debDebPkgFileIndex const * const debfile = dynamic_cast<debDebPkgFileIndex const*>(this); + if (debfile != nullptr) + return debfile->ArchiveInfo_impl(Ver); return std::string(); } /*}}}*/ |