bazel: use patched RPATH in bootstrapper and disk-mapper binaries

This commit is contained in:
Malte Poll 2023-11-23 17:47:58 +01:00
parent e0739a67f9
commit ee3ff9ac01
4 changed files with 27 additions and 9 deletions

View file

@ -1,6 +1,7 @@
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
load("@rules_pkg//:pkg.bzl", "pkg_tar")
load("//bazel/go:platform.bzl", "platform_binary")
load("//bazel/patchelf:patchelf.bzl", "patchelf")
go_library(
name = "cmd_lib",
@ -41,17 +42,25 @@ go_binary(
platform_binary(
name = "disk-mapper_linux_amd64",
platform = "@zig_sdk//libc_aware/platform:linux_amd64_gnu.2.23",
platform = "//bazel/platforms:constellation_os",
target_file = ":cmd",
visibility = ["//visibility:public"],
)
patchelf(
name = "disk-mapper_patched",
src = ":disk-mapper_linux_amd64",
out = "disk-mapper_with_nix_rpath",
interpreter = "@cryptsetup_x86_64-linux//:dynamic-linker",
rpath = "@cryptsetup_x86_64-linux//:rpath",
)
pkg_tar(
name = "disk-mapper-package",
srcs = [
":disk-mapper_linux_amd64",
":disk-mapper_patched",
],
mode = "0755",
remap_paths = {"/platform:linux_amd64_gnu.2.23": "/usr/sbin/disk-mapper"},
remap_paths = {"/disk-mapper_with_nix_rpath": "/usr/sbin/disk-mapper"},
visibility = ["//visibility:public"],
)