[enh] Split bullseye migration and venv migrations

This commit is contained in:
ljf 2022-08-07 15:26:54 +02:00
parent e94b7197f2
commit 5a3911c65f

View file

@ -5,7 +5,7 @@ from moulinette import m18n
from yunohost.utils.error import YunohostError
from moulinette.utils.log import getActionLogger
from moulinette.utils.process import check_output, call_async_output
from moulinette.utils.filesystem import read_file, rm, write_to_file, cp
from moulinette.utils.filesystem import read_file, rm, write_to_file
from yunohost.tools import (
Migration,
@ -30,7 +30,7 @@ N_CURRENT_YUNOHOST = 4
N_NEXT_DEBAN = 11
N_NEXT_YUNOHOST = 11
VENV_REQUIREMENTS_SUFFIX = "_req.txt"
VENV_REQUIREMENTS_SUFFIX = ".requirements_backup_for_bullseye_upgrade.txt"
VENV_IGNORE = "ynh_migration_no_regen"
@ -72,26 +72,6 @@ def _generate_requirements():
os.system(f"{venv}/bin/pip freeze > {venv}{VENV_REQUIREMENTS_SUFFIX}")
def _rebuild_venvs():
"""
After the update, recreate a python virtual env based on the previously generated requirements file
"""
venvs = _get_all_venvs("/opt/") + _get_all_venvs("/var/www/")
for venv in venvs:
if os.path.isfile(venv + VENV_REQUIREMENTS_SUFFIX):
# Recreate the venv
rm(venv, recursive=True)
os.system(f"python -m venv {venv}")
status = os.system(f"{venv}/bin/pip install -r {venv}{VENV_REQUIREMENTS_SUFFIX}")
if status != 0:
logger.warning(m18n.n("migration_0021_venv_regen_failed", venv=venv))
else:
rm(venv + VENV_REQUIREMENTS_SUFFIX)
else:
logger.warning(m18n.n("migration_0021_venv_regen_failed", venv=venv))
class MyMigration(Migration):
"Upgrade the system to Debian Bullseye and Yunohost 11.x"
@ -331,11 +311,6 @@ class MyMigration(Migration):
tools_upgrade(target="system", postupgradecmds=postupgradecmds)
#
# Recreate the venvs
#
_rebuild_venvs()
def debian_major_version(self):
# The python module "platform" and lsb_release are not reliable because