From 2ecdb4f464f41f43daec872c95c3fce9c8282c11 Mon Sep 17 00:00:00 2001 From: Viacheslav Hletenko Date: Mon, 9 Jun 2025 09:41:34 +0000 Subject: T7530: Build package binaries script should exit if repo is absent The build package binaries script should exit if the repo is absent or cannot be cloned If a build package `repo-a` depends on the `repo-b` and the `repo-b` cannot be cloned, then we shoud exit from the script to avoid partly build dependencies For example: ``` [[packages]] name = "fake-repo" commit_id = "v0.0.1" scm_url = "https://github.com/vyos/fake-repo" [[packages]] name = "ethtool" commit_id = "debian/1%6.10-1" scm_url = "https://salsa.debian.org/kernel-team/ethtool" ``` If ethtool depends on some fake-package and this package cannot be downloaded from the repo, then we shouldn't build the ethtool package at all. --- scripts/package-build/linux-kernel/build.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'scripts/package-build/linux-kernel/build.py') diff --git a/scripts/package-build/linux-kernel/build.py b/scripts/package-build/linux-kernel/build.py index 6fa6af35..46a60fd7 100755 --- a/scripts/package-build/linux-kernel/build.py +++ b/scripts/package-build/linux-kernel/build.py @@ -18,6 +18,7 @@ import datetime import glob import shutil +import sys import toml import os import subprocess @@ -60,8 +61,12 @@ def clone_or_update_repo(repo_dir: Path, scm_url: str, commit_id: str) -> None: run(['git', 'checkout', commit_id], cwd=repo_dir, check=True) #run(['git', 'pull'], cwd=repo_dir, check=True) else: - run(['git', 'clone', scm_url, str(repo_dir)], check=True) - run(['git', 'checkout', commit_id], cwd=repo_dir, check=True) + try: + run(['git', 'clone', scm_url, str(repo_dir)], check=True) + run(['git', 'checkout', commit_id], cwd=repo_dir, check=True) + except CalledProcessError as e: + print(f"❌ Failed to clone or checkout: {e}") + sys.exit(1) def create_tarball(package_name, source_dir=None): -- cgit v1.2.3