seb annotate libseb.sh @ rev 26

Add kernel config example and a precompiled bzImage
author Christophe Lincoln <pankso@slitaz.org>
date Mon Mar 13 16:42:29 2017 +0100 (2017-03-13)
parents 052432697dd3
children 3fbcae08e9d8
rev   line source
pankso@4 1 #!/bin/sh
pankso@4 2 #
pankso@4 3 # libseb.sh: Simple functions without gettext for seb cmdline tools
pankso@4 4 #
pankso@4 5 # Copyright (C) 2017 SliTaz GNU/Linux - BSD License
pankso@4 6 #
pankso@4 7
pankso@4 8 # Parse cmdline options and store values in a variable.
pankso@4 9 for opt in "$@"; do
pankso@4 10 opt_name="${opt%%=*}"
pankso@4 11 opt_name="$(echo -n "${opt_name#--}" | tr -c 'a-zA-Z0-9' '_')"
pankso@4 12 case "$opt" in
pankso@4 13 --*=*) export $opt_name="${opt#*=}" ;;
pankso@4 14 --*) export $opt_name="yes" ;;
pankso@4 15 esac
pankso@4 16 done
pankso@4 17
paul@14 18 # Exit if command returns 1
pankso@4 19 check() {
pankso@24 20 local code="$?"
pankso@24 21 case "$output" in
pankso@24 22 html)
pankso@24 23 case "$code" in
pankso@24 24 0) echo " <span style='color: green;'>Done</span>" ;;
pankso@24 25 1)
pankso@24 26 echo " <span style='color: red;'>--> Error</span>"
pankso@24 27 exit 1 ;;
pankso@24 28 esac ;;
pankso@24 29 *)
pankso@24 30 case "$code" in
pankso@24 31 0) info 32 "Done" ;;
pankso@24 32 1) colorize 31 "--> Error" && exit 1 ;;
pankso@24 33 esac ;;
pankso@4 34 esac
pankso@4 35 }
pankso@4 36
pankso@4 37 # Check if user is logged as root
pankso@4 38 check_root() {
pankso@4 39 if [ $(id -u) -ne 0 ]; then
pankso@4 40 echo "You must be root to execute: $(basename $0) $@"; exit 1
pankso@4 41 fi
pankso@4 42 }
pankso@4 43
pankso@4 44 # Get console cols
pankso@4 45 get_cols() {
pankso@4 46 if ! stty size | cut -d " " -f 2; then
pankso@4 47 echo 80
pankso@4 48 fi
pankso@4 49 }
pankso@4 50
pankso@4 51 # Indent text
pankso@4 52 indent() {
pankso@4 53 local in="$1"
pankso@4 54 shift
pankso@24 55 case "$output" in
pankso@24 56 html) echo ": $@" ;;
pankso@24 57 *) echo -e "\033["${in}"G $@" ;;
pankso@24 58 esac
pankso@4 59 }
pankso@4 60
pankso@4 61 # Display a bold message
pankso@4 62 boldify() {
pankso@4 63 case "$output" in
pankso@4 64 html) echo "<strong>$@</strong>" ;;
pankso@4 65 *) echo -e "\\033[1m$@\\033[0m" ;;
pankso@4 66 esac
pankso@4 67 }
pankso@4 68
pankso@4 69 # Colorize message
pankso@4 70 colorize() {
pankso@4 71 : ${color=$1}
pankso@4 72 shift
pankso@24 73 case "$output" in
pankso@24 74 html|raw) echo "$@" ;;
pankso@24 75 *)
pankso@24 76 case "$color" in
pankso@24 77 0*) echo -e "\\033[${color:-38}m$@\\033[39m" ;;
pankso@24 78 *) echo -e "\\033[1;${color:-38}m$@\\033[0;39m" ;;
pankso@24 79 esac ;;
pankso@4 80 esac; unset color
pankso@4 81 }
pankso@4 82
pankso@4 83 # Last command status
pankso@4 84 status() {
pankso@4 85 local code="$?"
pankso@24 86 case "$output" in
pankso@24 87 html)
pankso@24 88 case "$code" in
pankso@24 89 0) echo " <span style='color: green;'>Done</span>" ;;
pankso@24 90 1) echo " <span style='color: red;'>Fail</span>" ;;
pankso@24 91 esac ;;
pankso@24 92 *)
pankso@24 93 case "$code" in
pankso@24 94 0) info 32 "Done" ;;
pankso@24 95 1) info 31 "Fail" ;;
pankso@24 96 esac ;;
pankso@4 97 esac
pankso@4 98 }
pankso@4 99
pankso@4 100 # Print info a la status way: info [color] [content]
pankso@4 101 info() {
pankso@4 102 local info="$2"
pankso@24 103 case "$output" in
pankso@24 104 html) echo " <span class='info'>$info</span>" ;;
pankso@24 105 *)
pankso@24 106 local char="$(echo $info | wc -L)"
pankso@24 107 local in=$((7 + ${char}))
pankso@24 108 indent $(($(get_cols) - ${in})) "[ $(colorize $1 $info) ]" ;;
pankso@24 109 esac
pankso@4 110 }
pankso@4 111
pankso@4 112 # Line separator
pankso@4 113 separator() {
pankso@4 114 case "$output" in
pankso@4 115 html) echo -n '<hr />' ;;
pankso@4 116 *) printf "%$(get_cols)s\n" | tr ' ' "${1:-=}" ;;
pankso@4 117 esac
pankso@4 118 }
pankso@4 119
pankso@4 120 title() {
pankso@4 121 echo ""; colorize 33 "$@"; separator
pankso@4 122 }
pankso@4 123
pankso@4 124 footer() {
pankso@4 125 separator "-"; [ "$1" ] && colorize 035 "$1"; echo ""
pankso@4 126 }
pankso@4 127
pankso@4 128 # Testsuite
pankso@4 129 if [ $(basename $0) == "libseb.sh" ]; then
pankso@4 130 title "libseb.sh title()"
pankso@4 131 echo -n "Checking status() 0"; status
pankso@4 132 echo -n "Checking status() 1"; ls /a/a 2>/dev/null; status
pankso@4 133 echo -n "Checking info()"; info 035 "3.4K"
pankso@4 134 echo -n "Checking colorize()"; colorize 33 " message"
pankso@4 135 echo -n "Checking colorize()"; colorize 033 " message"
pankso@4 136 echo "Checking footer()"; footer "Footer message"
pankso@4 137 fi