summaryrefslogtreecommitdiff
path: root/apt-inst
diff options
context:
space:
mode:
Diffstat (limited to 'apt-inst')
-rw-r--r--apt-inst/contrib/arfile.cc3
-rw-r--r--apt-inst/contrib/arfile.h3
-rw-r--r--apt-inst/contrib/extracttar.cc8
-rw-r--r--apt-inst/contrib/extracttar.h4
-rw-r--r--apt-inst/database.cc4
-rw-r--r--apt-inst/database.h4
-rw-r--r--apt-inst/deb/debfile.cc14
-rw-r--r--apt-inst/deb/debfile.h3
-rw-r--r--apt-inst/deb/dpkgdb.cc4
-rw-r--r--apt-inst/deb/dpkgdb.h3
-rw-r--r--apt-inst/dirstream.cc4
-rw-r--r--apt-inst/dirstream.h3
-rw-r--r--apt-inst/extract.cc3
-rw-r--r--apt-inst/extract.h4
-rw-r--r--apt-inst/filelist.cc4
-rw-r--r--apt-inst/filelist.h4
16 files changed, 13 insertions, 59 deletions
diff --git a/apt-inst/contrib/arfile.cc b/apt-inst/contrib/arfile.cc
index 54d90bf3a..a1fb97b48 100644
--- a/apt-inst/contrib/arfile.cc
+++ b/apt-inst/contrib/arfile.cc
@@ -14,9 +14,6 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#ifdef __GNUG__
-#pragma implementation "apt-pkg/arfile.h"
-#endif
#include <apt-pkg/arfile.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/error.h>
diff --git a/apt-inst/contrib/arfile.h b/apt-inst/contrib/arfile.h
index 6c54d3e6b..96e18bc60 100644
--- a/apt-inst/contrib/arfile.h
+++ b/apt-inst/contrib/arfile.h
@@ -15,9 +15,6 @@
#ifndef PKGLIB_ARFILE_H
#define PKGLIB_ARFILE_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/arfile.h"
-#endif
#include <string>
#include <apt-pkg/fileutl.h>
diff --git a/apt-inst/contrib/extracttar.cc b/apt-inst/contrib/extracttar.cc
index d6da802fe..68c871a5d 100644
--- a/apt-inst/contrib/extracttar.cc
+++ b/apt-inst/contrib/extracttar.cc
@@ -16,9 +16,6 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#ifdef __GNUG__
-#pragma implementation "apt-pkg/extracttar.h"
-#endif
#include <apt-pkg/extracttar.h>
#include <apt-pkg/error.h>
@@ -136,7 +133,8 @@ bool ExtractTar::StartGzip()
const char *Args[3];
string confvar = string("dir::bin::") + DecompressProg;
- Args[0] = _config->Find(confvar.c_str(),DecompressProg.c_str()).c_str();
+ string argv0 = _config->Find(confvar.c_str(),DecompressProg.c_str());
+ Args[0] = argv0.c_str();
Args[1] = "-d";
Args[2] = 0;
execvp(Args[0],(char **)Args);
@@ -334,7 +332,7 @@ bool ExtractTar::Go(pkgDirStream &Stream)
}
// And finish up
- if (Itm.Size != 0 && BadRecord == false)
+ if (Itm.Size >= 0 && BadRecord == false)
if (Stream.FinishedFile(Itm,Fd) == false)
return false;
diff --git a/apt-inst/contrib/extracttar.h b/apt-inst/contrib/extracttar.h
index 6daf00a27..42f8ef534 100644
--- a/apt-inst/contrib/extracttar.h
+++ b/apt-inst/contrib/extracttar.h
@@ -14,10 +14,6 @@
#ifndef PKGLIB_EXTRACTTAR_H
#define PKGLIB_EXTRACTTAR_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/extracttar.h"
-#endif
-
#include <apt-pkg/fileutl.h>
#include <apt-pkg/dirstream.h>
diff --git a/apt-inst/database.cc b/apt-inst/database.cc
index beee692b8..a5020f3d7 100644
--- a/apt-inst/database.cc
+++ b/apt-inst/database.cc
@@ -8,10 +8,6 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#ifdef __GNUG__
-#pragma implementation "apt-pkg/database.h"
-#endif
-
#include <apt-pkg/database.h>
/*}}}*/
diff --git a/apt-inst/database.h b/apt-inst/database.h
index 0972d40cd..ef45bc2d6 100644
--- a/apt-inst/database.h
+++ b/apt-inst/database.h
@@ -21,10 +21,6 @@
#ifndef PKGLIB_DATABASE_H
#define PKGLIB_DATABASE_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/database.h"
-#endif
-
#include <apt-pkg/filelist.h>
#include <apt-pkg/pkgcachegen.h>
diff --git a/apt-inst/deb/debfile.cc b/apt-inst/deb/debfile.cc
index 84906ff56..cd7a88808 100644
--- a/apt-inst/deb/debfile.cc
+++ b/apt-inst/deb/debfile.cc
@@ -16,10 +16,6 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#ifdef __GNUG__
-#pragma implementation "apt-pkg/debfile.h"
-#endif
-
#include <apt-pkg/debfile.h>
#include <apt-pkg/extracttar.h>
#include <apt-pkg/error.h>
@@ -48,8 +44,10 @@ debDebFile::debDebFile(FileFd &File) : File(File), AR(File)
return;
}
- if (!CheckMember("data.tar.gz") && !CheckMember("data.tar.bz2")) {
- _error->Error(_("This is not a valid DEB archive, it has no '%s' or '%s' member"), "data.tar.gz", "data.tar.bz2");
+ if (!CheckMember("data.tar.gz") &&
+ !CheckMember("data.tar.bz2") &&
+ !CheckMember("data.tar.lzma")) {
+ _error->Error(_("This is not a valid DEB archive, it has no '%s', '%s' or '%s' member"), "data.tar.gz", "data.tar.bz2", "data.tar.lzma");
return;
}
}
@@ -134,6 +132,10 @@ bool debDebFile::ExtractArchive(pkgDirStream &Stream)
Member = AR.FindMember("data.tar.bz2");
Compressor = "bzip2";
}
+ if (Member == 0) {
+ Member = AR.FindMember("data.tar.lzma");
+ Compressor = "lzma";
+ }
if (Member == 0)
return _error->Error(_("Internal error, could not locate member"));
if (File.Seek(Member->Start) == false)
diff --git a/apt-inst/deb/debfile.h b/apt-inst/deb/debfile.h
index d89b85268..6b9f8ffc8 100644
--- a/apt-inst/deb/debfile.h
+++ b/apt-inst/deb/debfile.h
@@ -23,9 +23,6 @@
#ifndef PKGLIB_DEBFILE_H
#define PKGLIB_DEBFILE_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/debfile.h"
-#endif
#include <apt-pkg/arfile.h>
#include <apt-pkg/database.h>
diff --git a/apt-inst/deb/dpkgdb.cc b/apt-inst/deb/dpkgdb.cc
index 718e1ab98..e51e4f8b3 100644
--- a/apt-inst/deb/dpkgdb.cc
+++ b/apt-inst/deb/dpkgdb.cc
@@ -13,10 +13,6 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#ifdef __GNUG__
-#pragma implementation "apt-pkg/dpkgdb.h"
-#endif
-
#include <apt-pkg/dpkgdb.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/error.h>
diff --git a/apt-inst/deb/dpkgdb.h b/apt-inst/deb/dpkgdb.h
index ddbb6d6f2..125845f96 100644
--- a/apt-inst/deb/dpkgdb.h
+++ b/apt-inst/deb/dpkgdb.h
@@ -19,9 +19,6 @@
#ifndef PKGLIB_DPKGDB_H
#define PKGLIB_DPKGDB_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/dpkgdb.h"
-#endif
#include <apt-pkg/database.h>
diff --git a/apt-inst/dirstream.cc b/apt-inst/dirstream.cc
index 898ede31b..586bbf739 100644
--- a/apt-inst/dirstream.cc
+++ b/apt-inst/dirstream.cc
@@ -11,10 +11,6 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#ifdef __GNUG__
-#pragma implementation "apt-pkg/dirstream.h"
-#endif
-
#include <apt-pkg/dirstream.h>
#include <apt-pkg/error.h>
diff --git a/apt-inst/dirstream.h b/apt-inst/dirstream.h
index dfb480bd4..9d1af2188 100644
--- a/apt-inst/dirstream.h
+++ b/apt-inst/dirstream.h
@@ -25,9 +25,6 @@
#ifndef PKGLIB_DIRSTREAM_H
#define PKGLIB_DIRSTREAM_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/dirstream.h"
-#endif
class pkgDirStream
{
diff --git a/apt-inst/extract.cc b/apt-inst/extract.cc
index 2568ed99f..85363b9a1 100644
--- a/apt-inst/extract.cc
+++ b/apt-inst/extract.cc
@@ -44,9 +44,6 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#ifdef __GNUG__
-#pragma implementation "apt-pkg/extract.h"
-#endif
#include <apt-pkg/extract.h>
#include <apt-pkg/error.h>
#include <apt-pkg/debversion.h>
diff --git a/apt-inst/extract.h b/apt-inst/extract.h
index a9152a26f..71222983c 100644
--- a/apt-inst/extract.h
+++ b/apt-inst/extract.h
@@ -17,9 +17,7 @@
#ifndef PKGLIB_EXTRACT_H
#define PKGLIB_EXTRACT_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/extract.h"
-#endif
+
#include <apt-pkg/dirstream.h>
#include <apt-pkg/filelist.h>
diff --git a/apt-inst/filelist.cc b/apt-inst/filelist.cc
index f14c6416e..060aa53d7 100644
--- a/apt-inst/filelist.cc
+++ b/apt-inst/filelist.cc
@@ -32,10 +32,6 @@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#ifdef __GNUG__
-#pragma implementation "apt-pkg/filelist.h"
-#endif
-
#include <apt-pkg/filelist.h>
#include <apt-pkg/mmap.h>
#include <apt-pkg/error.h>
diff --git a/apt-inst/filelist.h b/apt-inst/filelist.h
index 7536a2f63..c74a310e4 100644
--- a/apt-inst/filelist.h
+++ b/apt-inst/filelist.h
@@ -28,10 +28,8 @@
#ifndef PKGLIB_FILELIST_H
#define PKGLIB_FILELIST_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/filelist.h"
-#endif
+#include <cstring>
#include <apt-pkg/mmap.h>
class pkgFLCache