mirror of
https://github.com/YunoHost-Apps/pgadmin_ynh.git
synced 2024-09-03 19:56:38 +02:00
continue cleanup
This commit is contained in:
parent
295864a24d
commit
71c55c4aab
6 changed files with 31 additions and 139 deletions
|
@ -1 +1 @@
|
||||||
DESKTOP_USER = '__USER__@__DOMAIN__'
|
DESKTOP_USER = '__APP__@__DOMAIN__'
|
||||||
|
|
|
@ -21,7 +21,7 @@ mount = __PATH__=pgAdmin4.py
|
||||||
# Virtualenv and python path
|
# Virtualenv and python path
|
||||||
virtualenv = __INSTALL_DIR__
|
virtualenv = __INSTALL_DIR__
|
||||||
pythonpath = __INSTALL_DIR__
|
pythonpath = __INSTALL_DIR__
|
||||||
chdir = __INSTALL_DIR__/lib/python__PYTHON_VERSION__/site-packages/pgadmin4
|
chdir = __INSTALL_DIR__/venv/lib/python__PYTHON_VERSION__/site-packages/pgadmin4
|
||||||
|
|
||||||
# The variable holding flask application
|
# The variable holding flask application
|
||||||
callable = app
|
callable = app
|
||||||
|
|
|
@ -1,78 +0,0 @@
|
||||||
# This file must be used with "source bin/activate" *from bash*
|
|
||||||
# you cannot run it directly
|
|
||||||
|
|
||||||
deactivate () {
|
|
||||||
unset -f pydoc >/dev/null 2>&1
|
|
||||||
|
|
||||||
# reset old environment variables
|
|
||||||
# ! [ -z ${VAR+_} ] returns true if VAR is declared at all
|
|
||||||
if ! [ -z "${_OLD_VIRTUAL_PATH+_}" ] ; then
|
|
||||||
PATH="$_OLD_VIRTUAL_PATH"
|
|
||||||
export PATH
|
|
||||||
unset _OLD_VIRTUAL_PATH
|
|
||||||
fi
|
|
||||||
if ! [ -z "${_OLD_VIRTUAL_PYTHONHOME+_}" ] ; then
|
|
||||||
PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME"
|
|
||||||
export PYTHONHOME
|
|
||||||
unset _OLD_VIRTUAL_PYTHONHOME
|
|
||||||
fi
|
|
||||||
|
|
||||||
# This should detect bash and zsh, which have a hash command that must
|
|
||||||
# be called to get it to forget past commands. Without forgetting
|
|
||||||
# past commands the $PATH changes we made may not be respected
|
|
||||||
if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then
|
|
||||||
hash -r 2>/dev/null
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! [ -z "${_OLD_VIRTUAL_PS1+_}" ] ; then
|
|
||||||
PS1="$_OLD_VIRTUAL_PS1"
|
|
||||||
export PS1
|
|
||||||
unset _OLD_VIRTUAL_PS1
|
|
||||||
fi
|
|
||||||
|
|
||||||
unset VIRTUAL_ENV
|
|
||||||
if [ ! "${1-}" = "nondestructive" ] ; then
|
|
||||||
# Self destruct!
|
|
||||||
unset -f deactivate
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# unset irrelevant variables
|
|
||||||
deactivate nondestructive
|
|
||||||
|
|
||||||
VIRTUAL_ENV="/opt/yunohost/pgadmin"
|
|
||||||
export VIRTUAL_ENV
|
|
||||||
|
|
||||||
_OLD_VIRTUAL_PATH="$PATH"
|
|
||||||
PATH="$VIRTUAL_ENV/bin:$PATH"
|
|
||||||
export PATH
|
|
||||||
|
|
||||||
# unset PYTHONHOME if set
|
|
||||||
if ! [ -z "${PYTHONHOME+_}" ] ; then
|
|
||||||
_OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME"
|
|
||||||
unset PYTHONHOME
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT-}" ] ; then
|
|
||||||
_OLD_VIRTUAL_PS1="$PS1"
|
|
||||||
if [ "x" != x ] ; then
|
|
||||||
PS1="$PS1"
|
|
||||||
else
|
|
||||||
PS1="(`basename \"$VIRTUAL_ENV\"`) $PS1"
|
|
||||||
fi
|
|
||||||
export PS1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Make sure to unalias pydoc if it's already there
|
|
||||||
alias pydoc 2>/dev/null >/dev/null && unalias pydoc
|
|
||||||
|
|
||||||
pydoc () {
|
|
||||||
python -m pydoc "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# This should detect bash and zsh, which have a hash command that must
|
|
||||||
# be called to get it to forget past commands. Without forgetting
|
|
||||||
# past commands the $PATH changes we made may not be respected
|
|
||||||
if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then
|
|
||||||
hash -r 2>/dev/null
|
|
||||||
fi
|
|
|
@ -6,9 +6,6 @@
|
||||||
|
|
||||||
python_version="$(python3 -V | cut -d' ' -f2 | cut -d. -f1-2)"
|
python_version="$(python3 -V | cut -d' ' -f2 | cut -d. -f1-2)"
|
||||||
|
|
||||||
# dependencies used by the app
|
|
||||||
#REMOVEME? pkg_dependencies="python3-pip build-essential python3-dev python3-venv postgresql uwsgi uwsgi-plugin-python3 expect libpq-dev libkrb5-dev"
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# DEFINE ALL COMMON FONCTIONS
|
# DEFINE ALL COMMON FONCTIONS
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -17,47 +14,6 @@ setup_dir() {
|
||||||
# Create empty dir for pgadmin
|
# Create empty dir for pgadmin
|
||||||
mkdir -p /var/lib/pgadmin
|
mkdir -p /var/lib/pgadmin
|
||||||
mkdir -p /var/log/pgadmin
|
mkdir -p /var/log/pgadmin
|
||||||
mkdir -p $install_dir
|
|
||||||
}
|
|
||||||
|
|
||||||
install_source() {
|
|
||||||
# # Clean venv is it was on python with an old version in case major upgrade of debian
|
|
||||||
# if [ ! -e $install_dir/lib/python$python_version ]; then
|
|
||||||
# #REMOVEME? ynh_secure_remove --file=$install_dir/bin
|
|
||||||
# #REMOVEME? ynh_secure_remove --file=$install_dir/lib
|
|
||||||
# #REMOVEME? ynh_secure_remove --file=$install_dir/lib64
|
|
||||||
# #REMOVEME? ynh_secure_remove --file=$install_dir/include
|
|
||||||
# #REMOVEME? ynh_secure_remove --file=$install_dir/share
|
|
||||||
# #REMOVEME? ynh_secure_remove --file=$install_dir/pyvenv.cfg
|
|
||||||
# fi
|
|
||||||
|
|
||||||
mkdir -p $install_dir
|
|
||||||
chown $app:root -R $install_dir
|
|
||||||
|
|
||||||
if [ -n "$(uname -m | grep arm)" ]
|
|
||||||
then
|
|
||||||
# Clean old file, sometime it could make some big issues if we don't do this !!
|
|
||||||
#REMOVEME? ynh_secure_remove --file=$install_dir/bin
|
|
||||||
#REMOVEME? ynh_secure_remove --file=$install_dir/lib
|
|
||||||
#REMOVEME? ynh_secure_remove --file=$install_dir/include
|
|
||||||
#REMOVEME? ynh_secure_remove --file=$install_dir/share
|
|
||||||
ynh_setup_source --dest_dir $install_dir/ --source_id "armv7_$(lsb_release --codename --short)"
|
|
||||||
else
|
|
||||||
# Install virtualenv if it don't exist
|
|
||||||
test -e $install_dir/bin/python3 || python3 -m venv $install_dir
|
|
||||||
|
|
||||||
# Install pgadmin in virtualenv
|
|
||||||
u_arg='u'
|
|
||||||
set +$u_arg;
|
|
||||||
source $install_dir/bin/activate
|
|
||||||
set -$u_arg;
|
|
||||||
pip3 install --upgrade pip wheel
|
|
||||||
pip3 install -I --upgrade "psycopg[c]"
|
|
||||||
pip3 install --upgrade -r $YNH_APP_BASEDIR/conf/requirement_$(lsb_release --codename --short).txt
|
|
||||||
set +$u_arg;
|
|
||||||
deactivate
|
|
||||||
set -$u_arg;
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
set_permission() {
|
set_permission() {
|
||||||
|
@ -71,8 +27,16 @@ set_permission() {
|
||||||
chmod u=rwX,g=rX,o= -R /var/lib/pgadmin
|
chmod u=rwX,g=rX,o= -R /var/lib/pgadmin
|
||||||
}
|
}
|
||||||
|
|
||||||
config_pgadmin() {
|
_install_pgadmin_venv() {
|
||||||
cp ../conf/config_local.py $install_dir/lib/python$python_version/site-packages/pgadmin4/config_local.py
|
ynh_exec_as "$app" python3 -m venv --upgrade "$install_dir/venv"
|
||||||
ynh_replace_string --match_string __USER__ --replace_string $app --target_file $install_dir/lib/python$python_version/site-packages/pgadmin4/config_local.py
|
venvpy="$install_dir/venv/bin/python3"
|
||||||
ynh_replace_string --match_string __DOMAIN__ --replace_string $domain --target_file $install_dir/lib/python$python_version/site-packages/pgadmin4/config_local.py
|
|
||||||
|
ynh_exec_as "$app" "$venvpy" -m pip install --upgrade --no-cache-dir pip wheel
|
||||||
|
ynh_exec_as "$app" "$venvpy" -m pip install --upgrade --no-cache-dir --ignore-installed "psycopg[c]"
|
||||||
|
|
||||||
|
ynh_exec_as "$app" "$venvpy" -m pip install --upgrade -r "$YNH_APP_BASEDIR/conf/requirement_$(lsb_release --codename --short).txt"
|
||||||
|
}
|
||||||
|
|
||||||
|
config_pgadmin() {
|
||||||
|
ynh_add_config --template="config_local.py" --destination="$install_dir/venv/lib/python$python_version/site-packages/pgadmin4/config_local.py"
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,10 @@ source experimental_helper.sh
|
||||||
source _common.sh
|
source _common.sh
|
||||||
source /usr/share/yunohost/helpers
|
source /usr/share/yunohost/helpers
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# INITIALIZE AND STORE SETTINGS
|
||||||
|
#=================================================
|
||||||
|
|
||||||
email=$(ynh_user_get_info --username $admin --key 'mail')
|
email=$(ynh_user_get_info --username $admin --key 'mail')
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -19,8 +23,10 @@ ynh_script_progression --message="Setting up source files..."
|
||||||
|
|
||||||
# Download, check integrity, uncompress and patch the source from app.src
|
# Download, check integrity, uncompress and patch the source from app.src
|
||||||
ynh_script_progression --message="Installing sources files..." --weight=10
|
ynh_script_progression --message="Installing sources files..." --weight=10
|
||||||
|
|
||||||
setup_dir
|
setup_dir
|
||||||
install_source
|
|
||||||
|
_install_pgadmin_venv
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# SPECIFIC SETUP
|
# SPECIFIC SETUP
|
||||||
|
@ -41,10 +47,10 @@ ynh_script_progression --message="Configuring sqlite database..."
|
||||||
# initialisation sqlite database for pgadmin
|
# initialisation sqlite database for pgadmin
|
||||||
chmod +x ../conf/setup.exp
|
chmod +x ../conf/setup.exp
|
||||||
set +u;
|
set +u;
|
||||||
source $install_dir/bin/activate
|
source $install_dir/venv/bin/activate
|
||||||
set -u;
|
set -u;
|
||||||
ynh_replace_special_string --match_string "__ADMIN_PASSWORD__" --replace_string "$password" --target_file "../conf/setup.exp"
|
ynh_replace_special_string --match_string "__ADMIN_PASSWORD__" --replace_string "$password" --target_file "../conf/setup.exp"
|
||||||
../conf/setup.exp "$install_dir/bin/python3" "$install_dir/lib/python$python_version/site-packages/pgadmin4/setup.py" "$email"
|
../conf/setup.exp "$install_dir/venv/bin/python3" "$install_dir/venv/lib/python$python_version/site-packages/pgadmin4/setup.py" "$email"
|
||||||
|
|
||||||
# POPULATE THE DATABASE
|
# POPULATE THE DATABASE
|
||||||
ynh_script_progression --message="Configuring Postgresql database..."
|
ynh_script_progression --message="Configuring Postgresql database..."
|
||||||
|
@ -53,7 +59,7 @@ ynh_psql_execute_as_root \
|
||||||
--sql "CREATE USER ${db_user} WITH PASSWORD '${db_pwd}' SUPERUSER CREATEDB CREATEROLE REPLICATION"
|
--sql "CREATE USER ${db_user} WITH PASSWORD '${db_pwd}' SUPERUSER CREATEDB CREATEROLE REPLICATION"
|
||||||
|
|
||||||
# Add Server In PGadmin database
|
# Add Server In PGadmin database
|
||||||
$install_dir/bin/python3 config_database.py "$db_user" "$db_pwd"
|
$install_dir/venv/bin/python3 config_database.py "$db_user" "$db_pwd"
|
||||||
set +u;
|
set +u;
|
||||||
deactivate
|
deactivate
|
||||||
set -u;
|
set -u;
|
||||||
|
|
Loading…
Add table
Reference in a new issue