X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/a1e68c33ac15be454984b00d62c7fc331bd0b32b..4e03c47de15164f2656d9655edab6fb3570cb2f2:/apt-inst/deb/debfile.h diff --git a/apt-inst/deb/debfile.h b/apt-inst/deb/debfile.h index 2c4734f9e..9d286716a 100644 --- a/apt-inst/deb/debfile.h +++ b/apt-inst/deb/debfile.h @@ -27,10 +27,18 @@ #include #include #include +#include + +#include + +#ifndef APT_8_CLEANER_HEADERS +#include +#endif +#ifndef APT_10_CLEANER_HEADERS #include +#endif class FileFd; -class pkgDataBase; class debDebFile { @@ -42,13 +50,11 @@ class debDebFile bool CheckMember(const char *Name); public: - class ControlExtract; class MemControlExtract; - - bool ExtractControl(pkgDataBase &DB); + + bool ExtractTarMember(pkgDirStream &Stream, const char *Name); bool ExtractArchive(pkgDirStream &Stream); - pkgCache::VerIterator MergeControl(pkgDataBase &DB); const ARArchive::Member *GotoMember(const char *Name); inline FileFd &GetFile() {return File;}; @@ -76,13 +82,20 @@ class debDebFile::MemControlExtract : public pkgDirStream // Members from DirStream virtual bool DoItem(Item &Itm,int &Fd); virtual bool Process(Item &Itm,const unsigned char *Data, +#if APT_PKG_ABI >= 413 + unsigned long long Size,unsigned long long Pos); +#else unsigned long Size,unsigned long Pos); - +#endif // Helpers bool Read(debDebFile &Deb); +#if APT_PKG_ABI >= 413 + bool TakeControl(const void *Data,unsigned long long Size); +#else bool TakeControl(const void *Data,unsigned long Size); - +#endif + MemControlExtract() : IsControl(false), Control(0), Length(0), Member("control") {}; MemControlExtract(std::string Member) : IsControl(false), Control(0), Length(0), Member(Member) {}; ~MemControlExtract() {delete [] Control;};