12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #!/bin/bash
-
- usage() {
- echo -e "Usage : $0 instance_name (instance_dir|-u) [lodel_libdir]" 1>&2
- echo -e "\n\tIf -u given as first argument update instance's loader.py" 1>&2
- exit 1
- }
-
- cp_loader() {
- cp -Rv $libdir/install/loader.py $instdir/
- # Adding lib path to loader
- sed -i -E "s#^(LODEL2_LIB_ABS_PATH = )None#\1'$libdir'#" "$loader"
- }
-
-
- if [ $# -lt 2 ]
- then
- echo "Not enough arguments" 1>&2
- usage
- fi
-
-
-
- name="$1"
- instdir="$2"
-
- libdir="$3"
- libdir="${libdir:=$(realpath $(dirname $0)/..)}/"
-
- loader="$instdir/loader.py"
- conf="$instdir/conf.d/lodel2.ini"
-
- if [ $1 = '-u' ]
- then
- #Update instance
- cp_loader
- 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 $libdir/install/* $instdir
- cp -Rv $libdir/install/conf.d $instdir/
- cp -Rv $libdir/examples/em_test.pickle $instdir/editorial_model.pickle
- ln -sv $libdir/install/Makefile $instdir/Makefile
- ln -sv $libdir/install/lodel_admin.py $instdir/lodel_admin.py
- ln -sv $libdir/plugins $instdir/plugins
- cp_loader
- # Adding instance name to conf
- sed -i -E "s#^sitename = noname#sitename = $name#" "$conf"
-
-
- echo -e "\nInstance successfully created in $instdir"
- echo -e "============================\n"
- echo "Now you should edit files in '${instdir}/conf.d/' and then run : cd $instdir && make dyncode"
|