From d1019ad6b397f438d68005d51de1669d7d470e5c Mon Sep 17 00:00:00 2001 From: Mario Fetka Date: Thu, 28 Mar 2013 14:38:45 +0100 Subject: [PATCH] add the possibility to add extra options to the extract process for ex passwort; overwrite; .... --- lib/builder-targets.sh | 4 +++- lib/builder-utils.sh | 15 ++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/lib/builder-targets.sh b/lib/builder-targets.sh index c01deca..317bc70 100644 --- a/lib/builder-targets.sh +++ b/lib/builder-targets.sh @@ -202,9 +202,11 @@ builder_create() { DL_EXTRACT_PATH[$i]=${INST_DIR}/CLIENT_DATA/${DL_ARCH[$i]}/${DL_EXTRACT_TO[$i]} local format=${DL_EXTRACT_FORMAT[$i]} if [ -z "$format" ] ; then format="cp"; fi + local option=${DL_EXTRACT_OPTION[$i]} + if [ -z "$option" ] ; then option=""; fi mkdir -p ${DL_EXTRACT_PATH[$i]} - process_file $format ${DL_DIST_FILE[$i]} ${DL_EXTRACT_PATH[$i]} + process_file $format ${DL_DIST_FILE[$i]} ${DL_EXTRACT_PATH[$i]} $option done # create winst variables diff --git a/lib/builder-utils.sh b/lib/builder-utils.sh index 9ffcb66..4db4adc 100644 --- a/lib/builder-utils.sh +++ b/lib/builder-utils.sh @@ -55,25 +55,26 @@ function process_file() { local format=$1 local src=$2 local dst=$3 + local option=$4 log_debug "Compression format: $format" if [ "$format" = "cp" ]; then cp $src $dst elif [ "$format" = "7zip" ]; then - $CMD_7z x -y -o$dst $src + $CMD_7z x -y $option -o$dst $src elif [ "$format" = "unzip" ]; then - $CMD_unzip -o $src -d $dst + $CMD_unzip $option -o $src -d $dst elif [ "$format" = "unrar" ]; then - $CMD_unrar x -y $src $dst + $CMD_unrar x -y $option $src $dst elif [ "$format" = "lha" ]; then - $CMD_lha x -w=$dst $src + $CMD_lha x $option -w=$dst $src elif [ "$format" = "targz" ]; then - $CMD_tar xzvf $src -C $dst + $CMD_tar xzvf $option $src -C $dst elif [ "$format" = "tarbz2" ]; then - $CMD_tar xjvf $src -C $dst + $CMD_tar xjvf $option $src -C $dst elif [ "$format" = "cab" ]; then - $CMD_cabextract -d $dst $src + $CMD_cabextract $option -d $dst $src else fatal_error "Unknown compression format: $format" fi