1
0
Fork 0
mirror of https://github.com/yweber/lodel2.git synced 2025-11-01 03:59:02 +01:00
lodel2_mirror/progs/create_instance.sh
Yann df8a088024 Bugfix on regression caused by previous bugfix
Previous bugfix on runtest & create instance brokes deployment, now both seems to work fine
2016-11-09 15:42:04 +01:00

100 lines
2 KiB
Bash
Executable file

#!/bin/bash
usage() {
echo -e "Usage : $0 instance_name (instance_dir|-u) [install_tpl] [em_file] [lidir]" >&2
echo -e "\n\tIf -u given as first argument update instance's loader.py" >&2
exit 1
}
loader_update() {
libdir=$1
install_tpl=$2
instdir=$3
lib_abs_path=$(dirname $libdir)
cp -Rv $install_tpl/loader.py $instdir/loader.py
# Adding lib path to loader
sed -i -E "s#^(LODEL2_LIB_ABS_PATH = )None#\1'$lib_abs_path'#" "$instdir/loader.py"
}
if [ $# -lt 2 ]
then
echo "Not enough arguments" >&2
usage
fi
name="$1"
instdir="$2"
libdir="$5"
libdir=${libdir:=[@]PKGPYTHONDIR[@]}
install_tpl="$3"
if [ $name == "monosite" ];then
name=""
fi
if [ -z "$install_tpl" ]
then
echo -e "Install template $install_tpl not found.\n" >&2
usage
fi
em_file="$4"
if [ -z "$em_file" ]
then
echo -e "Emfile $emfile not found.\n" >&2
usage
fi
libdir=$(realpath $libdir)
install_tpl=$(realpath $install_tpl)
em_file=$(realpath $em_file)
echo "LIBDIR : $libdir"
if test ! -d $install_tpl
then
echo "Install template directory '$install_tpl' not found"
echo ""
usage
fi
conf="$instdir/conf.d/lodel2.ini"
if [ $1 = '-u' ]
then
#Update instance
loader_update "$libdir" "$install_tpl" "$instdir"
exit 0
fi
if [ -e "$instdir" ]
then
echo "Abording... "$instdir" exists" 1>&2
exit 1
fi
echo "Creating lodel instance directory '$instdir'"
mkdir -pv "$instdir"
mkdir -pv "$instdir/sessions"
chmod 700 "$instdir/sessions"
#cp -Rv $install_tpl/* $instdir
cp -Rv $install_tpl/conf.d $instdir/
cp -Rv $em_file $instdir/editorial_model.pickle
ln -sv $install_tpl/Makefile $instdir/Makefile
ln -sv $install_tpl/lodel_admin.py $instdir/lodel_admin.py
ln -sv $libdir/plugins $instdir/plugins
loader_update "$libdir" "$install_tpl" "$instdir"
# Adding instance name to conf
sed -i -E "s#^sitename = noname#sitename = $name#" "$conf"
echo -e "\nSite successfully created in $instdir"
echo -e "============================\n"
echo "Now you should edit files in '${instdir}/conf.d/' and then run : cd $instdir && make dyncode"