image: include files from git reproducibly (#3555)

This commit is contained in:
Markus Rudy 2024-12-19 14:58:47 +01:00 committed by GitHub
parent ba0b2521ab
commit 50ab77e37a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 35 additions and 14 deletions

View File

@ -1,16 +1,12 @@
load("@aspect_bazel_lib//lib:copy_file.bzl", "copy_file")
load("@rules_pkg//:pkg.bzl", "pkg_tar")
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
filegroup(
name = "sysroot_tree",
srcs = glob(["sysroot-tree/**"]),
)
load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files", "strip_prefix")
pkg_files(
name = "sysroot",
srcs = [":sysroot_tree"],
strip_prefix = strip_prefix.from_pkg() + "sysroot-tree",
srcs = glob(["sysroot-tree/**"]),
attributes = pkg_attributes(mode = "0555"),
strip_prefix = strip_prefix.from_pkg("sysroot-tree"),
visibility = ["//visibility:public"],
)

View File

@ -1,5 +1,6 @@
load("@aspect_bazel_lib//lib:copy_to_directory.bzl", "copy_to_directory")
load("@rules_pkg//:pkg.bzl", "pkg_tar")
load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files", "strip_prefix")
load("//bazel/mkosi:mkosi_image.bzl", "mkosi_image")
copy_to_directory(
@ -33,9 +34,7 @@ copy_to_directory(
"mkosi.finalize",
"mkosi.postinst",
"mkosi.prepare",
] + glob([
"mkosi.skeleton/**",
]),
],
outs = [
kernel_variant,
kernel_variant + ".tar",
@ -46,6 +45,7 @@ copy_to_directory(
kernel_variant + "-rpmdb.sqlite-wal",
],
extra_trees = [
":skeleton",
"//image:sysroot_tar",
"//image:cryptsetup_closure",
],
@ -86,3 +86,15 @@ pkg_tar(
tags = ["manual"],
visibility = ["//visibility:public"],
)
pkg_files(
name = "skeleton_files",
srcs = glob(["mkosi.skeleton/**"]),
attributes = pkg_attributes(mode = "0555"),
strip_prefix = strip_prefix.from_pkg("mkosi.skeleton"),
)
pkg_tar(
name = "skeleton",
srcs = [":skeleton_files"],
)

View File

@ -1,17 +1,18 @@
load("@rules_pkg//:pkg.bzl", "pkg_tar")
load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files", "strip_prefix")
load("//bazel/mkosi:mkosi_image.bzl", "mkosi_image")
mkosi_image(
name = "initrd",
srcs = [
"mkosi.postinst",
] + glob([
"mkosi.skeleton/**",
]),
],
outs = [
"image",
"image.cpio.zst",
],
extra_trees = [
":skeleton",
"//image:sysroot_tar",
"//image:cryptsetup_closure",
"//disk-mapper/cmd:disk-mapper-package.tar",
@ -24,3 +25,15 @@ mkosi_image(
],
visibility = ["//visibility:public"],
)
pkg_files(
name = "skeleton_files",
srcs = glob(["mkosi.skeleton/**"]),
attributes = pkg_attributes(mode = "0555"),
strip_prefix = strip_prefix.from_pkg("mkosi.skeleton"),
)
pkg_tar(
name = "skeleton",
srcs = [":skeleton_files"],
)