diff --git a/llama_stack/distribution/build.py b/llama_stack/distribution/build.py index 3bec25b94..e7dac7fa7 100644 --- a/llama_stack/distribution/build.py +++ b/llama_stack/distribution/build.py @@ -6,6 +6,7 @@ import importlib.resources import logging +import sys from enum import Enum from pathlib import Path @@ -20,7 +21,7 @@ from llama_stack.distribution.distribution import get_provider_registry from llama_stack.distribution.utils.config_dirs import BUILDS_BASE_DIR -from llama_stack.distribution.utils.exec import run_with_pty +from llama_stack.distribution.utils.exec import run_command, run_with_pty from llama_stack.providers.datatypes import Api log = logging.getLogger(__name__) @@ -147,7 +148,12 @@ def build_image( if special_deps: args.append("#".join(special_deps)) - return_code = run_with_pty(args) + is_terminal = sys.stdin.isatty() + if is_terminal: + return_code = run_with_pty(args) + else: + return_code = run_command(args) + if return_code != 0: log.error( f"Failed to build target {build_config.name} with return code {return_code}", diff --git a/llama_stack/distribution/utils/exec.py b/llama_stack/distribution/utils/exec.py index 15e4c604e..8698253e0 100644 --- a/llama_stack/distribution/utils/exec.py +++ b/llama_stack/distribution/utils/exec.py @@ -22,9 +22,7 @@ log = logging.getLogger(__name__) def run_with_pty(command): master, slave = pty.openpty() - # Check if stdin is actually a terminal old_settings = termios.tcgetattr(sys.stdin) - original_sigint = signal.getsignal(signal.SIGINT) ctrl_c_pressed = False