fix: try to fix error on update on computer switch off
This commit is contained in:
@ -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:],
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user