summaryrefslogtreecommitdiff
path: root/data/_dpkg/lzma.diff
diff options
context:
space:
mode:
Diffstat (limited to 'data/_dpkg/lzma.diff')
-rw-r--r--data/_dpkg/lzma.diff64
1 files changed, 64 insertions, 0 deletions
diff --git a/data/_dpkg/lzma.diff b/data/_dpkg/lzma.diff
new file mode 100644
index 000000000..9ce2d4aef
--- /dev/null
+++ b/data/_dpkg/lzma.diff
@@ -0,0 +1,64 @@
+diff -ur dpkg-1.18.25/dpkg-deb/main.c dpkg-1.18.25+iPhone/dpkg-deb/main.c
+--- dpkg-1.18.25/dpkg-deb/main.c 2018-06-25 16:48:17.000000000 -1000
++++ dpkg-1.18.25+iPhone/dpkg-deb/main.c 2018-09-14 10:15:39.000000000 -1000
+@@ -192,8 +192,6 @@
+ compress_params.type = compressor_find_by_name(value);
+ if (compress_params.type == COMPRESSOR_TYPE_UNKNOWN)
+ badusage(_("unknown compression type '%s'!"), value);
+- if (compress_params.type == COMPRESSOR_TYPE_LZMA)
+- badusage(_("obsolete compression type '%s'; use xz instead"), value);
+ if (compress_params.type == COMPRESSOR_TYPE_BZIP2)
+ badusage(_("obsolete compression type '%s'; use xz or gzip instead"), value);
+ }
+diff -ur dpkg-1.18.25/lib/dpkg/compress.c dpkg-1.18.25+iPhone/lib/dpkg/compress.c
+--- dpkg-1.18.25/lib/dpkg/compress.c 2018-06-17 05:49:22.000000000 -1000
++++ dpkg-1.18.25+iPhone/lib/dpkg/compress.c 2018-09-14 10:14:50.000000000 -1000
+@@ -664,6 +664,16 @@
+ * Lzma compressor.
+ */
+
++#define LZMA "lzma"
++
++static void
++fixup_lzma_params(struct compress_params *params)
++{
++ /* Normalize compression level. */
++ if (params->level == 0)
++ params->level = 1;
++}
++
+ #ifdef WITH_LIBLZMA
+ static void
+ filter_unlzma_init(struct io_lzma *io, lzma_stream *s)
+@@ -725,10 +735,12 @@
+ filter_lzma(&io, fd_in, fd_out);
+ }
+ #else
++static const char *env_lzma[] = { "LZMA", NULL };
++
+ static void
+ decompress_lzma(int fd_in, int fd_out, const char *desc)
+ {
+- fd_fd_filter(fd_in, fd_out, desc, env_xz, XZ, "-dc", "--format=lzma", NULL);
++ fd_fd_filter(fd_in, fd_out, desc, env_lzma, LZMA, "-dc", NULL);
+ }
+
+ static void
+@@ -737,7 +749,7 @@
+ char combuf[6];
+
+ snprintf(combuf, sizeof(combuf), "-c%d", params->level);
+- fd_fd_filter(fd_in, fd_out, desc, env_xz, XZ, combuf, "--format=lzma", NULL);
++ fd_fd_filter(fd_in, fd_out, desc, env_lzma, LZMA, combuf, NULL);
+ }
+ #endif
+
+@@ -745,7 +757,7 @@
+ .name = "lzma",
+ .extension = ".lzma",
+ .default_level = 6,
+- .fixup_params = fixup_none_params,
++ .fixup_params = fixup_lzma_params,
+ .compress = compress_lzma,
+ .decompress = decompress_lzma,
+ };