Browse Source

guard ABI changes for LFS in apt-inst

Git-Dch: Ignore
debian/1.8.y
David Kalnischkies 8 years ago
parent
commit
60b64ffc34
  1. 5
      apt-inst/contrib/arfile.h
  2. 5
      apt-inst/contrib/extracttar.cc
  3. 11
      apt-inst/contrib/extracttar.h
  4. 8
      apt-inst/deb/debfile.cc
  5. 12
      apt-inst/deb/debfile.h
  6. 12
      apt-inst/dirstream.h

5
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) {};

5
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;

11
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();
};

8
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];

12
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;};

12
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() {};
};

Loading…
Cancel
Save