summaryrefslogtreecommitdiff
path: root/apt-inst
diff options
context:
space:
mode:
Diffstat (limited to 'apt-inst')
-rw-r--r--apt-inst/contrib/arfile.h5
-rw-r--r--apt-inst/contrib/extracttar.cc18
-rw-r--r--apt-inst/contrib/extracttar.h11
-rw-r--r--apt-inst/deb/debfile.cc8
-rw-r--r--apt-inst/deb/debfile.h12
-rw-r--r--apt-inst/dirstream.cc1
-rw-r--r--apt-inst/dirstream.h12
-rw-r--r--apt-inst/extract.cc2
-rw-r--r--apt-inst/makefile2
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)