--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package libarchive
The current version in jessie of libarchive fails to extract files from Mac
generated zip files, as explained in: #769290
Upstream already has a simple fix for this:
https://github.com/libarchive/libarchive/commit/e234932de2474c4f99787e1741f6729c5098fd64
libarchive is currently used in ark, archivemount, file managers, etc, to
process compressed files, so it would be nice to have it fixed in jessie.
I've prepared a preliminar nmu debdiff, that I'm attaching, but once unblocked
the maintainer has already agreed to do the non nmu upload.
unblock libarchive/3.1.2-9
-- System Information:
Debian Release: jessie/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
diff -Nru libarchive-3.1.2/debian/changelog libarchive-3.1.2/debian/changelog
--- libarchive-3.1.2/debian/changelog 2014-08-17 10:45:46.000000000 +0200
+++ libarchive-3.1.2/debian/changelog 2014-11-12 13:53:51.000000000 +0100
@@ -1,3 +1,10 @@
+libarchive (3.1.2-9.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * New patch: upstream_do_not_overwrite_file_size
+
+ -- Maximiliano Curia <maxy@debian.org> Wed, 12 Nov 2014 13:53:51 +0100
+
libarchive (3.1.2-9) unstable; urgency=medium
[ Andreas Henriksson ]
diff -Nru libarchive-3.1.2/debian/patches/series libarchive-3.1.2/debian/patches/series
--- libarchive-3.1.2/debian/patches/series 2014-08-08 22:55:38.000000000 +0200
+++ libarchive-3.1.2/debian/patches/series 2014-11-12 13:54:02.000000000 +0100
@@ -6,3 +6,4 @@
Allow-the-option-to-use-no-2nd-stage-compression-wit.patch
Fix-test_archive_write_add_filter_by_name_lrzip-test.patch
fix-CVE-2013-0211.patch
+upstream_do_not_overwrite_file_size
diff -Nru libarchive-3.1.2/debian/patches/upstream_do_not_overwrite_file_size libarchive-3.1.2/debian/patches/upstream_do_not_overwrite_file_size
--- libarchive-3.1.2/debian/patches/upstream_do_not_overwrite_file_size 1970-01-01 01:00:00.000000000 +0100
+++ libarchive-3.1.2/debian/patches/upstream_do_not_overwrite_file_size 2014-11-12 13:54:01.000000000 +0100
@@ -0,0 +1,26 @@
+commit e234932de2474c4f99787e1741f6729c5098fd64
+Author: Jung-uk Kim <jkim@FreeBSD.org>
+Date: Mon Apr 1 17:02:18 2013 -0400
+
+ Do not overwrite file size if the local file header has valid file size.
+ This allows us to extract index.xml from Apple iWork '09 format files.
+
+diff --git a/libarchive/archive_read_support_format_zip.c b/libarchive/archive_read_support_format_zip.c
+index 450a6f7..c9fae7f 100644
+--- a/libarchive/archive_read_support_format_zip.c
++++ b/libarchive/archive_read_support_format_zip.c
+@@ -1619,10 +1619,12 @@ process_extra(const char *p, size_t extra_length, struct zip_entry* zip_entry)
+ switch (headerid) {
+ case 0x0001:
+ /* Zip64 extended information extra field. */
+- if (datasize >= 8)
++ if (datasize >= 8 &&
++ zip_entry->uncompressed_size == 0xffffffff)
+ zip_entry->uncompressed_size =
+ archive_le64dec(p + offset);
+- if (datasize >= 16)
++ if (datasize >= 16 &&
++ zip_entry->compressed_size == 0xffffffff)
+ zip_entry->compressed_size =
+ archive_le64dec(p + offset + 8);
+ break;
--- End Message ---