diff options
| author | Alex Landau <landau.alex@gmail.com> | 2007-04-26 03:17:29 -0400 |
|---|---|---|
| committer | Sam Ravnborg <sam@ravnborg.org> | 2007-05-02 14:58:10 -0400 |
| commit | c299ec2d8e8d2f1a99d5c993fca485257b950d40 (patch) | |
| tree | 52a072f07fc96729731f8cc03a628e15f92008fc /scripts | |
| parent | b4d5171ac7d9806b1ea61903ff954cd9620135bf (diff) | |
kbuild: handle compressed cpio initramfs-es
Make kbuild handle compressed cpio initramfs-es. An already compressed
cpio is copied directly to usr/, while a non-compressed cpio is filtered
through gzip (no changes here) on its way to usr/.
If the user has created a compressed cpio by other means, this saves him
from uncompressing it, just to be compressed again by kbuild.
Signed-off-by: Alex Landau <landau.alex@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/gen_initramfs_list.sh | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/scripts/gen_initramfs_list.sh b/scripts/gen_initramfs_list.sh index 43f75d6e4d96..3111f4ac23c4 100644 --- a/scripts/gen_initramfs_list.sh +++ b/scripts/gen_initramfs_list.sh | |||
| @@ -191,9 +191,10 @@ input_file() { | |||
| 191 | source="$1" | 191 | source="$1" |
| 192 | if [ -f "$1" ]; then | 192 | if [ -f "$1" ]; then |
| 193 | ${dep_list}header "$1" | 193 | ${dep_list}header "$1" |
| 194 | is_cpio="$(echo "$1" | sed 's/^.*\.cpio/cpio/')" | 194 | is_cpio="$(echo "$1" | sed 's/^.*\.cpio\(\..*\)\?/cpio/')" |
| 195 | if [ $2 -eq 0 -a ${is_cpio} == "cpio" ]; then | 195 | if [ $2 -eq 0 -a ${is_cpio} == "cpio" ]; then |
| 196 | cpio_file=$1 | 196 | cpio_file=$1 |
| 197 | echo "$1" | grep -q '^.*\.cpio\..*' && is_cpio_compressed="compressed" | ||
| 197 | [ ! -z ${dep_list} ] && echo "$1" | 198 | [ ! -z ${dep_list} ] && echo "$1" |
| 198 | return 0 | 199 | return 0 |
| 199 | fi | 200 | fi |
| @@ -223,6 +224,7 @@ cpio_file= | |||
| 223 | cpio_list= | 224 | cpio_list= |
| 224 | output="/dev/stdout" | 225 | output="/dev/stdout" |
| 225 | output_file="" | 226 | output_file="" |
| 227 | is_cpio_compressed= | ||
| 226 | 228 | ||
| 227 | arg="$1" | 229 | arg="$1" |
| 228 | case "$arg" in | 230 | case "$arg" in |
| @@ -282,7 +284,11 @@ if [ ! -z ${output_file} ]; then | |||
| 282 | cpio_tfile=${cpio_file} | 284 | cpio_tfile=${cpio_file} |
| 283 | fi | 285 | fi |
| 284 | rm ${cpio_list} | 286 | rm ${cpio_list} |
| 285 | cat ${cpio_tfile} | gzip -f -9 - > ${output_file} | 287 | if [ "${is_cpio_compressed}" = "compressed" ]; then |
| 288 | cat ${cpio_tfile} > ${output_file} | ||
| 289 | else | ||
| 290 | cat ${cpio_tfile} | gzip -f -9 - > ${output_file} | ||
| 291 | fi | ||
| 286 | [ -z ${cpio_file} ] && rm ${cpio_tfile} | 292 | [ -z ${cpio_file} ] && rm ${cpio_tfile} |
| 287 | fi | 293 | fi |
| 288 | exit 0 | 294 | exit 0 |
