mirror of
https://github.com/yweber/lodel2.git
synced 2025-11-01 03:59:02 +01:00
Previous bugfix on runtest & create instance brokes deployment, now both seems to work fine
100 lines
2 KiB
Bash
Executable file
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"
|