From 367ac227f42ca9c8a7c050da0bcc04248fae29b1 Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Fri, 28 Sep 2012 13:54:10 -0400 Subject: commit to some level of style in variable naming This is an ugly patch, and probably does more than I'd like it to. The idea is that mkinitcpio adopts some sort of consistent style which I'm actually happy with. I define 3 kinds of variables: 1) local variables: all lower case, and scoped within functions. Use freely, as they're well contained. 2) global variables: these are known to mkinitcpio internally, but are global in scope. They mainly carry runtime configuration and collected data during the image generation process. These are always lower case, but carry a leading underscore to denote that they're global. 3) "API" variables: also global in scope, but exist "outside" of mkinitcpio -- either drawn in from the configuration file, or "exported" to the install hooks. These are always all upper case. When introducing new variables, extreme care must be taken to pick names that will not conflict with the environment inherited by mkinitcpio. A HACKING file is introduced with a similar description of the above, and more. Signed-off-by: Dave Reisner --- lsinitcpio | 109 ++++++++++++++++++++++++++++++------------------------------- 1 file changed, 53 insertions(+), 56 deletions(-) (limited to 'lsinitcpio') diff --git a/lsinitcpio b/lsinitcpio index 2dc7d35..f94dd8c 100755 --- a/lsinitcpio +++ b/lsinitcpio @@ -5,11 +5,9 @@ shopt -s extglob -declare verbose= -declare list='--list' -declare -i color=1 -declare NC= BOLD= BLUE= GREEN= RED= YELLOW= -declare FUNCTIONS=functions +_list='--list' +_optcolor=1 _optverbose=0 +_f_functions=functions usage() { cat</dev/null; } 2>&1 ) - if [[ $compress ]]; then - fullsize=$(decomp "$image" | bsdtar xOf - | wc -c) + TIMEFORMAT=%R decomptime=$({ time decomp "$_image" >/dev/null; } 2>&1 ) + if [[ $_compress ]]; then + fullsize=$(decomp "$_image" | bsdtar xOf - | wc -c) ratio=.$(( zsize * 1000 / fullsize % 1000 )) fi # decompress the image since we need to read from it multiple times. we # have to pass this through decomp() since the image might be lzop which # bsdtar can't read. - decomp "$image" | bsdtar -C "$workdir" -xf - + decomp "$_image" | bsdtar -C "$workdir" -xf - # collect stats kernver=("$workdir"/usr/lib/modules/*/) @@ -113,15 +111,15 @@ analyze_image() { explicitmod=($MODULES) # print results - imagename=$image - [[ -L $image ]] && imagename+=" -> $(readlink -e "$image")" + imagename=$_image + [[ -L $_image ]] && imagename+=" -> $(readlink -e "$_image")" msg 'Image: %s %s' "$imagename" [[ $version ]] && msg 'Created with mkinitcpio %s' "$version" msg 'Kernel: %s' "${kernver:-unknown}" msg 'Size: %s' "$(size_to_human "$zsize")" - if [[ $compress ]]; then - msg 'Compressed with: %s' "$compress" + if [[ $_compress ]]; then + msg 'Compressed with: %s' "$_compress" msg2 'Uncompressed size: %s (%s ratio)' "$(size_to_human "$fullsize")" "$ratio" fi msg2 'Estimated extraction time: %ss' "$decomptime" @@ -166,32 +164,32 @@ analyze_image() { fi } -OPT_SHORT='achlnvx' -OPT_LONG=('analyze' 'help' 'list' 'nocolor' 'showconfig' 'verbose' 'extract') +_opt_short='achlnvx' +_opt_long=('analyze' 'help' 'list' 'nocolor' 'showconfig' 'verbose' 'extract') -if ! parseopts "$OPT_SHORT" "${OPT_LONG[@]}" -- "$@"; then +if ! parseopts "$_opt_short" "${_opt_long[@]}" -- "$@"; then exit 1 fi set -- "${OPTRET[@]}" -unset OPT_SHORT OPT_LONG OPTRET +unset _opt_short _opt_long OPTRET while :; do case $1 in -a|--analyze) - analyze=1 ;; + _optanalyze=1 ;; -c|--config) - showconfig=1 ;; + _optshowconfig=1 ;; -h|--help) usage exit 0 ;; -l|--list) - listcontents=1 ;; + _optlistcontents=1 ;; -n|--nocolor) - color=0 ;; + _optcolor=0 ;; -v|--verbose) - verbose='--verbose' ;; + _optverbose='--verbose' ;; -x|--extract) - unset list ;; + unset _list ;; --) shift break 2 ;; @@ -199,55 +197,54 @@ while :; do shift done -declare image=$1 +_image=$1 -if [[ -t 1 ]] && (( color )); then +if [[ -t 1 ]] && (( _optcolor )); then # prefer terminal safe colored and bold text when tput is supported if tput setaf 0 &>/dev/null; then - NC="$(tput sgr0)" - BOLD="$(tput bold)" - BLUE="$BOLD$(tput setaf 4)" - GREEN="$BOLD$(tput setaf 2)" - RED="$BOLD$(tput setaf 1)" - YELLOW="$BOLD$(tput setaf 3)" + _color_none="$(tput sgr0)" + _color_bold="$(tput bold)" + _color_blue="$_color_bold$(tput setaf 4)" + _color_green="$_color_bold$(tput setaf 2)" + _color_red="$_color_bold$(tput setaf 1)" + _color_yellow="$_color_bold$(tput setaf 3)" else - NC="\e[1;0m" - BOLD="\e[1;1m" - BLUE="$BOLD\e[1;34m" - GREEN="$BOLD\e[1;32m" - RED="$BOLD\e[1;31m" - YELLOW="$BOLD\e[1;33m" + _color_none="\e[1;0m" + _color_bold="\e[1;1m" + _color_blue="$_color_bold\e[1;34m" + _color_green="$_color_bold\e[1;32m" + _color_red="$_color_bold\e[1;31m" + _color_yellow="$_color_bold\e[1;33m" fi fi -readonly NC BOLD BLUE GREEN RED YELLOW -[[ $image ]] || die "No image specified (use -h for help)" -[[ -f $image ]] || die "No such file: $image" +[[ $_image ]] || die "No image specified (use -h for help)" +[[ -f $_image ]] || die "No such file: %s" "$_image" -case $(( analyze + listcontents + showconfig )) in +case $(( _optanalyze + _optlistcontents + _optshowconfig )) in 0) # default action when none specified - listcontents=1 ;; + _optlistcontents=1 ;; [!1]) die "Only one action may be specified at a time" ;; esac # read compression type -case "$(file -Lb "$image")" in - @(data|LZMA)*) compress=lzma ;; - gzip*) compress=gzip ;; - bzip2*) compress=bzip2 ;; - lzop*) compress=lzop ;; - XZ*) compress=xz ;; +case $(file -Lb "$_image") in + @(data|LZMA)*) _compress=lzma ;; + gzip*) _compress=gzip ;; + bzip2*) _compress=bzip2 ;; + lzop*) _compress=lzop ;; + XZ*) _compress=xz ;; esac -if (( analyze )); then - analyze_image "$image" -elif (( showconfig )); then - decomp "$1" | bsdtar xOf - buildconfig 2>/dev/null || +if (( _optanalyze )); then + analyze_image "$_image" +elif (( _optshowconfig )); then + decomp "$_image" | bsdtar xOf - buildconfig 2>/dev/null || die 'Failed to extract config from image (mkinitcpio too old?)' else - decomp "$image" | bsdcpio -i --quiet $verbose $list + decomp "$_image" | bsdcpio -i --quiet $_optverbose $_list fi # vim: set ft=sh ts=4 sw=4 et: -- cgit v1.2.3-24-g4f1b