| # Copyright 2018 Google LLC |
| # |
| # Licensed under the Apache License, Version 2.0 (the License); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an AS IS BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| load("@bazel_gazelle//:def.bzl", "gazelle") |
| load("@io_bazel_rules_docker//go:image.bzl", "go_image") |
| load("@io_bazel_rules_docker//container:container.bzl", "container_image") |
| load("@package_bundle_amd64//file:packages.bzl", packages_amd64 = "packages") |
| load("@package_bundle_arm64//file:packages.bzl", packages_arm64 = "packages") |
| load("@rules_pkg//:pkg.bzl", "pkg_deb", "pkg_tar") |
| |
| # gazelle:prefix cos.googlesource.com/cos/tools.git |
| gazelle(name = "gazelle") |
| |
| exports_files(glob(["src/data/**"])) |
| |
| genrule( |
| name = "workspace_dir", |
| outs = ["workspace"], |
| cmd = "mkdir $@", |
| ) |
| |
| genrule( |
| name = "tmp_dir", |
| outs = ["tmp"], |
| cmd = "mkdir $@", |
| ) |
| |
| container_image( |
| name = "veritysetup_amd64", |
| architecture = "amd64", |
| debs = [ |
| packages_amd64["coreutils"], |
| packages_amd64["tar"], |
| packages_amd64["libacl1"], |
| packages_amd64["libattr1"], |
| packages_amd64["libc6"], |
| packages_amd64["libselinux1"], |
| packages_amd64["libpcre3"], |
| packages_amd64["cryptsetup-bin"], |
| packages_amd64["libcryptsetup4"], |
| packages_amd64["libpopt0"], |
| packages_amd64["libuuid1"], |
| packages_amd64["libdevmapper1.02.1"], |
| packages_amd64["libgcrypt20"], |
| packages_amd64["libargon2-0"], |
| packages_amd64["libjson-c3"], |
| packages_amd64["libudev1"], |
| packages_amd64["libpthread-stubs0-dev"], |
| packages_amd64["libm17n-0"], |
| packages_amd64["libgpg-error0"], |
| ], |
| repository = "veritysetup", |
| visibility = ["//visibility:public"], |
| ) |
| |
| container_image( |
| name = "veritysetup_arm64", |
| architecture = "arm64", |
| debs = [ |
| packages_arm64["coreutils"], |
| packages_arm64["tar"], |
| packages_arm64["libacl1"], |
| packages_arm64["libattr1"], |
| packages_arm64["libc6"], |
| packages_arm64["libselinux1"], |
| packages_arm64["libpcre3"], |
| packages_arm64["cryptsetup-bin"], |
| packages_arm64["libcryptsetup4"], |
| packages_arm64["libpopt0"], |
| packages_arm64["libuuid1"], |
| packages_arm64["libdevmapper1.02.1"], |
| packages_arm64["libgcrypt20"], |
| packages_arm64["libargon2-0"], |
| packages_arm64["libjson-c3"], |
| packages_arm64["libudev1"], |
| packages_arm64["libpthread-stubs0-dev"], |
| packages_arm64["libm17n-0"], |
| packages_arm64["libgpg-error0"], |
| ], |
| repository = "veritysetup", |
| visibility = ["//visibility:public"], |
| ) |
| |
| pkg_tar( |
| name = "data_tar", |
| srcs = glob(["src/data/**"]), |
| strip_prefix = "src/", |
| ) |
| |
| container_image( |
| name = "cos_customizer_base", |
| base = "@daisy//image", |
| data_path = ".", |
| debs = [ |
| packages_amd64["coreutils"], |
| packages_amd64["tar"], |
| packages_amd64["libacl1"], |
| packages_amd64["libattr1"], |
| packages_amd64["libc6"], |
| packages_amd64["libselinux1"], |
| packages_amd64["libpcre3"], |
| packages_amd64["mtools"], |
| ], |
| files = [ |
| ":tmp_dir", |
| ":workspace_dir", |
| ], |
| tars = [ |
| ":data_tar", |
| ], |
| ) |
| |
| go_image( |
| name = "cos_customizer", |
| base = ":cos_customizer_base", |
| embed = ["//src/cmd/cos_customizer:cos_customizer_lib"], |
| goarch = "amd64", |
| goos = "linux", |
| pure = "on", |
| visibility = ["//visibility:public"], |
| ) |