diff --git a/bin/buildiso.in b/bin/buildiso.in old mode 100644 new mode 100755 index 7718794..8642598 --- a/bin/buildiso.in +++ b/bin/buildiso.in @@ -79,7 +79,8 @@ display_settings(){ msg "ISO INFO:" msg2 "iso_label: %s" "${iso_label}" - + msg2 "iso_compression: %s" "${iso_compression}" + msg "BUILD QUEUE:" run show_profile "${build_list_iso}" } @@ -116,6 +117,8 @@ usage() { echo ' -m Set SquashFS image mode to persistence' echo ' -c Disable clean work dir' echo ' -f Build full ISO (extra=true)' + echo ' -d Compression used for build ISO: xz, gzip, lzma, lzo, lz4' + echo " [default: ${iso_compression}]" echo ' -x Build images only' echo ' -z Generate iso only' echo ' Requires pre built images (-x)' @@ -129,7 +132,7 @@ usage() { orig_argv=("$@") -opts='p:a:b:r:t:k:i:g:cfzxmvqh' +opts='p:a:b:r:t:k:i:g:d:cfzxmvqh' while getopts "${opts}" arg; do case "${arg}" in @@ -137,6 +140,7 @@ while getopts "${opts}" arg; do b) target_branch="$OPTARG" ;; c) clean_first=false ;; f) full_iso=true ;; + d) iso_compression="$OPTARG" ;; g) gpgkey="$OPTARG" ;; k) kernel="$OPTARG" ;; m) persist=true ;; diff --git a/data/manjaro-tools.conf b/data/manjaro-tools.conf index f18fdc3..a020836 100644 --- a/data/manjaro-tools.conf +++ b/data/manjaro-tools.conf @@ -49,6 +49,10 @@ # the branding; default: auto # dist_branding="MJRO" +# compression used, possible values xz (default, best compression), gzip, lzma, lzo, lz4 +# lz4 is faster but worst compression, may be useful for locally testing isos +# iso_compression=xz + # unset defaults to given value # kernel="linux414" diff --git a/lib/util-iso.sh b/lib/util-iso.sh index f937e3a..c3e7d2c 100644 --- a/lib/util-iso.sh +++ b/lib/util-iso.sh @@ -137,12 +137,14 @@ make_sfs() { mksfs_args+=(${sfs} -noappend) - local highcomp="-b 256K -Xbcj x86" comp='xz' + local highcomp="-b 256K -Xbcj x86" + # local comp='xz' + [[ "${iso_compression}" != "xz" ]] && highcomp="" if [[ "${name}" == "mhwdfs" && ${used_kernel} < "4" ]]; then mksfs_args+=(-comp lz4) else - mksfs_args+=(-comp ${comp} ${highcomp}) + mksfs_args+=(-comp ${iso_compression} ${highcomp}) fi if ${verbose}; then mksquashfs "${mksfs_args[@]}" >/dev/null diff --git a/lib/util.sh b/lib/util.sh index 509b505..ae7f103 100644 --- a/lib/util.sh +++ b/lib/util.sh @@ -311,6 +311,8 @@ init_buildiso(){ [[ -z ${dist_branding} ]] && dist_branding="MJRO" + [[ -z ${iso_compression} ]] && iso_compression='xz' + iso_label=$(get_iso_label "${dist_branding}${dist_release//.}") [[ -z ${kernel} ]] && kernel="linux414"