From 60b64ffc3468579183abc1bac0179943d782a52e Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Fri, 7 Nov 2014 14:21:35 +0100 Subject: guard ABI changes for LFS in apt-inst Git-Dch: Ignore --- apt-inst/contrib/arfile.h | 5 +++++ apt-inst/contrib/extracttar.cc | 5 +++++ apt-inst/contrib/extracttar.h | 11 ++++++++++- apt-inst/deb/debfile.cc | 8 ++++++++ apt-inst/deb/debfile.h | 12 ++++++++++-- apt-inst/dirstream.h | 12 +++++++++++- 6 files changed, 49 insertions(+), 4 deletions(-) (limited to 'apt-inst') diff --git a/apt-inst/contrib/arfile.h b/apt-inst/contrib/arfile.h index 5aa38aedc..f53356847 100644 --- a/apt-inst/contrib/arfile.h +++ b/apt-inst/contrib/arfile.h @@ -17,6 +17,7 @@ #include +#include #ifndef APT_8_CLEANER_HEADERS #include #endif @@ -61,7 +62,11 @@ struct ARArchive::Member unsigned long long Size; // Location of the data. +#if APT_PKG_ABI >= 413 unsigned long long Start; +#else + unsigned long Start; +#endif Member *Next; Member() : Start(0), Next(0) {}; diff --git a/apt-inst/contrib/extracttar.cc b/apt-inst/contrib/extracttar.cc index 2c86d0d01..be0b69d96 100644 --- a/apt-inst/contrib/extracttar.cc +++ b/apt-inst/contrib/extracttar.cc @@ -60,8 +60,13 @@ struct ExtractTar::TarHeader // ExtractTar::ExtractTar - Constructor /*{{{*/ // --------------------------------------------------------------------- /* */ +#if APT_PKG_ABI >= 413 ExtractTar::ExtractTar(FileFd &Fd,unsigned long long Max,string DecompressionProgram) : File(Fd), MaxInSize(Max), DecompressProg(DecompressionProgram) +#else +ExtractTar::ExtractTar(FileFd &Fd,unsigned long Max,string DecompressionProgram) + : File(Fd), MaxInSize(Max), DecompressProg(DecompressionProgram) +#endif { GZPid = -1; Eof = false; diff --git a/apt-inst/contrib/extracttar.h b/apt-inst/contrib/extracttar.h index 472e018f4..57be956bd 100644 --- a/apt-inst/contrib/extracttar.h +++ b/apt-inst/contrib/extracttar.h @@ -15,6 +15,7 @@ #define PKGLIB_EXTRACTTAR_H #include +#include #include @@ -39,7 +40,11 @@ class ExtractTar GNU_LongLink = 'K',GNU_LongName = 'L'}; FileFd &File; +#if APT_PKG_ABI >= 413 unsigned long long MaxInSize; +#else + unsigned long MaxInSize; +#endif int GZPid; FileFd InFd; bool Eof; @@ -52,8 +57,12 @@ class ExtractTar public: bool Go(pkgDirStream &Stream); - + +#if APT_PKG_ABI >= 413 ExtractTar(FileFd &Fd,unsigned long long Max,std::string DecompressionProgram); +#else + ExtractTar(FileFd &Fd,unsigned long Max,std::string DecompressionProgram); +#endif virtual ~ExtractTar(); }; diff --git a/apt-inst/deb/debfile.cc b/apt-inst/deb/debfile.cc index 4853a13c7..a8bf754e4 100644 --- a/apt-inst/deb/debfile.cc +++ b/apt-inst/deb/debfile.cc @@ -203,7 +203,11 @@ bool debDebFile::MemControlExtract::DoItem(Item &Itm,int &Fd) /* Just memcopy the block from the tar extractor and put it in the right place in the pre-allocated memory block. */ bool debDebFile::MemControlExtract::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 { memcpy(Control + Pos, Data,Size); return true; @@ -232,7 +236,11 @@ bool debDebFile::MemControlExtract::Read(debDebFile &Deb) // --------------------------------------------------------------------- /* The given memory block is loaded into the parser and parsed as a control record. */ +#if APT_PKG_ABI >= 413 bool debDebFile::MemControlExtract::TakeControl(const void *Data,unsigned long long Size) +#else +bool debDebFile::MemControlExtract::TakeControl(const void *Data,unsigned long Size) +#endif { delete [] Control; Control = new char[Size+2]; diff --git a/apt-inst/deb/debfile.h b/apt-inst/deb/debfile.h index b068efcec..9d286716a 100644 --- a/apt-inst/deb/debfile.h +++ b/apt-inst/deb/debfile.h @@ -27,6 +27,7 @@ #include #include #include +#include #include @@ -81,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;}; diff --git a/apt-inst/dirstream.h b/apt-inst/dirstream.h index 571fe86a5..53ac24ba5 100644 --- a/apt-inst/dirstream.h +++ b/apt-inst/dirstream.h @@ -25,6 +25,7 @@ #ifndef PKGLIB_DIRSTREAM_H #define PKGLIB_DIRSTREAM_H +#include class pkgDirStream { @@ -37,10 +38,15 @@ class pkgDirStream Directory, FIFO} Type; char *Name; char *LinkTarget; +#if APT_PKG_ABI >= 413 unsigned long long Size; +#endif unsigned long Mode; unsigned long UID; unsigned long GID; +#if APT_PKG_ABI < 413 + unsigned long Size; +#endif unsigned long MTime; unsigned long Major; unsigned long Minor; @@ -49,9 +55,13 @@ class pkgDirStream virtual bool DoItem(Item &Itm,int &Fd); virtual bool Fail(Item &Itm,int Fd); virtual bool FinishedFile(Item &Itm,int Fd); +#if APT_PKG_ABI >= 413 virtual bool Process(Item &/*Itm*/,const unsigned char * /*Data*/, unsigned long long /*Size*/,unsigned long long /*Pos*/) {return true;}; - +#else + virtual bool Process(Item &/*Itm*/,const unsigned char * /*Data*/, + unsigned long /*Size*/,unsigned long /*Pos*/) {return true;}; +#endif virtual ~pkgDirStream() {}; }; -- cgit v1.2.3