Sophie

Sophie

distrib > Mageia > 7 > x86_64 > by-pkgid > 133738fd1ec1a496d35c2af5039a0eb4 > files > 13

apt-0.5.15lorg3.94-32.mga7.src.rpm

diff -up apt-0.5.15lorg3.94pt/apt-pkg/acquire-item.cc.xz apt-0.5.15lorg3.94pt/apt-pkg/acquire-item.cc
--- apt-0.5.15lorg3.94pt/apt-pkg/acquire-item.cc.xz	2014-11-14 03:05:15.518216255 +0100
+++ apt-0.5.15lorg3.94pt/apt-pkg/acquire-item.cc	2014-11-14 03:06:10.273702411 +0100
@@ -30,6 +30,8 @@
 #include <assert.h>
 using namespace std;
 
+#include <rpm/rpmfileutil.h>
+
 #include <apti18n.h>
 
 #include <sys/stat.h>
@@ -382,13 +384,31 @@ void pkgAcqIndex::Done(string Message,of
 
    Decompression = true;
    DestFile += ".decomp";
+   
+   rpmCompressedMagic compressed = COMPRESSED_OTHER;
+   int rc = rpmFileIsCompressed(FileName.c_str(), &compressed);
+   
    string ComprMeth = Repository->GetComprMethod(RealURI);
-   if ((ComprMeth == "gz") || (ComprMeth == "cz")) {
-      Desc.URI = "gzip:" + FileName;
-      Mode = "gzip";
-   } else if (ComprMeth == "bz2") {
-      Desc.URI = "bzip2:" + FileName;
-      Mode = "bzip2";
+   if ((ComprMeth == "gz") || (ComprMeth == "cz") || (ComprMeth == "bz2"))
+   {
+      switch(compressed)
+      {
+         case COMPRESSED_BZIP2:
+            Desc.URI = "bzip2:" + FileName;
+            Mode = "bzip2";
+            break;
+         
+         case COMPRESSED_LZMA:
+         case COMPRESSED_XZ:
+            Desc.URI = "xz:" + FileName;
+            Mode = "xz";
+            break;
+   
+         case COMPRESSED_OTHER:
+         default:
+            Desc.URI = "gzip:" + FileName;
+            Mode = "gzip";
+      }
    } else {
       Desc.URI = "copy:" + FileName;
       Mode = "copy";
diff -up apt-0.5.15lorg3.94pt/methods/Makefile.am.xz apt-0.5.15lorg3.94pt/methods/Makefile.am
--- apt-0.5.15lorg3.94pt/methods/Makefile.am.xz	2009-02-24 11:46:07.000000000 +0100
+++ apt-0.5.15lorg3.94pt/methods/Makefile.am	2014-11-14 03:05:18.125191791 +0100
@@ -1,7 +1,7 @@
 AM_CPPFLAGS = -DGPG=\"@GPG@\"
 
 methodsdir=${libdir}/apt/methods
-methods_PROGRAMS = cdrom copy file ftp gpg gzip bzip2 http rsh ssh
+methods_PROGRAMS = cdrom copy file ftp gpg gzip bzip2 http rsh ssh xz
 
 LDADD = ../apt-pkg/libapt-pkg.la
 
@@ -11,6 +11,7 @@ file_SOURCES = file.cc
 gpg_SOURCES = gpg.cc
 gzip_SOURCES = gzip.cc
 bzip2_SOURCES = $(gzip_SOURCES)
+xz_SOURCES = $(gzip_SOURCES)
 rsh_SOURCES = rsh.cc rsh.h
 ssh_SOURCES = $(rsh_SOURCES)