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