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/makepkg.conf b/data/makepkg.conf index bb2333f..b51f4eb 100644 --- a/data/makepkg.conf +++ b/data/makepkg.conf @@ -1,3 +1,4 @@ +#!/hint/bash # # /etc/makepkg.conf # @@ -21,11 +22,11 @@ DLAGENTS=('file::/usr/bin/curl -gqC - -o %o %u' # /usr/bin/wget #-- The package required by makepkg to download VCS sources -# Format: 'protocol::package' +# Format: 'protocol::package' VCSCLIENTS=('bzr::bzr' - 'git::git' - 'hg::mercurial' - 'svn::subversion') + 'git::git' + 'hg::mercurial' + 'svn::subversion') ######################################################################### # ARCHITECTURE, COMPILE FLAGS @@ -35,8 +36,6 @@ CARCH="@CARCH@" CHOST="@CHOST@" #-- Compiler and Linker Flags -# -march (or -mcpu) builds exclusively for an architecture -# -mtune optimizes for an architecture, but builds for whole processor family CPPFLAGS="-D_FORTIFY_SOURCE=2" CFLAGS="@CFLAGS@" CXXFLAGS="@CFLAGS@" @@ -51,9 +50,10 @@ DEBUG_CXXFLAGS="-g -fvar-tracking-assignments" # BUILD ENVIRONMENT ######################################################################### # -# Defaults: BUILDENV=(!distcc color !ccache check !sign) +# Defaults: BUILDENV=(!distcc !color !ccache check !sign) # A negated environment option will do the opposite of the comments below. # +#-- fakeroot: Allow building packages as a non-root user #-- distcc: Use the Distributed C/C++/ObjC compiler #-- color: Colorize output messages #-- ccache: Use ccache to cache compilation @@ -86,7 +86,7 @@ BUILDENV=(!distcc color !ccache check !sign) #-- purge: Remove files specified by PURGE_TARGETS #-- debug: Add debugging flags as specified in DEBUG_* variables # -OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !optipng !upx !debug) +OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug) #-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512 INTEGRITY_CHECK=(md5) diff --git a/data/manjaro-tools.conf b/data/manjaro-tools.conf index 6b9e498..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" @@ -63,7 +67,7 @@ # Set to 'true' to use ssh-agent to store passphrase. # ssh_agent=false -# use alternative storage server (one or the other might be more stable) +# use alternative storage server (one or the other might be more stable) # alt_storage=false # the server project: manjaro|manjaro-community diff --git a/data/profile.conf.example b/data/profile.conf.example index cbd812a..a9ecd17 100644 --- a/data/profile.conf.example +++ b/data/profile.conf.example @@ -38,11 +38,17 @@ # disable_systemd=('pacman-init') # unset defaults to given values -# addgroups="video,audio,power,disk,storage,optical,network,lp,scanner,wheel" +# addgroups="lp,network,power,wheel" # the same workgroup name if samba is used # smb_workgroup="Manjaro" +# default system shell is bash +# '/etc/defaults/useradd': " " +# userShell : "/bin/zsh" +# empty value will not be used +#user_shell= + ################# live-session ################# # unset defaults to given value 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-yaml.sh b/lib/util-yaml.sh index 9b489c5..a1a68e2 100644 --- a/lib/util-yaml.sh +++ b/lib/util-yaml.sh @@ -148,6 +148,9 @@ write_users_conf(){ echo "doReusePassword: false" >> "$conf" # only used in old 'users' module echo "availableShells: /bin/bash, /bin/zsh" >> "$conf" # only used in new 'users' module echo "avatarFilePath: ~/.face" >> "$conf" # mostly used file-name for avatar + if [[ -n "$user_shell" ]]; then + echo "userShell: $user_shell" >> "$conf" + fi } write_packages_conf(){ diff --git a/lib/util.sh b/lib/util.sh index 509b505..b30a600 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" @@ -384,7 +386,7 @@ load_profile_config(){ [[ -z ${login_shell} ]] && login_shell='/bin/bash' if [[ -z ${addgroups} ]]; then - addgroups="audio,disk,lp,network,optical,power,scanner,storage,video,wheel" + addgroups="lp,network,power,wheel" fi if [[ -z ${enable_systemd[@]} ]]; then