En mi caso, quiero crear una estructura de directorios y ejecutar mksquashfs para generar un archivo squashfs.
Para lograr esto, terminé modificando el ejemplo básico de los documentos de bazel sobre el empaque.
load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
genrule(
name = "file1",
outs = ["file1.txt"],
cmd = "echo exampleText > [email protected]",
)
pkg_tar(
name = "dir1",
strip_prefix = ".",
package_dir = "/usr/bin",
srcs = [":file1"],
mode = "0755",
)
pkg_tar(
name = "dir2",
strip_prefix = ".",
package_dir = "/usr/share",
srcs = ["//main:file2.txt", "//main:file3.txt"],
mode = "0644",
)
pkg_tar(
name = "pkg",
extension = "tar.gz",
deps = [
":dir1",
":dir2",
],
)
Si hay una manera más fácil de crear una estructura tar o de directorios sin necesidad de tars intermedios, daré la mejor respuesta.