generic-2.6: add kernel 2.6.35 preliminary support (patches)
[openwrt/svn-archive/archive.git] / target / linux / generic-2.6 / patches-2.6.35 / 998-openwrt_lzma_options.patch
diff --git a/target/linux/generic-2.6/patches-2.6.35/998-openwrt_lzma_options.patch b/target/linux/generic-2.6/patches-2.6.35/998-openwrt_lzma_options.patch
new file mode 100644 (file)
index 0000000..3e32b67
--- /dev/null
@@ -0,0 +1,54 @@
+--- a/scripts/Makefile.lib
++++ b/scripts/Makefile.lib
+@@ -238,7 +238,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^)
+ quiet_cmd_lzma = LZMA    $@
+ cmd_lzma = (cat $(filter-out FORCE,$^) | \
+-      lzma -9 && $(call size_append, $(filter-out FORCE,$^))) > $@ || \
++      lzma e -d20 -lc1 -lp2 -pb2 -eos -si -so && $(call size_append, $(filter-out FORCE,$^))) > $@ || \
+       (rm -f $@ ; false)
+ quiet_cmd_lzo = LZO    $@
+--- a/scripts/gen_initramfs_list.sh
++++ b/scripts/gen_initramfs_list.sh
+@@ -226,7 +226,7 @@ cpio_list=
+ output="/dev/stdout"
+ output_file=""
+ is_cpio_compressed=
+-compr="gzip -9 -f"
++compr="gzip -9 -f -"
+ arg="$1"
+ case "$arg" in
+@@ -240,9 +240,9 @@ case "$arg" in
+               output_file="$1"
+               cpio_list="$(mktemp ${TMPDIR:-/tmp}/cpiolist.XXXXXX)"
+               output=${cpio_list}
+-              echo "$output_file" | grep -q "\.gz$" && compr="gzip -9 -f"
+-              echo "$output_file" | grep -q "\.bz2$" && compr="bzip2 -9 -f"
+-              echo "$output_file" | grep -q "\.lzma$" && compr="lzma -9 -f"
++              echo "$output_file" | grep -q "\.gz$" && compr="gzip -9 -f -"
++              echo "$output_file" | grep -q "\.bz2$" && compr="bzip2 -9 -f -"
++              echo "$output_file" | grep -q "\.lzma$" && compr="lzma e -d20 -lc1 -lp2 -pb2 -eos -si -so"
+               echo "$output_file" | grep -q "\.lzo$" && compr="lzop -9 -f"
+               echo "$output_file" | grep -q "\.cpio$" && compr="cat"
+               shift
+@@ -294,7 +294,7 @@ if [ ! -z ${output_file} ]; then
+       if [ "${is_cpio_compressed}" = "compressed" ]; then
+               cat ${cpio_tfile} > ${output_file}
+       else
+-              (cat ${cpio_tfile} | ${compr}  - > ${output_file}) \
++              (cat ${cpio_tfile} | ${compr} > ${output_file}) \
+               || (rm -f ${output_file} ; false)
+       fi
+       [ -z ${cpio_file} ] && rm ${cpio_tfile}
+--- a/lib/decompress.c
++++ b/lib/decompress.c
+@@ -36,6 +36,7 @@ static const struct compress_format {
+       { {037, 0236}, "gzip", gunzip },
+       { {0x42, 0x5a}, "bzip2", bunzip2 },
+       { {0x5d, 0x00}, "lzma", unlzma },
++      { {0x6d, 0x00}, "lzma-openwrt", unlzma },
+       { {0x89, 0x4c}, "lzo", unlzo },
+       { {0, 0}, NULL, NULL }
+ };