Erminig/erminig/controllers/govel/build.py

34 lines
850 B
Python
Raw Normal View History

2025-04-29 17:15:19 +02:00
import subprocess
from erminig.system.security import check_root, check_user_exists, run_as_user
check_root
check_user_exists("pak")
@run_as_user("pak")
def run_build_function(pakva_path):
"""
Exécute la fonction build() du fichier Pakva donné.
"""
try:
result = subprocess.run(
f"""
set -e
source "{pakva_path}"
build
""",
shell=True,
check=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
executable="/bin/bash",
text=True,
)
print(f"[BUILD] Succès : {pakva_path.name}")
print(result.stdout)
return True
except subprocess.CalledProcessError as e:
print(f"[BUILD] Échec : {pakva_path.name}")
print(e.stderr)
return False