libreerp_ynh/scripts/_common.sh

102 lines
3.7 KiB
Bash
Raw Normal View History

#
# Common variables
#
export APPNAME="libreerp"
export FORKNAME="odoo"
2018-12-14 03:36:58 +01:00
DEPENDENCIES="curl postgresql xfonts-75dpi xfonts-base wkhtmltopdf node-less python3-dev gcc libldap2-dev libssl-dev libsasl2-dev python3-pip python3-dev python3-venv python3-wheel libxslt-dev libzip-dev python3-setuptools python-virtualenv python-wheel python-setuptools libjpeg-dev zlib1g-dev"
2017-05-18 23:28:18 +02:00
2018-12-16 19:41:40 +01:00
function debranding() {
2018-12-14 19:49:43 +01:00
# Remove Odoo references to avoid trademark issue
if [ -d $final_path/$APPNAME/$FORKNAME ]; then
python_app=$final_path/$APPNAME/$FORKNAME
else
python_app=$final_path/$APPNAME/openerp
fi
find $final_path/$APPNAME -type f \( -iname '*.xml' -o -iname '*.po' \) -exec sed -i 's/Powered by <a[^>]*>Odoo<\/a>//g' {} \;
find $final_path/$APPNAME -type f \( -iname '*.xml' -o -iname '*.po' \) -exec sed -i 's/<a[^>]*>Powered by <[^>]*>Odoo<\/[^>]*><\/a>//g' {} \;
find $final_path/$APPNAME -type f \( -iname '*.xml' -o -iname '*.po' \) -exec sed -i 's/Powered by <[^>]*>Odoo<\/[^>]*>//g' {} \;
find $final_path/$APPNAME -type f \( -iname '*.xml' -o -iname '*.po' \) -exec sed -i 's/Powered by <[^>]*><img[^>]*Odoo[^>]*><\/a>//g' {} \;
sed -i 's/<a[^>]*>My Odoo.com account<\/a>//g' $final_path/$APPNAME/addons/web/static/src/xml/base.xml
sed -i 's/<a[^>]*>Documentation<\/a>//g' $final_path/$APPNAME/addons/web/static/src/xml/base.xml
sed -i 's/<a[^>]*>Support<\/a>//g' $final_path/$APPNAME/addons/web/static/src/xml/base.xml
cp ../conf/logo_type.png $python_app/addons/base/static/img/logo_white.png
2018-12-16 19:41:40 +01:00
}
function setup_files() {
ynh_setup_source $final_path/$APPNAME $app_version
debranding
2018-12-14 19:49:43 +01:00
mkdir -p $final_path/custom-addons
chown -R $app:$app $final_path
touch /var/log/$app.log
chown $app:$app /var/log/$app.log
2018-12-16 19:41:40 +01:00
if [ ! -f $conf_file ]; then
ynh_configure server.conf $conf_file
chown $app:$app $conf_file
# Autoinstall the LDAP auth module
if ls $final_path/$APPNAME/$FORKNAME-bin > /dev/null ; then
ynh_replace_string "^{$" "{'auto_install': True," ${final_path}/$APPNAME/addons/auth_ldap/__manifest__.py
else
ynh_replace_string "'auto_install': False" "'auto_install': True" ${final_path}/$APPNAME/addons/auth_ldap/__openerp__.py
fi
fi
2018-12-14 19:49:43 +01:00
}
2017-05-18 23:28:18 +02:00
# Install dependencies
function install_dependencies() {
2018-09-27 00:31:17 +02:00
ynh_add_swap 1024
2018-12-14 03:36:58 +01:00
ynh_install_app_dependencies $DEPENDENCIES
2017-05-18 23:28:18 +02:00
if ! wkhtmltopdf --version | grep "wkhtmltopdf 0.12.4 (with patched qt)"; then
# The debian package has a bug so we deploy a more recent version
2018-12-16 19:41:40 +01:00
if [ -f '../manifest.json' ] ; then
ynh_setup_source /usr/
else
OLD_YNH_CWD=$YNH_CWD
YNH_CWD=$YNH_CWD/../settings/conf
ynh_setup_source /usr/
YNH_CWD=$OLD_YNH_CWD
fi
2017-05-18 23:28:18 +02:00
fi
2018-12-14 03:36:58 +01:00
pushd $final_path
if grep "python3" $final_path/$APPNAME/$FORKNAME-bin ; then
2018-12-14 03:36:58 +01:00
python3 -m venv venv
venv/bin/pip3 install wheel
venv/bin/pip3 install -r $APPNAME/requirements.txt
else
virtualenv venv
venv/bin/pip install wheel
venv/bin/pip install -r $APPNAME/requirements.txt
2017-05-18 23:28:18 +02:00
fi
2018-12-14 03:36:58 +01:00
popd
}
2018-12-14 03:36:58 +01:00
2017-05-18 23:28:18 +02:00
# Add services
function add_services() {
if ! grep "^postgresql:$" /etc/yunohost/services.yml; then
yunohost service add postgresql
fi
2018-12-14 03:36:58 +01:00
ynh_configure app.service /etc/systemd/system/$app.service
systemctl daemon-reload
2018-05-21 10:51:03 +02:00
2018-12-14 03:36:58 +01:00
yunohost service add $app --log /var/log/$app.log
yunohost service stop $app
yunohost service start $app
yunohost service enable $app
}
2017-05-18 23:28:18 +02:00
function ssowat_and_restart() {
# Restart odoo service
2018-12-14 03:36:58 +01:00
service $app restart
2017-05-18 23:28:18 +02:00
# Configure SSOWat
ynh_sso_access "/web/database/manager"
2017-05-18 23:28:18 +02:00
# Reload services
service nginx reload
}