diff options
Diffstat (limited to 'ftparchive')
-rw-r--r-- | ftparchive/contents.cc | 6 | ||||
-rw-r--r-- | ftparchive/multicompress.cc | 1 | ||||
-rw-r--r-- | ftparchive/writer.cc | 2 |
3 files changed, 8 insertions, 1 deletions
diff --git a/ftparchive/contents.cc b/ftparchive/contents.cc index b761d9204..9e283cf33 100644 --- a/ftparchive/contents.cc +++ b/ftparchive/contents.cc @@ -318,8 +318,12 @@ bool ContentsExtract::Read(debDebFile &Deb) Compressor = "lzma"; } if (Member == 0) { + Member = Deb.GotoMember("data.tar.xz"); + Compressor = "xz"; + } + if (Member == 0) { _error->Error(_("Internal error, could not locate member %s"), - "data.tar.{gz,bz2,lzma}"); + "data.tar.{gz,bz2,lzma,xz}"); return false; } diff --git a/ftparchive/multicompress.cc b/ftparchive/multicompress.cc index bb4beedf9..c33414a11 100644 --- a/ftparchive/multicompress.cc +++ b/ftparchive/multicompress.cc @@ -35,6 +35,7 @@ const MultiCompress::CompType MultiCompress::Compressors[] = {"gzip",".gz","gzip","-9n","-d",2}, {"bzip2",".bz2","bzip2","-9","-d",3}, {"lzma",".lzma","lzma","-9","-d",4}, + {"xz",".xz","xz","-6","-d",5}, {}}; // MultiCompress::MultiCompress - Constructor /*{{{*/ diff --git a/ftparchive/writer.cc b/ftparchive/writer.cc index d3a19ca28..9462ebe27 100644 --- a/ftparchive/writer.cc +++ b/ftparchive/writer.cc @@ -930,10 +930,12 @@ ReleaseWriter::ReleaseWriter(string const &DB) AddPattern("Packages.gz"); AddPattern("Packages.bz2"); AddPattern("Packages.lzma"); + AddPattern("Packages.xz"); AddPattern("Sources"); AddPattern("Sources.gz"); AddPattern("Sources.bz2"); AddPattern("Sources.lzma"); + AddPattern("Sources.xz"); AddPattern("Release"); AddPattern("Index"); AddPattern("md5sum.txt"); |