rename scripts -> lib
authorTero Marttila <terom@fixme.fi>
Wed, 01 Feb 2012 13:22:27 +0200
changeset 24 e6d4310613a4
parent 23 a8998bd43467
child 25 527d0fb0bdc4
rename scripts -> lib
lib/lib.sh
pkvlm-create
scripts/lib.sh
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/lib.sh	Wed Feb 01 13:22:27 2012 +0200
@@ -0,0 +1,199 @@
+## library functions
+
+LOG_DEBUG=
+LOG_CMD=y
+LOG_INFO=y
+LOG_WARN=y
+LOG_ERROR=y
+
+function log_debug () {
+    [ $LOG_DEBUG ] && echo "... $@" >&2
+
+    return 0
+}
+
+function log_debugf () {
+    local fmt=$1; shift 1
+
+    [ $LOG_DEBUG ] && printf "... $fmt\n"  "$@"  >&2
+
+    return 0
+}
+
+function log_info () {
+    [ $LOG_INFO ] && echo "--- $@" >&2
+
+    return 0
+}
+
+function log_cmd () {
+    [ $LOG_CMD ] && echo ">>> $@" >&2
+
+    return 0
+}
+
+function log_warn () {
+    [ $LOG_WARN ] && echo "XXX $@" >&2
+
+    return 0
+}
+
+function log_error () {
+    [ $LOG_ERROR ] && echo "!!! $@" >&2
+
+    return 0
+}
+
+function die () {
+    log_error "$@"
+
+    exit 1
+}
+
+# Execute command verbosely, and exit on failure
+CMD_MOCK=
+CMD_PROMPT=y
+
+function cmd () {
+    log_cmd "$@"
+
+    [ $CMD_MOCK ] && return 0
+
+    "$@" # return $?
+}
+
+function cmd_confirm () {
+    [ $CMD_PROMPT ] && read -p "Confirm: $* ? "
+
+    cmd "$@"
+}
+
+function expand_MB () {
+    local size=${1^}
+
+    case ${size: -1} in 
+        G)
+            size=$(( ${size%G} * 1024))
+
+            ;;
+    esac
+
+    echo $size
+}
+
+function extract_iso () {
+    iso=$1
+    dst=$2
+
+    [ ! -r "$iso" ] && die "Given .iso is not readable: $iso"
+    [ -z "$dst" ] && die "Must give destination: $dst"
+    [ -e "$dst" ] && die "Given destination already exists: $dst"
+
+    # temporary mount
+    mnt=$(mktemp -d mnt.XXXX)
+
+    # clean on exit
+    function cleanup () {
+        if mountpoint -q $mnt; then
+           sudo umount $mnt
+        fi
+
+        [ -d $mnt ] && rmdir $mnt
+
+        return $1
+    }
+
+    # loop-mount
+    cmd sudo mount -o loop $iso $mnt || cleanup 1
+
+    # copy
+    cmd cp -rd $mnt $dst || cleanup 1
+
+    # done, cleanup
+    cleanup 0
+}
+
+function my_md5sum () {
+    /usr/bin/md5sum $1 | (
+        read md5sum path
+        echo $md5sum
+    )
+}
+
+function expand_line () {
+    local line=$1
+
+    # evaluate {...} expressions
+    # a slight hack, but it works \o/
+    # http://stackoverflow.com/questions/415677/how-to-replace-placeholders-in-a-text-file/7633579#7633579
+    line="${line//\\/\\\\}"
+    line="${line//\"/\\\"}"
+    line="${line//\`/\\\`}"
+    line="${line//\$/\\\$}"
+    line="${line//{/\${}"   # This is just for vim: } "
+
+    # log_debug "($line)" >&2
+    eval "echo \"$line\""
+}
+
+function expand_template () {
+    local tpl=$1
+    local out=$2
+
+    local linecount=0
+
+    # read in each line at a time
+    while IFS='' read -r line; do
+        linecount=$((linecount + 1))
+
+        if [ "${line:0:1}" == "#" ]; then
+            # ignore comments; pass through as-is
+            echo "$line"
+        
+        else
+            expand_line "$line" || die "Error at $tpl:$linecount: $line"
+        fi
+ 
+    done < $tpl > $out
+}
+
+function expand_file () {
+    local src=$1
+    local dst=$2
+
+    log_info "expand: file $src -> $dst"
+
+    cmd expand_template $src $dst
+}
+
+# Recursive expand_template files from src -> dst
+# XXX: not used
+function expand_tree () {
+    local src=$1
+    local dst=$2
+    local filter=${3:-'*'}
+
+    log_info "expand: tree $src/$filter -> $dst"
+
+    [ ! -d $dst ] && cmd mkdir $dst
+
+    for path in ${src}/${filter}; do
+        local name=$(basename $path)
+        local target=$dst/$name
+
+        log_debug "expand_tree: $src: path=$path, name=$name, target=$target"
+
+        if [ -d $path ]; then
+            log_debug "expand_tree: $src: tree $name -> $target"
+            expand_tree $path $target "$filter"
+
+        elif [ -f $path ]; then
+            log_debug "expand_tree: $src: file $name -> $target"
+            expand_file $path $target
+
+        else
+            log_warn "expand_tree: $src: ignore $name"
+
+        fi
+    done
+}
--- a/pkvlm-create	Mon Jan 30 14:57:25 2012 +0200
+++ b/pkvlm-create	Wed Feb 01 13:22:27 2012 +0200
@@ -9,8 +9,8 @@
 DO_SHOWSPEC=y
 DO_VIRTINSTALL=
 
-scripts=$(dirname $0)/scripts
-. $scripts/lib.sh
+lib=$(dirname $0)/lib
+. $lib/lib.sh
 
 ### Command-line input
 ## Command-line options
--- a/scripts/lib.sh	Mon Jan 30 14:57:25 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,199 +0,0 @@
-## library functions
-
-LOG_DEBUG=
-LOG_CMD=y
-LOG_INFO=y
-LOG_WARN=y
-LOG_ERROR=y
-
-function log_debug () {
-    [ $LOG_DEBUG ] && echo "... $@" >&2
-
-    return 0
-}
-
-function log_debugf () {
-    local fmt=$1; shift 1
-
-    [ $LOG_DEBUG ] && printf "... $fmt\n"  "$@"  >&2
-
-    return 0
-}
-
-function log_info () {
-    [ $LOG_INFO ] && echo "--- $@" >&2
-
-    return 0
-}
-
-function log_cmd () {
-    [ $LOG_CMD ] && echo ">>> $@" >&2
-
-    return 0
-}
-
-function log_warn () {
-    [ $LOG_WARN ] && echo "XXX $@" >&2
-
-    return 0
-}
-
-function log_error () {
-    [ $LOG_ERROR ] && echo "!!! $@" >&2
-
-    return 0
-}
-
-function die () {
-    log_error "$@"
-
-    exit 1
-}
-
-# Execute command verbosely, and exit on failure
-CMD_MOCK=
-CMD_PROMPT=y
-
-function cmd () {
-    log_cmd "$@"
-
-    [ $CMD_MOCK ] && return 0
-
-    "$@" # return $?
-}
-
-function cmd_confirm () {
-    [ $CMD_PROMPT ] && read -p "Confirm: $* ? "
-
-    cmd "$@"
-}
-
-function expand_MB () {
-    local size=${1^}
-
-    case ${size: -1} in 
-        G)
-            size=$(( ${size%G} * 1024))
-
-            ;;
-    esac
-
-    echo $size
-}
-
-function extract_iso () {
-    iso=$1
-    dst=$2
-
-    [ ! -r "$iso" ] && die "Given .iso is not readable: $iso"
-    [ -z "$dst" ] && die "Must give destination: $dst"
-    [ -e "$dst" ] && die "Given destination already exists: $dst"
-
-    # temporary mount
-    mnt=$(mktemp -d mnt.XXXX)
-
-    # clean on exit
-    function cleanup () {
-        if mountpoint -q $mnt; then
-           sudo umount $mnt
-        fi
-
-        [ -d $mnt ] && rmdir $mnt
-
-        return $1
-    }
-
-    # loop-mount
-    cmd sudo mount -o loop $iso $mnt || cleanup 1
-
-    # copy
-    cmd cp -rd $mnt $dst || cleanup 1
-
-    # done, cleanup
-    cleanup 0
-}
-
-function my_md5sum () {
-    /usr/bin/md5sum $1 | (
-        read md5sum path
-        echo $md5sum
-    )
-}
-
-function expand_line () {
-    local line=$1
-
-    # evaluate {...} expressions
-    # a slight hack, but it works \o/
-    # http://stackoverflow.com/questions/415677/how-to-replace-placeholders-in-a-text-file/7633579#7633579
-    line="${line//\\/\\\\}"
-    line="${line//\"/\\\"}"
-    line="${line//\`/\\\`}"
-    line="${line//\$/\\\$}"
-    line="${line//{/\${}"   # This is just for vim: } "
-
-    # log_debug "($line)" >&2
-    eval "echo \"$line\""
-}
-
-function expand_template () {
-    local tpl=$1
-    local out=$2
-
-    local linecount=0
-
-    # read in each line at a time
-    while IFS='' read -r line; do
-        linecount=$((linecount + 1))
-
-        if [ "${line:0:1}" == "#" ]; then
-            # ignore comments; pass through as-is
-            echo "$line"
-        
-        else
-            expand_line "$line" || die "Error at $tpl:$linecount: $line"
-        fi
- 
-    done < $tpl > $out
-}
-
-function expand_file () {
-    local src=$1
-    local dst=$2
-
-    log_info "expand: file $src -> $dst"
-
-    cmd expand_template $src $dst
-}
-
-# Recursive expand_template files from src -> dst
-# XXX: not used
-function expand_tree () {
-    local src=$1
-    local dst=$2
-    local filter=${3:-'*'}
-
-    log_info "expand: tree $src/$filter -> $dst"
-
-    [ ! -d $dst ] && cmd mkdir $dst
-
-    for path in ${src}/${filter}; do
-        local name=$(basename $path)
-        local target=$dst/$name
-
-        log_debug "expand_tree: $src: path=$path, name=$name, target=$target"
-
-        if [ -d $path ]; then
-            log_debug "expand_tree: $src: tree $name -> $target"
-            expand_tree $path $target "$filter"
-
-        elif [ -f $path ]; then
-            log_debug "expand_tree: $src: file $name -> $target"
-            expand_file $path $target
-
-        else
-            log_warn "expand_tree: $src: ignore $name"
-
-        fi
-    done
-}