#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>
}
/*}}}*/
// 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();
}
/*}}}*/
APT_CASE(DEFAULTENABLED);
APT_CASE(COMPRESSIONTYPES);
APT_CASE(SOURCESENTRY);
+ APT_CASE(BY_HASH);
#undef APT_CASE
case FILENAME: return _config->FindDir("Dir::State::lists") + URItoFileName(URI);
case EXISTING_FILENAME:
return Target.Description;
}
-pkgDebianIndexRealFile::pkgDebianIndexRealFile(std::string const &File, bool const Trusted) :/*{{{*/
- pkgDebianIndexFile(Trusted), d(NULL), File(flAbsPath(File))
+pkgDebianIndexRealFile::pkgDebianIndexRealFile(std::string const &pFile, bool const Trusted) :/*{{{*/
+ pkgDebianIndexFile(Trusted), d(NULL)
{
+ if (pFile == "/nonexistent/stdin")
+ File = pFile;
+ else
+ File = flAbsPath(pFile);
}
/*}}}*/
// IndexRealFile::Size - Return the size of the index /*{{{*/
_error->PushToStack();
std::unique_ptr<pkgCacheListParser> Parser(CreateListParser(Pkg));
bool const newError = _error->PendingError();
+ _error->MergeWithStack();
if (newError == false && Parser == nullptr)
return true;
if (Parser == NULL)