From 1a93d38e0c3c269d0b9756437e57aed160f80d8d Mon Sep 17 00:00:00 2001 From: JensDiemer Date: Fri, 15 Apr 2022 16:33:18 +0200 Subject: [PATCH] Set manage.py shebang to the own venv interpreter so it's directly callable without activated venv! --- conf/manage.py | 2 +- scripts/install | 28 +++++++++++++--------------- scripts/upgrade | 29 +++++++++++++---------------- 3 files changed, 27 insertions(+), 32 deletions(-) diff --git a/conf/manage.py b/conf/manage.py index a85e3b1..9962cbd 100755 --- a/conf/manage.py +++ b/conf/manage.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3 +#!__FINAL_HOME_PATH__/venv/bin/python import os import sys diff --git a/scripts/install b/scripts/install index 82f90c8..d92008f 100755 --- a/scripts/install +++ b/scripts/install @@ -134,6 +134,8 @@ ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_f ynh_store_file_checksum --file="$gunicorn_conf" cp ../conf/manage.py "$final_path/manage.py" +ynh_replace_string --match_string="__FINAL_HOME_PATH__" --replace_string="$final_path" --target_file="$final_path/manage.py" +ynh_store_file_checksum --file="$final_path/manage.py" chmod +x "$final_path/manage.py" settings="$final_path/settings.py" @@ -169,25 +171,21 @@ touch "$final_path/local_settings.py" #================================================= ynh_script_progression --message="migrate/collectstatic/createadmin..." --weight=10 -( - set +o nounset - source "${final_path}/venv/bin/activate" - set -o nounset - cd "${final_path}" +cd "$final_path" || exit - # Just for debugging: - ./manage.py diffsettings +# Just for debugging: +./manage.py diffsettings - ./manage.py migrate --no-input - ./manage.py collectstatic --no-input +./manage.py migrate --no-input +./manage.py collectstatic --no-input - # Create/update Django superuser (set unusable password, because auth done via SSOwat): - ./manage.py create_superuser --username="$admin" --email="$admin_mail" +# Create/update Django superuser (set unusable password, because auth done via SSOwat): +./manage.py create_superuser --username="$admin" --email="$admin_mail" + +# Check the configuration +# This may fail in some cases with errors, etc., but the app works and the user can fix issues later. +./manage.py check --deploy || true - # Check the configuration - # This may fail in some cases with errors, etc., but the app works and the user can fix issues later. - ./manage.py check --deploy || true -) #================================================= # SETUP LOGROTATE diff --git a/scripts/upgrade b/scripts/upgrade index 5e48a57..3d78a06 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -118,8 +118,9 @@ ynh_replace_string --match_string="__LOG_FILE__" --replace_string="$log_file" -- ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$gunicorn_conf" ynh_store_file_checksum --file="$gunicorn_conf" -ynh_backup_if_checksum_is_different --file="$final_path/manage.py" cp ../conf/manage.py "$final_path/manage.py" +ynh_replace_string --match_string="__FINAL_HOME_PATH__" --replace_string="$final_path" --target_file="$final_path/manage.py" +ynh_store_file_checksum --file="$final_path/manage.py" chmod +x "$final_path/manage.py" # save old settings file @@ -161,25 +162,21 @@ touch "$final_path/local_settings.py" #================================================= ynh_script_progression --message="migrate/collectstatic/createadmin..." --weight=10 -( - set +o nounset - source "${final_path}/venv/bin/activate" - set -o nounset - cd "${final_path}" +cd "$final_path" || exit - # Just for debugging: - ./manage.py diffsettings +# Just for debugging: +./manage.py diffsettings - ./manage.py migrate --no-input - ./manage.py collectstatic --no-input +./manage.py migrate --no-input +./manage.py collectstatic --no-input - # Create/update Django superuser (set unusable password, because auth done via SSOwat): - ./manage.py create_superuser --username="$admin" --email="$admin_mail" +# Create/update Django superuser (set unusable password, because auth done via SSOwat): +./manage.py create_superuser --username="$admin" --email="$admin_mail" + +# Check the configuration +# This may fail in some cases with errors, etc., but the app works and the user can fix issues later. +./manage.py check --deploy || true - # Check the configuration - # This may fail in some cases with errors, etc., but the app works and the user can fix issues later. - ./manage.py check --deploy || true -) #================================================= # SETUP LOGROTATE