mirror of
https://github.com/YunoHost-Apps/homeassistant_ynh.git
synced 2024-09-03 19:26:16 +02:00
Update to python 3.10
This commit is contained in:
parent
ed607db9d7
commit
147e375112
1 changed files with 32 additions and 22 deletions
|
@ -13,7 +13,7 @@ pkg_dependencies="python3 python3-dev python3-venv python3-pip libffi-dev libssl
|
||||||
# Requirements (Major.Minor.Patch)
|
# Requirements (Major.Minor.Patch)
|
||||||
# PY_VERSION=$(curl -s "https://www.python.org/ftp/python/" | grep ">3.9" | tail -n1 | cut -d '/' -f 2 | cut -d '>' -f 2)
|
# PY_VERSION=$(curl -s "https://www.python.org/ftp/python/" | grep ">3.9" | tail -n1 | cut -d '/' -f 2 | cut -d '>' -f 2)
|
||||||
# Pyhton 3.9.2 will be shiped with bullseye
|
# Pyhton 3.9.2 will be shiped with bullseye
|
||||||
py_required_version=3.9.2
|
py_required_version=3.10.9
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# PERSONAL HELPERS
|
# PERSONAL HELPERS
|
||||||
|
@ -74,10 +74,13 @@ myynh_install_python () {
|
||||||
# Check python version from APT
|
# Check python version from APT
|
||||||
local py_apt_version=$(python3 --version | cut -d ' ' -f 2)
|
local py_apt_version=$(python3 --version | cut -d ' ' -f 2)
|
||||||
|
|
||||||
|
# Usefull variables
|
||||||
|
local python_major=${python%.*}
|
||||||
|
|
||||||
# Check existing built version of python in /usr/local/bin
|
# Check existing built version of python in /usr/local/bin
|
||||||
if [ -e "/usr/local/bin/python${python:0:3}" ]
|
if [ -e "/usr/local/bin/python$python_major" ]
|
||||||
then
|
then
|
||||||
local py_built_version=$(/usr/local/bin/python${python:0:3} --version \
|
local py_built_version=$(/usr/local/bin/python$python_major --version \
|
||||||
| cut -d ' ' -f 2)
|
| cut -d ' ' -f 2)
|
||||||
else
|
else
|
||||||
local py_built_version=0
|
local py_built_version=0
|
||||||
|
@ -98,12 +101,12 @@ myynh_install_python () {
|
||||||
# Built >= Required
|
# Built >= Required
|
||||||
ynh_print_info --message="Using already used python3 built version..."
|
ynh_print_info --message="Using already used python3 built version..."
|
||||||
|
|
||||||
py_app_version="/usr/local/bin/python${py_built_version:0:3}"
|
py_app_version="/usr/local/bin/python${py_built_version%.*}"
|
||||||
|
|
||||||
else
|
else
|
||||||
ynh_print_info --message="Installing additional dependencies to build python..."
|
ynh_print_info --message="Installing additional dependencies to build python..."
|
||||||
|
|
||||||
pkg_dependencies="${pkg_dependencies} tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libbz2-dev libexpat1-dev liblzma-dev wget tar"
|
pkg_dependencies="${pkg_dependencies} tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libbz2-dev libexpat1-dev liblzma-dev wget tar libnss3-dev libreadline-dev"
|
||||||
ynh_install_app_dependencies "${pkg_dependencies}"
|
ynh_install_app_dependencies "${pkg_dependencies}"
|
||||||
|
|
||||||
# APT < Minimal & Actual < Minimal => Build & install Python into /usr/local/bin
|
# APT < Minimal & Actual < Minimal => Build & install Python into /usr/local/bin
|
||||||
|
@ -136,7 +139,7 @@ myynh_install_python () {
|
||||||
ynh_secure_remove "$tmpdir"
|
ynh_secure_remove "$tmpdir"
|
||||||
|
|
||||||
# Set version
|
# Set version
|
||||||
py_app_version="/usr/local/bin/python${python:0:3}"
|
py_app_version="/usr/local/bin/python$python_major"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
# Save python version in settings
|
# Save python version in settings
|
||||||
|
@ -145,26 +148,33 @@ myynh_install_python () {
|
||||||
|
|
||||||
# Install/Upgrade Homeassistant in virtual environement
|
# Install/Upgrade Homeassistant in virtual environement
|
||||||
myynh_install_homeassistant () {
|
myynh_install_homeassistant () {
|
||||||
ynh_exec_as $app -H -s /bin/bash -c " \
|
# Create the virtual environment
|
||||||
echo 'create the virtual environment' \
|
ynh_exec_as $app $py_app_version -m venv --without-pip "$final_path"
|
||||||
&& $py_app_version -m venv "$final_path" \
|
|
||||||
&& echo 'activate the virtual environment' \
|
# Run source in a 'sub shell'
|
||||||
&& source "$final_path/bin/activate" \
|
(
|
||||||
&& echo 'install last version of wheel' \
|
# activate the virtual environment
|
||||||
&& pip --cache-dir "$data_path/.cache" install --upgrade wheel \
|
set +o nounset
|
||||||
&& echo 'install last version of mysqlclient' \
|
source "$final_path/bin/activate"
|
||||||
&& pip --cache-dir "$data_path/.cache" install --upgrade mysqlclient \
|
set -o nounset
|
||||||
&& echo 'install Home Assistant' \
|
|
||||||
&& pip --cache-dir "$data_path/.cache" install --upgrade $app==$app_version \
|
# add pip
|
||||||
"
|
ynh_exec_as $app "$final_path/bin/python3" -m ensurepip
|
||||||
|
|
||||||
|
# install last version of wheel
|
||||||
|
ynh_exec_as $app "$final_path/bin/pip3" --cache-dir "$data_path/.cache" install --upgrade wheel
|
||||||
|
|
||||||
|
# install last version of mysqlclient
|
||||||
|
ynh_exec_as $app "$final_path/bin/pip3" --cache-dir "$data_path/.cache" install --upgrade mysqlclient
|
||||||
|
|
||||||
|
# install Home Assistant
|
||||||
|
ynh_exec_as $app "$final_path/bin/pip3" --cache-dir "$data_path/.cache" install --upgrade $app==$app_version
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
# Upgrade the virtual environment directory
|
# Upgrade the virtual environment directory
|
||||||
myynh_upgrade_venv_directory () {
|
myynh_upgrade_venv_directory () {
|
||||||
ynh_exec_as $app -H -s /bin/bash -c " \
|
ynh_exec_as $app $py_app_version -m venv --upgrade "$final_path"
|
||||||
echo 'Upgrade the virtual environment directory' \
|
|
||||||
&& $py_app_version -m venv --upgrade "$final_path" \
|
|
||||||
"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Set permissions
|
# Set permissions
|
||||||
|
|
Loading…
Reference in a new issue