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 |