From aa9145a7627db65c2fd39ec7e069f336b7962660 Mon Sep 17 00:00:00 2001 From: Greg Kurz Date: Thu, 16 Apr 2026 14:30:55 +0200 Subject: [PATCH] generate_vendor: Add go vendored code Add go vendored code for all packages to the vendor tarball. This should be enough for people who need vendored code, e.g. for hermetic builds. The repo only tracks 4 go vendored code directories but the script considers all go.mod files accross the repo, for the sake of simplicity. The impact on the size of the tarball is less than 20 mb. It is now possible to stop tracking vendored code in git and to get rid of `make vendor`. Signed-off-by: Greg Kurz --- tools/packaging/release/generate_vendor.sh | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/tools/packaging/release/generate_vendor.sh b/tools/packaging/release/generate_vendor.sh index 702ff30592..b30e1f7f3c 100755 --- a/tools/packaging/release/generate_vendor.sh +++ b/tools/packaging/release/generate_vendor.sh @@ -21,8 +21,9 @@ function usage() { cat <> .cargo/config.toml - vendor_dir_list+=" ${dir}/vendor ${dir}/.cargo/config" + case "$(basename "${i}")" in + Cargo.lock) + [[ -d .cargo ]] || mkdir .cargo + cargo vendor >> .cargo/config.toml + vendor_dir_list+=" ${dir}/vendor ${dir}/.cargo/config" + ;; + go.mod) + go mod tidy + go mod vendor + go mod verify + vendor_dir_list+=" ${dir}/vendor" + ;; + esac echo "${vendor_dir_list}" popd done