[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#408201: apt: lzma support



Package: apt
Version: 0.6.46.4
Severity: wishlist
Tags: patch

Hi,

Now that dpkg has lzma support it would be nice to get this small
patch into apt for etch.

regards,
guillem
--- apt-inst/deb/debfile.cc	2006-03-02 16:06:31.000000000 +0200
+++ apt-inst/deb/debfile.cc	2006-11-03 05:29:03.000000000 +0200
@@ -48,8 +48,10 @@ debDebFile::debDebFile(FileFd &File) : F
       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 +136,10 @@ bool debDebFile::ExtractArchive(pkgDirSt
       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)
--- apt-pkg/deb/debsrcrecords.cc	2006-03-02 15:44:28.000000000 +0200
+++ apt-pkg/deb/debsrcrecords.cc	2006-11-03 05:34:32.000000000 +0200
@@ -151,7 +151,7 @@ bool debSrcRecordParser::Files(vector<pk
 	    break;
 	 F.Type = string(F.Path,Tmp+1,Pos-Tmp);
 	 
-	 if (F.Type == "gz" || F.Type == "bz2")
+	 if (F.Type == "gz" || F.Type == "bz2" || F.Type == "lzma")
 	 {
 	    Pos = Tmp-1;
 	    continue;

Reply to: