kbuild: handle compressed cpio initramfs-es
[pandora-kernel.git] / scripts / gen_initramfs_list.sh
index 43f75d6..3111f4a 100644 (file)
@@ -191,9 +191,10 @@ input_file() {
        source="$1"
        if [ -f "$1" ]; then
                ${dep_list}header "$1"
-               is_cpio="$(echo "$1" | sed 's/^.*\.cpio/cpio/')"
+               is_cpio="$(echo "$1" | sed 's/^.*\.cpio\(\..*\)\?/cpio/')"
                if [ $2 -eq 0 -a ${is_cpio} == "cpio" ]; then
                        cpio_file=$1
+                       echo "$1" | grep -q '^.*\.cpio\..*' && is_cpio_compressed="compressed"
                        [ ! -z ${dep_list} ] && echo "$1"
                        return 0
                fi
@@ -223,6 +224,7 @@ cpio_file=
 cpio_list=
 output="/dev/stdout"
 output_file=""
+is_cpio_compressed=
 
 arg="$1"
 case "$arg" in
@@ -282,7 +284,11 @@ if [ ! -z ${output_file} ]; then
                cpio_tfile=${cpio_file}
        fi
        rm ${cpio_list}
-       cat ${cpio_tfile} | gzip -f -9 - > ${output_file}
+       if [ "${is_cpio_compressed}" = "compressed" ]; then
+               cat ${cpio_tfile} > ${output_file}
+       else
+               cat ${cpio_tfile} | gzip -f -9 - > ${output_file}
+       fi
        [ -z ${cpio_file} ] && rm ${cpio_tfile}
 fi
 exit 0