fix: try to fix error on update on computer switch off

This commit is contained in:
2026-05-19 08:11:28 +02:00
parent 4ba70cefc6
commit 8d0d9835be
7 changed files with 161 additions and 20 deletions

View File

@ -88,3 +88,28 @@ def install_packages(names: list[str]) -> InstallResult:
failed=names,
error=result.stderr[-800:],
)
def upgrade_cached_packages(expected_names: list[str]) -> InstallResult:
"""Installe toutes les mises à jour présentes dans le cache pacman.
Utilisé à l'extinction pour éviter les échecs de dépendances liés aux
mises à jour partielles : pacman -Su installe l'ensemble cohérent des
paquets déjà téléchargés plutôt qu'une liste isolée.
"""
if not expected_names:
return InstallResult(success=True)
result = subprocess.run(
["pacman", "-Su", "--noconfirm", "--noprogressbar"],
capture_output=True, text=True, timeout=600
)
if result.returncode == 0:
return InstallResult(success=True, installed=expected_names)
else:
return InstallResult(
success=False,
failed=expected_names,
error=result.stderr[-800:],
)