tinycm annotate tinycm @ rev 71

Tiny edits
author Paul Issott <paul@slitaz.org>
date Thu Apr 24 19:30:48 2014 +0100 (2014-04-24)
parents 70b6a1ca9106
children 33e6a5c881ec
rev   line source
pankso@67 1 #!/bin/sh
pankso@67 2 #
pankso@67 3 # TinyCM Command line tool. Dont use libtaz since TinyCM can run on any
pankso@67 4 # Linux/BSD distribution providing a web server with CGI SHell support
pankso@67 5 # such as LightTPD.
pankso@67 6 #
pankso@67 7 # Copyright (C) 2014 SliTaz GNU/Linux - BSD License
pankso@67 8 #
pankso@67 9
pankso@67 10 list="tinycm.list"
pankso@67 11 path="${2%/}"
pankso@67 12 hgurl="http://hg.slitaz.org/tinycm"
pankso@67 13 dlurl="$hgurl/archive/tip.tar.bz2"
pankso@67 14
pankso@67 15 #
pankso@67 16 # Functions
pankso@67 17 #
pankso@67 18
pankso@67 19 boldify() {
pankso@67 20 echo -e "\\033[1m$@\\033[0m"
pankso@67 21 }
pankso@67 22
pankso@67 23 error() {
pankso@67 24 echo -e "\\033[1;31m$@\\033[0;39m"
pankso@67 25 }
pankso@67 26
pankso@67 27 usage() {
pankso@67 28 cat << EOT
pankso@67 29
pankso@67 30 $(boldify "Usage:") $(basename $0) [command] [path|list]
pankso@67 31
pankso@67 32 $(boldify "Commands:")
pankso@67 33 inst Install TinyCM and set permissions
paul@71 34 up Update one or a list of TinyCM installations
pankso@67 35
pankso@67 36 EOT
pankso@67 37 }
pankso@67 38
pankso@67 39 check_source() {
pankso@67 40 if [ ! -f "Makefile" ] || [ ! -f "index.cgi" ]; then
pankso@67 41 error "No source found" && exit 1
pankso@67 42 fi
pankso@67 43 }
pankso@67 44
pankso@67 45 check_path() {
pankso@67 46 if [ ! "$path" ]; then
pankso@67 47 error "Missing path argument" && exit 1
pankso@67 48 fi
pankso@67 49 }
pankso@67 50
pankso@67 51 check_tiny() {
pankso@67 52 if [ ! -f "$path/index.cgi" ] || [ ! -d "$path/lib" ]; then
pankso@67 53 error "Missing TinyCM in: $path"
pankso@67 54 continue
pankso@67 55 fi
pankso@67 56 }
pankso@67 57
pankso@67 58 #
pankso@67 59 # Commands
pankso@67 60 #
pankso@67 61
pankso@67 62 case "$1" in
pankso@67 63 inst)
pankso@67 64 check_source
pankso@67 65 check_path
pankso@67 66 echo ""
pankso@67 67 boldify "Installing TinyCM..."
pankso@67 68 echo "Path:"; echo "$path"
pankso@67 69 mkdir -p $path
pankso@67 70 for file in index.cgi style.css images lib plugins
pankso@67 71 do
pankso@67 72 cp -a $file $path
pankso@67 73 done
pankso@67 74 if [ $(id) == 0 ]; then
pankso@67 75 echo root
pankso@67 76 else
pankso@67 77 echo user
pankso@67 78 fi
pankso@67 79 echo "" ;;
pankso@67 80 up)
pankso@67 81 check_source
pankso@67 82 if [ ! "$path" ] && [ ! -f "$list" ]; then
pankso@67 83 error "Missing path argument or paths list: $list"
pankso@67 84 exit 1
pankso@67 85 fi
pankso@67 86 echo ""
paul@71 87 boldify $(echo "Updating TinyCM installs...")
pankso@67 88
pankso@67 89 # Priority to cmdline path argument
pankso@67 90 if [ "$path" ]; then
pankso@67 91 paths="$path"
pankso@67 92 else
pankso@67 93 paths="$(cat ${list})"
pankso@67 94 fi
pankso@67 95
pankso@67 96 for path in ${paths}
pankso@67 97 do
pankso@67 98 check_tiny
pankso@67 99 echo "Updating: $path"
pankso@67 100 cp -a index.cgi $path
pankso@67 101 cp -a lib/functions.js $path/lib
pankso@67 102 cp -a lib/jseditor.html $path/lib
pankso@67 103 for plug in $(ls plugins)
pankso@67 104 do
pankso@67 105 if [ -d "$path/plugins/$plug" ]; then
pankso@67 106 cp -a plugins/$plug $path/plugins
pankso@67 107 fi
pankso@67 108 done
pankso@67 109 done && echo "" ;;
pankso@67 110 *)
pankso@67 111 usage ;;
pankso@67 112 esac
pankso@67 113
pankso@67 114 exit 0