From 6acbac0fff8368a8316ade8293d7e4dbe95bfba2 Mon Sep 17 00:00:00 2001 From: Fabian Meumertzheim Date: Tue, 13 Jan 2026 06:38:54 -0800 Subject: [PATCH] Make overlaid files executable in `http_archive` This makes it possible to use registry overlays to add shell scripts. Context: https://bazelbuild.slack.com/archives/C014RARENH0/p1767975320777969 Closes #28202. PiperOrigin-RevId: 855699722 Change-Id: I65891a0cb6d7e99d70ab33c8b38f1c7da943fc09 --- src/test/tools/bzlmod/MODULE.bazel.lock | 8 ++++---- tools/build_defs/repo/utils.bzl | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/test/tools/bzlmod/MODULE.bazel.lock b/src/test/tools/bzlmod/MODULE.bazel.lock index d8471b0e73a1eb..045169fc3399fc 100644 --- a/src/test/tools/bzlmod/MODULE.bazel.lock +++ b/src/test/tools/bzlmod/MODULE.bazel.lock @@ -138,7 +138,7 @@ "moduleExtensions": { "@@pybind11_bazel+//:python_configure.bzl%extension": { "general": { - "bzlTransitiveDigest": "c9ZWWeXeu6bctL4/SsY2otFWyeFN0JJ20+ymGyJZtWk=", + "bzlTransitiveDigest": "D2/qWHU6yQFwRG7Bb+caqrYMha5avsASao2vERrxK24=", "usagesDigest": "fycyB39YnXIJkfWCIXLUKJMZzANcuLy9ZE73hRucjFk=", "recordedFileInputs": { "@@pybind11_bazel+//MODULE.bazel": "88af1c246226d87e65be78ed49ecd1e6f5e98648558c14ce99176da041dc378e" @@ -172,7 +172,7 @@ }, "@@rules_fuzzing+//fuzzing/private:extensions.bzl%non_module_dependencies": { "general": { - "bzlTransitiveDigest": "WHRlQQnxW7e7XMRBhq7SARkDarLDOAbg6iLaJpk5QYM=", + "bzlTransitiveDigest": "4LouzhF/yT117s7peGnNs9ROomiJXC6Zl5R0oI21jho=", "usagesDigest": "wy6ISK6UOcBEjj/mvJ/S3WeXoO67X+1llb9yPyFtPgc=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -255,7 +255,7 @@ }, "@@rules_kotlin+//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": { "general": { - "bzlTransitiveDigest": "rL/34P1aFDq2GqVC2zCFgQ8nTuOC6ziogocpvG50Qz8=", + "bzlTransitiveDigest": "nvW/NrBXlAmiQw99EMGKkLaD2KbNp2mQDlxdfpr+0Ls=", "usagesDigest": "QI2z8ZUR+mqtbwsf2fLqYdJAkPOHdOV+tF2yVAUgRzw=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -319,7 +319,7 @@ }, "@@rules_python+//python/private/pypi:pip.bzl%pip_internal": { "general": { - "bzlTransitiveDigest": "yvksLSpiBVNuu0p0IKOIzSZyelXhIAbUywPBzqnIJsw=", + "bzlTransitiveDigest": "uqu5jBgLGZcXPcpYhJ6vSaSM70lh6XfI7hXr2Wb5GVw=", "usagesDigest": "OLoIStnzNObNalKEMRq99FqenhPGLFZ5utVLV4sz7OI=", "recordedFileInputs": { "@@rules_python+//tools/publish/requirements_darwin.txt": "2994136eab7e57b083c3de76faf46f70fad130bc8e7360a7fed2b288b69e79dc", diff --git a/tools/build_defs/repo/utils.bzl b/tools/build_defs/repo/utils.bzl index 39c8aa8347fca1..15ad8bec920c39 100644 --- a/tools/build_defs/repo/utils.bzl +++ b/tools/build_defs/repo/utils.bzl @@ -107,6 +107,8 @@ def download_remote_files(ctx, auth = None): auth = get_auth(ctx, remote_file_urls) if auth == None else auth, integrity = ctx.attr.remote_file_integrity.get(path, ""), block = False, + # Overlaid files may be shell scripts. + executable = True, ) for path, remote_file_urls in ctx.attr.remote_file_urls.items() }