diff options
-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 ../ |