diff options
Diffstat (limited to 'apt-inst')
-rw-r--r-- | apt-inst/contrib/arfile.h | 5 | ||||
-rw-r--r-- | apt-inst/contrib/extracttar.cc | 18 | ||||
-rw-r--r-- | apt-inst/contrib/extracttar.h | 11 | ||||
-rw-r--r-- | apt-inst/deb/debfile.cc | 8 | ||||
-rw-r--r-- | apt-inst/deb/debfile.h | 12 | ||||
-rw-r--r-- | apt-inst/dirstream.cc | 1 | ||||
-rw-r--r-- | apt-inst/dirstream.h | 12 | ||||
-rw-r--r-- | apt-inst/extract.cc | 2 | ||||
-rw-r--r-- | apt-inst/makefile | 2 |
9 files changed, 57 insertions, 14 deletions
diff --git a/apt-inst/contrib/arfile.h b/apt-inst/contrib/arfile.h index 0f62a34a0..f53356847 100644 --- a/apt-inst/contrib/arfile.h +++ b/apt-inst/contrib/arfile.h @@ -17,6 +17,7 @@ #include <string> +#include <apt-pkg/macros.h> #ifndef APT_8_CLEANER_HEADERS #include <apt-pkg/fileutl.h> #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 0ba3f0521..be0b69d96 100644 --- a/apt-inst/contrib/extracttar.cc +++ b/apt-inst/contrib/extracttar.cc @@ -60,9 +60,13 @@ struct ExtractTar::TarHeader // ExtractTar::ExtractTar - Constructor /*{{{*/ // --------------------------------------------------------------------- /* */ -ExtractTar::ExtractTar(FileFd &Fd,unsigned long Max,string DecompressionProgram) : File(Fd), - MaxInSize(Max), DecompressProg(DecompressionProgram) - +#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; @@ -267,7 +271,7 @@ bool ExtractTar::Go(pkgDirStream &Stream) case GNU_LongLink: { - unsigned long Length = Itm.Size; + unsigned long long Length = Itm.Size; unsigned char Block[512]; while (Length > 0) { @@ -286,7 +290,7 @@ bool ExtractTar::Go(pkgDirStream &Stream) case GNU_LongName: { - unsigned long Length = Itm.Size; + unsigned long long Length = Itm.Size; unsigned char Block[512]; while (Length > 0) { @@ -315,11 +319,11 @@ bool ExtractTar::Go(pkgDirStream &Stream) return false; // Copy the file over the FD - unsigned long Size = Itm.Size; + unsigned long long Size = Itm.Size; while (Size != 0) { unsigned char Junk[32*1024]; - unsigned long Read = min(Size,(unsigned long)sizeof(Junk)); + unsigned long Read = min(Size, (unsigned long long)sizeof(Junk)); if (InFd.Read(Junk,((Read+511)/512)*512) == false) return false; diff --git a/apt-inst/contrib/extracttar.h b/apt-inst/contrib/extracttar.h index 4b29df314..57be956bd 100644 --- a/apt-inst/contrib/extracttar.h +++ b/apt-inst/contrib/extracttar.h @@ -15,6 +15,7 @@ #define PKGLIB_EXTRACTTAR_H #include <apt-pkg/fileutl.h> +#include <apt-pkg/macros.h> #include <string> @@ -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 a63cb6716..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 880bcf6c5..9d286716a 100644 --- a/apt-inst/deb/debfile.h +++ b/apt-inst/deb/debfile.h @@ -27,6 +27,7 @@ #include <apt-pkg/arfile.h> #include <apt-pkg/dirstream.h> #include <apt-pkg/tagfile.h> +#include <apt-pkg/macros.h> #include <string> @@ -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.cc b/apt-inst/dirstream.cc index 39ebb3bb4..888020bfb 100644 --- a/apt-inst/dirstream.cc +++ b/apt-inst/dirstream.cc @@ -76,7 +76,6 @@ bool pkgDirStream::DoItem(Item &Itm,int &Fd) if(mkdir(Itm.Name,Itm.Mode) < 0) return false; return true; - break; } case Item::FIFO: break; diff --git a/apt-inst/dirstream.h b/apt-inst/dirstream.h index 1be2688a1..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 <apt-pkg/macros.h> 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() {}; }; diff --git a/apt-inst/extract.cc b/apt-inst/extract.cc index b60784450..026182c18 100644 --- a/apt-inst/extract.cc +++ b/apt-inst/extract.cc @@ -404,7 +404,7 @@ bool pkgExtract::HandleOverwrites(pkgFLCache::NodeIterator Nde, // Now see if this package matches one in a replace depends pkgCache::DepIterator Dep = Ver.DependsList(); bool Ok = false; - for (; Dep.end() == false; Dep++) + for (; Dep.end() == false; ++Dep) { if (Dep->Type != pkgCache::Dep::Replaces) continue; diff --git a/apt-inst/makefile b/apt-inst/makefile index af887bba8..e4a3ae702 100644 --- a/apt-inst/makefile +++ b/apt-inst/makefile @@ -14,7 +14,7 @@ include ../buildlib/libversion.mak # The library name LIBRARY=apt-inst -MAJOR=1.5 +MAJOR=1.6 MINOR=0 SLIBS=$(PTHREADLIB) -lapt-pkg APT_DOMAIN:=libapt-inst$(MAJOR) |