card_hand=3
players_n=3
tables_n=44
-tables_auth_n=12
+tables_appr_n=12
+tables_auth_n=8
+tables_cert_n=4
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"
+usock_path_pfx="/home/nastasi/brisk-priv/brisk"
sys_user="www-data"
legal_path="/home/nastasi/brisk-priv/brisk"
prefix_path="/brisk/"
echo "$1 -h"
echo "$1 chk - run lintian on all ph* files."
echo "$1 pkg - build brisk packages."
- echo "$1 [-W] [-n 3|5] [-c 3|8] [-t <(n>=4)>] [-T <auth_tab>] [-A <apache-conf>] [-a <auth_file_name>] [-f <conffile>] [-p <outconf>] [-U <usock_path>] [-u <sys_user>] [-d <TRUE|FALSE>] [-w <web_dir>] [-k <ftok_dir>] [-l <legal_path>] [-y <proxy_path>] [-P <prefix_path>] [-x]"
+ echo "$1 [-W] [-n 3|5] [-c 2|8] [-t <(n>=4)>] [-T <auth_tab>] [-r <appr_tab>] [-G <cert_tab>] [-A <apache-conf>] [-a <auth_file_name>] [-f <conffile>] [-p <outconf>] [-U <usock_path_pfx>] [-u <sys_user>] [-d <TRUE|FALSE>] [-w <web_dir>] [-k <ftok_dir>] [-l <legal_path>] [-y <proxy_path>] [-P <prefix_path>] [-x]"
echo " -h this help"
echo " -f use this config file"
echo " -p save preferences in the file"
echo " -c number cards in hand - def. $card_hand"
echo " -n number of players - def. $players_n"
echo " -t number of tables - def. $tables_n"
+ echo " -r number of appr-only tables - def. $tables_appr_n"
echo " -T number of auth-only tables - def. $tables_auth_n"
+ echo " -G number of cert-only tables - def. $tables_cert_n"
echo " -a authorization file name - def. \"$brisk_auth_conf\""
echo " -d activate dabug - def. $brisk_debug"
echo " -w dir where place the web tree - def. \"$web_path\""
echo " -y dir where place proxy files - def. \"$proxy_path\""
echo " -P prefix path - def. \"$prefix_path\""
echo " -C config filename - def. \"$brisk_conf\""
- echo " -U unix socket path - def. \"$usock_path\""
+ echo " -U unix socket path prefix - def. \"$usock_path_pfx\""
echo " -u system user to run brisk dae - def. \"$sys_user\""
echo " -x copy tests as normal php - def. \"$test_add\""
echo
fi
pp="$(dirname "$pp")"
done
-
+
return 1
}
#
# MAIN
#
+declare -a nam
if [ "$1" = "chk" ]; then
set -e
oldifs="$IFS"
done
taggit="$(git describe --tags | sed 's/^v//g')"
- tagphp="$(grep "^\$G_brisk_version = " web/Obj/brisk.phh | sed 's/^[^"]\+"//g;s/".*//g')"
+ tagphp="$(grep "^\$G_brisk_version = " web/Obj/brisk.phh | sed 's/^[^"]\+"//g;s/".*//g')" # ' emacs hell
if [ "$taggit" != "$tagphp" ]; then
echo
echo "WARNING: taggit: [$taggit] tagphp: [$tagphp]"
# 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}."
+ nam_idx=0
+ nam[$nam_idx]="brisk_${tag}.tgz"
+ nam_idx=$((nam_idx + 1))
+ nam[$nam_idx]="brisk-img_${tag}.tgz"
+
+ if [ -d ../curl-de-sac ]; then
+ nam_idx=$((nam_idx + 1))
+ nam[$nam_idx]="curl-de-sac_${tag}.tgz"
+ fi
+ pkg_list=""
+ sep=""
+ for i in ${nam[@]}; do
+ pkg_list="${pkg_list}${sep}${i}"
+ sep=", "
+ done
+ echo "Build packages ${pkg_list}."
read -p "Proceed [y/n]: " a
if [ "$a" != "y" -a "$a" != "Y" ]; then
exit 1
cd ../brisk-img
git archive --format=tar --prefix=brisk-${tag}/brisk-img/ $tag | gzip > ../$nam2
cd -
+ if [ -d ../curl-de-sac ]; then
+ cd ../curl-de-sac
+ git archive --format=tar --prefix=brisk-${tag}/curl-de-sac/ $tag | gzip > ../$nam3
+ cd -
+ fi
exit 0
fi
if [ -f "$CONFIG_FILE" ]; then
source "$CONFIG_FILE"
+ conffile_in="$CONFIG_FILE"
fi
if [ "x$prefix_path" = "x" ]; then
-c*) card_hand="$(get_param "-c" "$1" "$2")"; sh=$?;;
-n*) players_n="$(get_param "-n" "$1" "$2")"; sh=$?;;
-t*) tables_n="$(get_param "-t" "$1" "$2")"; sh=$?;;
+ -r*) tables_appr_n="$(get_param "-r" "$1" "$2")"; sh=$?;;
-T*) tables_auth_n="$(get_param "-T" "$1" "$2")"; sh=$?;;
+ -G*) tables_cert_n="$(get_param "-G" "$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=$?;;
-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=$?;;
+ -U*) usock_path_pfx="$(get_param "-U" "$1" "$2")"; sh=$?;;
-u*) sys_user="$(get_param "-u" "$1" "$2")"; sh=$?;;
- system) action=system;;
+ system) action=system ; sh=1;;
-W) web_only="TRUE";;
-x) test_add="TRUE";;
-h) usage $0; exit 0;;
exit 1
fi
. "$conffile"
+ conffile_in="$conffile"
fi
shift $sh
done
echo " card_hand: $card_hand"
echo " players_n: $players_n"
echo " tables_n: $tables_n"
+echo " tables_appr_n: $tables_appr_n"
echo " tables_auth_n: $tables_auth_n"
+echo " tables_cert_n: $tables_cert_n"
echo " brisk_auth_conf: \"$brisk_auth_conf\""
echo " brisk_debug:\"$brisk_debug\""
echo " web_path: \"$web_path\""
echo " proxy_path: \"$proxy_path\""
echo " prefix_path:\"$prefix_path\""
echo " brisk_conf: \"$brisk_conf\""
-echo " usock_path: \"$usock_path\""
+echo " usock_path_pfx: \"$usock_path_pfx\""
echo " sys_user: \"$sys_user\""
echo " web_only: \"$web_only\""
echo " test_add: \"$test_add\""
if [ ! -z "$outconf" ]; then
- (
+ (
echo "#"
echo "# Produced automatically by brisk::INSTALL.sh"
echo "#"
echo "card_hand=$card_hand"
echo "players_n=$players_n"
echo "tables_n=$tables_n"
+ echo "tables_appr_n=$tables_appr_n"
echo "tables_auth_n=$tables_auth_n"
+ echo "tables_cert_n=$tables_cert_n"
echo "brisk_auth_conf=\"$brisk_auth_conf\""
echo "brisk_debug=\"$brisk_debug\""
echo "web_path=\"$web_path\""
echo "legal_path=\"$legal_path\""
echo "prefix_path=\"$prefix_path\""
echo "brisk_conf=\"$brisk_conf\""
- echo "usock_path=\"$usock_path\""
+ echo "usock_path_pfx=\"$usock_path_pfx\""
echo "sys_user=\"$sys_user\""
echo "web_only=\"$web_only\""
echo "test_add=\"$test_add\""
#
ftokk_path="${ftok_path}k"
-if [ $card_hand -lt 3 -o $card_hand -gt 8 ]; then
- echo "card_hand ($card_hand) out of range (3 <= c <= 8)"
+if [ $card_hand -lt 2 -o $card_hand -gt 8 ]; then
+ echo "card_hand ($card_hand) out of range (2 <= c <= 8)"
exit 1
fi
exit 3
fi
rm $ftokk_path/spy.txt
-
+
# create the fs subtree to enable ftok-ing
touch ${ftokk_path}/main
chmod 666 ${ftokk_path}/main
done
chmod -R 777 ${proxy_path}/bin5
+ mkdir -p "${legal_path}"
+ chmod 777 "${legal_path}"
+fi
+
+bsk_busting="$(git rev-parse --short HEAD 2>/dev/null|| true)"
+if [ "$bsk_busting" = "" ]; then
+ bsk_busting=$(grep '^\$G_brisk_version' web/Obj/brisk.phh | sed 's/^[^"'"'"']*["'"'"']/v/g;s/["'"'"'].*//g')
fi
+if [ "$bsk_busting" = "" ]; then
+ echo "Retreiving bsk_busting failed"
+ exit 1
+fi
+
install -d ${web_path}__
-for i in $(find web -type d | sed 's/^....//g'); do
- install -d ${web_path}__/$i
+for i in $(find web -type d | grep '/' | sed 's/^....//g'); do
+ install -d ${web_path}__/$i
done
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' -o -name 'terms-of-service*' | sed 's/^....//g'); do
install -m 644 "web/$i" "${web_path}__/$i"
done
+
+# hardlink for nginx managed websocket files.
+ln "${web_path}__/xynt_test01.php" "${web_path}__/xynt_test01_wss.php"
+
if [ "$test_add" = "TRUE" ]; then
for i in $(find webtest -name '.htaccess' -o -name '*.php' -o -name '*.phh' -o -name '*.pho' -o -name '*.css' -o -name '*.js' -o -name '*.mp3' -o -name '*.swf' -o -name 'terms-of-service*' | sed 's/^........//g'); do
install -m 644 "webtest/$i" "${web_path}__/$i"
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 *( *'USOCK_PATH',[^)]*)@define('USOCK_PATH', \"$usock_path\")@g" ${web_path}__/spush/brisk-spush.phh
-
-sed -i "s@define *( *'TABLES_N',[^)]*)@define('TABLES_N', $tables_n)@g" ${web_path}__/Obj/brisk.phh
+sed -i "s@define *( *'SITE_PREFIX',[^)]*)@define('SITE_PREFIX', \"$prefix_path\")@g;
+s@define *( *'SITE_PREFIX_LEN',[^)]*)@define('SITE_PREFIX_LEN', $prefix_path_len)@g" ${web_path}__/Obj/sac-a-push.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 *( *'USOCK_PATH_PFX',[^)]*)@define('USOCK_PATH_PFX', \"$usock_path_pfx\")@g" ${web_path}__/spush/brisk-spush.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 *( *'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 *( *'TABLES_N',[^)]*)@define('TABLES_N', $tables_n)@g;
+s@define *( *'TABLES_APPR_N',[^)]*)@define('TABLES_APPR_N', $tables_appr_n)@g;
+s@define *( *'TABLES_AUTH_N',[^)]*)@define('TABLES_AUTH_N', $tables_auth_n)@g;
+s@define *( *'TABLES_CERT_N',[^)]*)@define('TABLES_CERT_N', $tables_cert_n)@g;
+s@define *( *'BRISK_DEBUG',[^)]*)@define('BRISK_DEBUG', $brisk_debug)@g;
+s@define *( *'LEGAL_PATH',[^)]*)@define('LEGAL_PATH', \"$legal_path\")@g;
+s@define *( *'PROXY_PATH',[^)]*)@define('PROXY_PATH', \"$proxy_path\")@g;
+s@define *( *'BSK_BUSTING',[^)]*)@define('BSK_BUSTING', \"$bsk_busting\")@g;
+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@\( \+cookiepath *: *\)\"[^\"]*\" *,@\1 \"$prefix_path\",@g" ${web_path}__/xynt-streaming.js
document_root="$(grep DocumentRoot "${apache_conf}" | grep -v '^[ ]*#' | 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
-fi
+sed -i "s@^\(\$DOCUMENT_ROOT *= *[\"']\)[^\"']*\([\"']\)@\1$document_root\2@g" ${web_path}__/spush/*.ph* ${web_path}__/donometer.php
if [ -d ../brisk-img ]; then
cd ../brisk-img
./INSTALL.sh -w ${web_path}__
cd - >/dev/null 2>&1
fi
+if [ -d ../curl-de-sac ]; then
+ cd ../curl-de-sac
+ if [ ! -z "$conffile_in" ]; then
+ ./INSTALL.sh -f "$conffile_in" -w ${web_path}__
+ else
+ ./INSTALL.sh -w ${web_path}__
+ fi
+ cd - >/dev/null 2>&1
+fi
# config file installation or diff
if [ -f "$etc_path/$brisk_conf" ]; then
cp "${web_path}__""/Obj/brisk.conf-templ.pho" "$etc_path/$brisk_conf"
fi
+if [ -d ${web_path} ]; then
+ mv ${web_path} ${web_path}.old
+fi
+
mv ${web_path}__ ${web_path}
if [ -d ${web_path}.old ]; then
rm -rf ${web_path}.old