X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=INSTALL.sh;h=3786987439e34ab4cfe40d6bb31565186882092a;hb=0e17eb7ed18d621be70d7890f531a2dc1cab2a42;hp=8b7ea985ec83b8797d4a57eae1c087075024d1c1;hpb=6439161bcddfa229747cd24f79ef13ecb7cf9060;p=brisk.git diff --git a/INSTALL.sh b/INSTALL.sh index 8b7ea98..3786987 100755 --- a/INSTALL.sh +++ b/INSTALL.sh @@ -3,38 +3,78 @@ # # Defaults # +CONFIG_FILE="$HOME/.brisk_spu_install" + +apache_conf="/etc/apache2/sites-available/default" players_n=3 -tables_n=16 -tables_auth_n=6 -brisk_auth_conf="brisk_auth2.conf.pho" -brisk_debug="0xffff" -web_path="$HOME/brisk" -legal_path="$HOME/brisk-priv" -ftok_path="$HOME/brisk-priv/ftok" -proxy_path="$HOME/brisk-priv/proxy" +tables_n=44 +tables_auth_n=12 +brisk_auth_conf="brisk_spu_auth.conf.pho" +brisk_debug="0x0400" +# brisk_debug="0xffff" +web_path="/home/nastasi/web/brisk" +ftok_path="/home/nastasi/brisk-priv/ftok/brisk" +proxy_path="/home/nastasi/brisk-priv/proxy/brisk" +usock_path="/home/nastasi/brisk-priv/brisk.sock" +legal_path="/home/nastasi/brisk-priv/brisk" +prefix_path="/brisk/" +brisk_conf="brisk_spu.conf.pho" web_only="FALSE" -brisk_conf="brisk.conf.pho" -if [ "$1" = "--ck" ]; then - find -name '*.pho' -o -name '*.phh' -o -name '*.php' -exec php5 -l {} \; + +if [ "$1" = "chk" ]; then + set -e + oldifs="$IFS" + IFS=' +' + for i in $(find -name '*.pho' -o -name '*.phh' -o -name '*.php'); do + php5 -l $i + done exit 0 fi -if [ -f $HOME/.brisk_install ]; then - . $HOME/.brisk_install +# before all check errors on the sources +$0 chk || exit 3 + +if [ "$1" = "pkg" ]; then + if [ "$2" != "" ]; then + tag="$2" + else + tag="$(git describe)" + fi + nam1="brisk_${tag}.tgz" + nam2="brisk-img_${tag}.tgz" + echo "Build packages ${nam1} and ${nam2}." + read -p "Proceed [y/n]: " a + if [ "$a" != "y" -a "$a" != "Y" ]; then + exit 1 + fi + git archive --format=tar --prefix=brisk-${tag}/brisk/ $tag | gzip > ../$nam1 + cd ../brisk-img + git archive --format=tar --prefix=brisk-${tag}/brisk-img/ $tag | gzip > ../$nam2 + cd - + exit 0 +fi + +if [ -f "$CONFIG_FILE" ]; then + source "$CONFIG_FILE" fi -if [ "x$cookie_path" = "x" ]; then - cookie_path=$web_path + +if [ "x$prefix_path" = "x" ]; then + prefix_path="$web_path" fi + function usage () { echo echo "$1 -h" - echo "$1 --ck - run lintian on all ph* files." - echo "$1 [-W] [-n 3|5] [-t <(n>=4)>] [-T ] [-a ] [-f conffile] [-p outconf] [-d TRUE|FALSE] [-w web_dir] [-k ] [-l ] [-y ] [-c ]" + echo "$1 chk - run lintian on all ph* files." + echo "$1 pkg - build brisk packages." + echo "$1 [-W] [-n 3|5] [-t <(n>=4)>] [-T ] [-A ] [-a ] [-f ] [-p ] [-U [-d ] [-w ] [-k ] [-l ] [-y ] [-P ]" echo " -h this help" echo " -f use this config file" echo " -p save preferences in the file" echo " -W web files only" + echo " -A apache_conf - def. $apache_conf" echo " -n number of players - def. $players_n" echo " -t number of tables - def. $tables_n" echo " -T number of auth-only tables - def. $tables_auth_n" @@ -44,8 +84,9 @@ function usage () { echo " -k dir where place ftok files - def. \"$ftok_path\"" echo " -l dir where save logs - def. \"$legal_path\"" echo " -y dir where place proxy files - def. \"$proxy_path\"" - echo " -c cookie path - def. \"$cookie_path\"" + echo " -P prefix path - def. \"$prefix_path\"" echo " -C config filename - def. \"$brisk_conf\"" + echo " -U unix socket path - def. \"$usock_path\"" echo } @@ -75,7 +116,7 @@ function searchetc() { echo "$pp/$dname" return 0 fi - pp="`dirname "$pp"`" + pp="$(dirname "$pp")" done return 1 @@ -88,21 +129,23 @@ while [ $# -gt 0 ]; do # echo aa $1 xx $2 bb conffile="" case $1 in - -f*) conffile="`get_param "-f" "$1" "$2"`"; sh=$?;; - -p*) outconf="`get_param "-p" "$1" "$2"`"; sh=$?;; - -n*) players_n="`get_param "-n" "$1" "$2"`"; sh=$?;; - -t*) tables_n="`get_param "-t" "$1" "$2"`"; sh=$?;; - -T*) tables_auth_n="`get_param "-T" "$1" "$2"`"; sh=$?;; - -a*) brisk_auth_conf="`get_param "-a" "$1" "$2"`"; sh=$?;; - -d*) brisk_debug="`get_param "-d" "$1" "$2"`"; sh=$?;; - -w*) web_path="`get_param "-w" "$1" "$2"`"; sh=$?;; - -k*) ftok_path="`get_param "-k" "$1" "$2"`"; sh=$?;; - -y*) proxy_path="`get_param "-y" "$1" "$2"`"; sh=$?;; - -c*) cookie_path="`get_param "-c" "$1" "$2"`"; sh=$?;; - -C*) brisk_conf="`get_param "-C" "$1" "$2"`"; sh=$?;; - -l*) legal_path="`get_param "-l" "$1" "$2"`"; sh=$?;; - -W) web_only="TRUE";; - -h) usage $0; exit 0;; + -A*) apache_conf="$(get_param "-A" "$1" "$2")"; sh=$?;; + -f*) conffile="$(get_param "-f" "$1" "$2")"; sh=$?;; + -p*) outconf="$(get_param "-p" "$1" "$2")"; sh=$?;; + -n*) players_n="$(get_param "-n" "$1" "$2")"; sh=$?;; + -t*) tables_n="$(get_param "-t" "$1" "$2")"; sh=$?;; + -T*) tables_auth_n="$(get_param "-T" "$1" "$2")"; sh=$?;; + -a*) brisk_auth_conf="$(get_param "-a" "$1" "$2")"; sh=$?;; + -d*) brisk_debug="$(get_param "-d" "$1" "$2")"; sh=$?;; + -w*) web_path="$(get_param "-w" "$1" "$2")"; sh=$?;; + -k*) ftok_path="$(get_param "-k" "$1" "$2")"; sh=$?;; + -y*) proxy_path="$(get_param "-y" "$1" "$2")"; sh=$?;; + -P*) prefix_path="$(get_param "-P" "$1" "$2")"; sh=$?;; + -C*) brisk_conf="$(get_param "-C" "$1" "$2")"; sh=$?;; + -l*) legal_path="$(get_param "-l" "$1" "$2")"; sh=$?;; + -U*) usock_path="$(get_param "-U" "$1" "$2")"; sh=$?;; + -W) web_only="TRUE";; + -h) usage $0; exit 0;; *) usage $0; exit 1;; esac if [ ! -z "$conffile" ]; then @@ -119,6 +162,7 @@ done # Show parameters # echo " outconf: \"$outconf\"" +echo " apache_conf:\"$apache_conf\"" echo " players_n: $players_n" echo " tables_n: $tables_n" echo " tables_auth_n: $tables_auth_n" @@ -128,8 +172,9 @@ echo " web_path: \"$web_path\"" echo " ftok_path: \"$ftok_path\"" echo " legal_path: \"$legal_path\"" echo " proxy_path: \"$proxy_path\"" -echo " cookie_path:\"$cookie_path\"" +echo " prefix_path:\"$prefix_path\"" echo " brisk_conf:\"$brisk_conf\"" +echo " usock_path: \"$usock_path\"" echo " web_only: \"$web_only\"" if [ ! -z "$outconf" ]; then @@ -137,6 +182,7 @@ if [ ! -z "$outconf" ]; then echo "#" echo "# Produced automatically by brisk::INSTALL.sh" echo "#" + echo "apache_conf=$apache_conf" echo "players_n=$players_n" echo "tables_n=$tables_n" echo "tables_auth_n=$tables_auth_n" @@ -146,22 +192,27 @@ if [ ! -z "$outconf" ]; then echo "ftok_path=\"$ftok_path\"" echo "proxy_path=\"$proxy_path\"" echo "legal_path=\"$legal_path\"" - echo "cookie_path=\"$cookie_path\"" + echo "prefix_path=\"$prefix_path\"" echo "brisk_conf=\"$brisk_conf\"" + echo "usock_path=\"$usock_path\"" echo "web_only=\"$web_only\"" ) > "$outconf" fi + +max_players=$((40 + players_n * tables_n)) # # Pre-check # # check for etc path existence -dsta="`dirname "$web_path"`" -etc_path="`searchetc "$dsta" Etc`" +dsta="$(dirname "$web_path")" +etc_path="$(searchetc "$dsta" Etc)" if [ $? -ne 0 ]; then echo "Etc directory not found" exit 1 fi +IFS=' +' # # Installation # @@ -202,23 +253,46 @@ if [ "$web_only" = "FALSE" ]; then chmod 666 ${ftokk_path}/warrant touch ${ftokk_path}/poll chmod 666 ${ftokk_path}/poll - for i in `seq 0 99`; do - touch ${ftokk_path}/table$i - chmod 666 ${ftokk_path}/table$i + for i in $(seq 0 $max_players); do + touch ${ftokk_path}/user$i + chmod 666 ${ftokk_path}/user$i + done + + if [ ! -d ${ftokk_path}/bin5 ]; then + mkdir ${ftokk_path}/bin5 + chmod 777 ${ftokk_path}/bin5 + fi + + for i in $(seq 0 $((tables_n - 1))); do + if [ ! -d ${ftokk_path}/bin5/table$i ]; then + mkdir ${ftokk_path}/bin5/table$i + fi + chmod 777 ${ftokk_path}/bin5/table$i + touch ${ftokk_path}/bin5/table$i/table + chmod 666 ${ftokk_path}/bin5/table$i/table + for e in $(seq 0 4); do + touch ${ftokk_path}/bin5/table$i/user$e + chmod 666 ${ftokk_path}/bin5/table$i/user$e + done + # create subdirectories in proxy path + if [ ! -d ${proxy_path}/bin5/table$i ]; then + mkdir -p ${proxy_path}/bin5/table$i + fi done + chmod -R 777 ${proxy_path}/bin5 + fi install -d ${web_path}__ -for i in `find web -type d | grep -v /CVS | sed 's/^....//g'`; do +for i in $(find web -type d | sed 's/^....//g'); do install -d ${web_path}__/$i done -for i in `find web -name '*.php' -o -name '*.phh' -o -name '*.pho' -o -name '*.css' -o -name '*.js' -o -name '*.mp3' -o -name '*.swf' | grep -v /CVS | sed 's/^....//g'`; do - install -m 644 web/$i ${web_path}__/$i +for i in $(find web -name '.htaccess' -o -name '*.php' -o -name '*.phh' -o -name '*.pho' -o -name '*.css' -o -name '*.js' -o -name '*.mp3' -o -name '*.swf' | sed 's/^....//g'); do + install -m 644 "web/$i" "${web_path}__/$i" done +chmod 755 "${web_path}__/spush/brisk-spush.php" -cd web -find . -name '.htaccess' -exec install -m 644 {} ${web_path}__/{} \; -cd - >/dev/null 2>&1 +prefix_path_len=$(echo -n "$prefix_path" | wc -c) if [ $players_n -eq 5 ]; then send_time=250 @@ -227,33 +301,42 @@ else fi # .js substitutions -sed -i "s/PLAYERS_N *= *[0-9]\+/PLAYERS_N = $players_n/g" `find ${web_path}__ -type f -name '*.js' -exec grep -l 'PLAYERS_N *= *[0-9]\+' {} \;` +sed -i "s/PLAYERS_N *= *[0-9]\+/PLAYERS_N = $players_n/g" $(find ${web_path}__ -type f -name '*.js' -exec grep -l 'PLAYERS_N *= *[0-9]\+' {} \;) -sed -i "s/^var G_send_time *= *[0-9]\+/var G_send_time = $send_time/g" `find ${web_path}__ -type f -name '*.js' -exec grep -l '^var G_send_time *= *[0-9]\+' {} \;` +sed -i "s/^var G_send_time *= *[0-9]\+/var G_send_time = $send_time/g" $(find ${web_path}__ -type f -name '*.js' -exec grep -l '^var G_send_time *= *[0-9]\+' {} \;) # .ph[pho] substitutions -sed -i "s/define *( *PLAYERS_N, *[0-9]\+ *)/define(PLAYERS_N, $players_n)/g" `find ${web_path}__ -type f -name '*.ph*' -exec grep -l 'define *( *PLAYERS_N, *[0-9]\+ *)' {} \;` +sed -i "s/define *( *'PLAYERS_N', *[0-9]\+ *)/define('PLAYERS_N', $players_n)/g" $(find ${web_path}__ -type f -name '*.ph*' -exec grep -l "define *( *'PLAYERS_N', *[0-9]\+ *)" {} \;) + +sed -i "s/define *( *'BIN5_PLAYERS_N', *[0-9]\+ *)/define('BIN5_PLAYERS_N', $players_n)/g" $(find ${web_path}__ -type f -name '*.ph*' -exec grep -l "define *( *'BIN5_PLAYERS_N', *[0-9]\+ *)" {} \;) + +sed -i "s@define *( *'FTOK_PATH',[^)]*)@define('FTOK_PATH', \"$ftok_path\")@g" $(find ${web_path}__ -type f -name '*.ph*' -exec grep -l "define *( *'FTOK_PATH',[^)]*)" {} \;) + +sed -i "s@define *( *'SITE_PREFIX',[^)]*)@define('SITE_PREFIX', \"$prefix_path\")@g" ${web_path}__/Obj/sac-a-push.phh + +sed -i "s@define *( *'SITE_PREFIX_LEN',[^)]*)@define('SITE_PREFIX_LEN', $prefix_path_len)@g" ${web_path}__/Obj/sac-a-push.phh -sed -i "s/define *( *BRISKIN5_PLAYERS_N, *[0-9]\+ *)/define(BRISKIN5_PLAYERS_N, $players_n)/g" `find ${web_path}__ -type f -name '*.ph*' -exec grep -l 'define *( *BRISKIN5_PLAYERS_N, *[0-9]\+ *)' {} \;` +sed -i "s@define *( *'USOCK_PATH',[^)]*)@define('USOCK_PATH', \"$usock_path\")@g" ${web_path}__/spush/brisk-spush.phh -sed -i "s@define *( *FTOK_PATH,[^)]*)@define(FTOK_PATH, \"$ftok_path\")@g" `find ${web_path}__ -type f -name '*.ph*' -exec grep -l 'define *( *FTOK_PATH,[^)]*)' {} \;` +sed -i "s@define *( *'TABLES_N',[^)]*)@define('TABLES_N', $tables_n)@g" ${web_path}__/Obj/brisk.phh -sed -i "s@define *( *TABLES_N,[^)]*)@define(TABLES_N, $tables_n)@g" ${web_path}__/Obj/brisk.phh +sed -i "s@define *( *'TABLES_AUTH_N',[^)]*)@define('TABLES_AUTH_N', $tables_auth_n)@g" ${web_path}__/Obj/brisk.phh -sed -i "s@define *( *TABLES_AUTH_N,[^)]*)@define(TABLES_AUTH_N, $tables_auth_n)@g" ${web_path}__/Obj/brisk.phh +sed -i "s@define *( *'BRISK_DEBUG',[^)]*)@define('BRISK_DEBUG', $brisk_debug)@g" ${web_path}__/Obj/brisk.phh -sed -i "s@define *( *BRISK_DEBUG,[^)]*)@define(BRISK_DEBUG, $brisk_debug)@g" ${web_path}__/Obj/brisk.phh +sed -i "s@define *( *'LEGAL_PATH',[^)]*)@define('LEGAL_PATH', \"$legal_path\")@g" ${web_path}__/Obj/brisk.phh -sed -i "s@define *( *LEGAL_PATH,[^)]*)@define(LEGAL_PATH, \"$legal_path\")@g" ${web_path}__/Obj/brisk.phh +sed -i "s@define *( *'PROXY_PATH',[^)]*)@define('PROXY_PATH', \"$proxy_path\")@g" ${web_path}__/Obj/brisk.phh -sed -i "s@define *( *PROXY_PATH,[^)]*)@define(PROXY_PATH, \"$proxy_path\")@g" ${web_path}__/Obj/brisk.phh +sed -i "s@define *( *'BRISK_CONF',[^)]*)@define('BRISK_CONF', \"$brisk_conf\")@g" ${web_path}__/Obj/brisk.phh -sed -i "s@define *( *BRISK_CONF,[^)]*)@define(BRISK_CONF, \"$brisk_conf\")@g" ${web_path}__/Obj/brisk.phh +sed -i "s@define *( *'BRISK_AUTH_CONF',[^)]*)@define('BRISK_AUTH_CONF', \"$brisk_auth_conf\")@g" ${web_path}__/Obj/auth.phh -sed -i "s@define *( *BRISK_AUTH_CONF,[^)]*)@define(BRISK_AUTH_CONF, \"$brisk_auth_conf\")@g" ${web_path}__/Obj/auth.phh +sed -i "s@\( \+xhr_rd_cookiepath *: *\)\"[^\"]*\" *,@\1 \"$prefix_path\",@g" ${web_path}__/http_streaming.js +sed -i "s@var \+cookiepath \+= \+\"[^\"]*\";@var cookiepath = \"$prefix_path\";@g" ${web_path}__/commons.js -sed -i "s@var \+xhr_rd_cookiepath \+= \+\"[^\"]*\";@var xhr_rd_cookiepath = \"$cookie_path\";@g" ${web_path}__/xhr.js -sed -i "s@var \+cookiepath \+= \+\"[^\"]*\";@var cookiepath = \"$cookie_path\";@g" ${web_path}__/commons.js +document_root="$(grep DocumentRoot "${apache_conf}" | awk '{ print $2 }')" +sed -i "s@^\(\$DOCUMENT_ROOT *= *[\"']\)[^\"']*\([\"']\)@\1$document_root\2@g" ${web_path}__/spush/*.ph* if [ -d ${web_path} ]; then mv ${web_path} ${web_path}.old