#
# Erminig - Lancement de la construction du paquet
# Copyright (C) 2025 L0m1g
# Sous licence DOUARN - Voir le fichier LICENCE pour les détails
#
# Ce fichier fait partie du projet Erminig.
# Libre comme l’air, stable comme un menhir, et salé comme le beurre.
#

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
