diff options
author | Dave Reisner <dreisner@archlinux.org> | 2012-09-28 19:54:10 +0200 |
---|---|---|
committer | Dave Reisner <dreisner@archlinux.org> | 2012-10-07 02:38:02 +0200 |
commit | 367ac227f42ca9c8a7c050da0bcc04248fae29b1 (patch) | |
tree | f40bebd836e87a884b1995fac189d1da5edc6b42 /lsinitcpio | |
parent | 4bbca4a841eb6810b003009838cb681fd7ace07a (diff) | |
download | mkinitcpio-367ac227f42ca9c8a7c050da0bcc04248fae29b1.tar.gz mkinitcpio-367ac227f42ca9c8a7c050da0bcc04248fae29b1.tar.xz |
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 <dreisner@archlinux.org>
Diffstat (limited to 'lsinitcpio')
-rwxr-xr-x | lsinitcpio | 109 |
1 files changed, 53 insertions, 56 deletions
@@ -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<<USAGE @@ -31,10 +29,10 @@ USAGE } decomp() { - ${compress:-cat} ${compress:+-cd} "$@" + ${_compress:-cat} ${_compress:+-cd} "$@" } -. "$FUNCTIONS" +. "$_f_functions" # override the die method from functions die() { @@ -73,19 +71,19 @@ analyze_image() { # fallback in case tput failed us columns=${columns:-80} - zsize=$(stat -c %s "$image") + zsize=$(stat -c %s "$_image") # calculate compression ratio - TIMEFORMAT=%R decomptime=$({ time decomp "$image" >/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: |