diff options
author | Viacheslav Hletenko <v.gletenko@vyos.io> | 2025-01-14 11:15:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-14 11:15:10 +0200 |
commit | 4b9c86bd9aaafc987fa4a278c8c04c271c3e6e75 (patch) | |
tree | b8b4a4d40a007c8b82e919e1d9932a921c0aeec4 | |
parent | 0bd5cb4f5038f560d1b915ef5f62c14e0a9a10b3 (diff) | |
parent | 0f44fc7abe063a4f64628404547801a089455154 (diff) | |
download | vyos-build-4b9c86bd9aaafc987fa4a278c8c04c271c3e6e75.tar.gz vyos-build-4b9c86bd9aaafc987fa4a278c8c04c271c3e6e75.zip |
Merge pull request #886 from sever-sever/T7026-fix-patches
T7026: Use vpp patches during build as they not applied
-rwxr-xr-x | scripts/package-build/build.py | 14 | ||||
-rw-r--r-- | scripts/package-build/vpp/package.toml | 9 |
2 files changed, 20 insertions, 3 deletions
diff --git a/scripts/package-build/build.py b/scripts/package-build/build.py index 08bda30e..9c1df7b3 100755 --- a/scripts/package-build/build.py +++ b/scripts/package-build/build.py @@ -120,9 +120,17 @@ def build_package(package: list, patch_dir: Path) -> None: print(f"I: pre_build_hook failed for the {repo_name}") raise - # Apply patches if any - if (repo_dir / 'patches'): - apply_patches(repo_dir, patch_dir / repo_name) + # Apply patches if the 'apply_patches' key is set to True (default) in the package configuration + # This allows skipping patch application for specific packages when desired + # + # Usage: + # apply_patches = false + # + # Default to True if the key is missing + if package.get('apply_patches', True): + # Check if the 'patches' directory exists in the repository + if (repo_dir / 'patches'): + apply_patches(repo_dir, patch_dir / repo_name) # Sanitize the commit ID and build a tarball for the package commit_id_sanitized = package['commit_id'].replace('/', '_') diff --git a/scripts/package-build/vpp/package.toml b/scripts/package-build/vpp/package.toml index 644b36a9..35a22896 100644 --- a/scripts/package-build/vpp/package.toml +++ b/scripts/package-build/vpp/package.toml @@ -3,11 +3,14 @@ name = "vyos-vpp-patches" commit_id = "current" scm_url = "https://github.com/vyos/vyos-vpp-patches" build_cmd = "/bin/true" +apply_patches = false [[packages]] name = "vpp" commit_id = "stable/2406" scm_url = "https://github.com/FDio/vpp" +# Skip apply patches by build.py as we use them in build_cmd +apply_patches = false pre_build_hook = """ mkdir -p ../patches/vpp/ @@ -15,6 +18,12 @@ rsync -av ../vyos-vpp-patches/patches/vpp/ ../patches/vpp/ """ build_cmd = """ +# Patches for vpp should applied here +for patch in ../patches/vpp/*.patch; do + echo "I: build_cmd applying patch $patch..." + git -c user.email=maintainers@vyos.net -c user.name=vyos am "$patch" || { echo "Failed to apply patch $patch"; exit 1; } +done + make UNATTENDED=yes install-dep make pkg-deb cp build-root/*.deb ../ |