Package: cupt
Version: 2.0.0
Severity: wishlist

As of now, there should be no xz-compressed index files out in
the wild, but adding support for it should not harm.
---
 cpp/lib/src/config.cpp                   |    1 +
 cpp/lib/src/internal/worker/metadata.cpp |    8 ++++++--
 debian/control                           |    2 +-
 doc/cupt.1.pod                           |    2 +-
 4 files changed, 9 insertions(+), 4 deletions(-)

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (250, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.38-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages cupt depends on:
ii  libboost-program-options1.42. 1.42.0-4   program options library for C++
ii  libc6                         2.11.2-13  Embedded GNU C Library: Shared lib
ii  libcupt2-0                    2.0.0      alternative front-end for dpkg -- 
ii  libgcc1                       1:4.6.0-3  GCC support library
ii  libstdc++6                    4.6.0-3    The GNU Standard C++ Library v3

cupt recommends no packages.

Versions of packages cupt suggests:
ii  libreadline6                  6.1-3      GNU readline and history libraries
ii  sensible-utils                0.0.6      Utilities for sensible alternative

-- no debconf information

-- 
Julian Andres Klode  - Debian Developer, Ubuntu Member

See http://wiki.debian.org/JulianAndresKlode and http://jak-linux.org/.
From bc9ec2a5fd087aca45717d4393d0cd2406008e12 Mon Sep 17 00:00:00 2001
From: Julian Andres Klode <[email protected]>
Date: Sun, 17 Apr 2011 17:33:14 +0200
Subject: [PATCH] Introduce support for xz-compressed index files

As of now, there should be no xz-compressed index files out in
the wild, but adding support for it should not harm.
---
 cpp/lib/src/config.cpp                   |    1 +
 cpp/lib/src/internal/worker/metadata.cpp |    8 ++++++--
 debian/control                           |    2 +-
 doc/cupt.1.pod                           |    2 +-
 4 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/cpp/lib/src/config.cpp b/cpp/lib/src/config.cpp
index 5ac63d2..d72ec48 100644
--- a/cpp/lib/src/config.cpp
+++ b/cpp/lib/src/config.cpp
@@ -125,6 +125,7 @@ void ConfigImpl::initializeVariables()
 		{ "cupt::update::compression-types::gz::priority", "100" },
 		{ "cupt::update::compression-types::bz2::priority", "100" },
 		{ "cupt::update::compression-types::lzma::priority", "100" },
+		{ "cupt::update::compression-types::xz::priority", "100" },
 		{ "cupt::update::compression-types::uncompressed::priority", "100" },
 		{ "cupt::update::keep-bad-signatures", "no" },
 		{ "cupt::resolver::auto-remove", "yes" },
diff --git a/cpp/lib/src/internal/worker/metadata.cpp b/cpp/lib/src/internal/worker/metadata.cpp
index ecb39b5..8e4ce5c 100644
--- a/cpp/lib/src/internal/worker/metadata.cpp
+++ b/cpp/lib/src/internal/worker/metadata.cpp
@@ -81,10 +81,14 @@ bool generateUncompressingSub(const download::Uri& uri, const string& downloadPa
 	auto filenameExtension = getFilenameExtension(uri);
 
 	// checking and preparing unpackers
-	if (filenameExtension == ".lzma" || filenameExtension == ".bz2" || filenameExtension == ".gz")
+	if (filenameExtension == ".xz" || filenameExtension == ".lzma" || filenameExtension == ".bz2" || filenameExtension == ".gz")
 	{
 		string uncompressorName;
-		if (filenameExtension == ".lzma")
+		if (filenameExtension == ".xz")
+		{
+			uncompressorName = "unxz";
+		}
+		else if (filenameExtension == ".lzma")
 		{
 			uncompressorName = "unlzma";
 		}
diff --git a/debian/control b/debian/control
index 4fa7e0c..a052a73 100644
--- a/debian/control
+++ b/debian/control
@@ -16,7 +16,7 @@ Depends: ${misc:Depends}, ${shlibs:Depends}
 Conflicts: libcupt2-0-experimental
 Breaks: debdelta (<< 0.31)
 Recommends: libcupt2-0-downloadmethod-curl | libcupt2-0-downloadmethod-wget, bzip2, gpgv
-Suggests: cupt, lzma, debdelta (>= 0.31), dpkg-dev, dpkg-repack
+Suggests: cupt, lzma, xz-utils, debdelta (>= 0.31), dpkg-dev, dpkg-repack
 Description: alternative front-end for dpkg -- runtime library
  This is a Cupt library implementing front-end to dpkg.
  .
diff --git a/doc/cupt.1.pod b/doc/cupt.1.pod
index b88268c..14d88d0 100644
--- a/doc/cupt.1.pod
+++ b/doc/cupt.1.pod
@@ -899,7 +899,7 @@ list, names of the methods available to download protocol I<protocol>
 
 integer, defines preference to download compressed files with higher priority first. 100 by default.
 
-'*' can be 'gz', 'bz2', 'lzma' and 'uncompressed'.
+'*' can be 'gz', 'bz2', 'lzma', 'xz', and 'uncompressed'.
 
 Set some option to <100 value to make it low-precedence than default, and >100
 to make it high-precedence than default.
-- 
1.7.4.4

Attachment: pgplQKDVYJGCB.pgp
Description: PGP signature

Reply via email to