summaryrefslogtreecommitdiff
path: root/scripts/package-build/linux-kernel
diff options
context:
space:
mode:
authorViacheslav Hletenko <v.gletenko@vyos.io>2025-06-09 09:41:34 +0000
committerViacheslav Hletenko <v.gletenko@vyos.io>2025-06-09 09:41:34 +0000
commit2ecdb4f464f41f43daec872c95c3fce9c8282c11 (patch)
treed8ccee14f8933e074c70435ec5b92840c2e865c7 /scripts/package-build/linux-kernel
parent8350580ac5e21d67716f8d40d65786306a7d7b0d (diff)
downloadvyos-build-2ecdb4f464f41f43daec872c95c3fce9c8282c11.tar.gz
vyos-build-2ecdb4f464f41f43daec872c95c3fce9c8282c11.zip
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.
Diffstat (limited to 'scripts/package-build/linux-kernel')
-rwxr-xr-xscripts/package-build/linux-kernel/build.py9
1 files changed, 7 insertions, 2 deletions
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):