question about file ordering in pkg_tar
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Área
- build-system
Línea de trabajo
Comienza en la línea enlazada de pkg/private/pkg_files.bzl y sigue cómo pkg_tar procesa srcs y deps en los ejemplos de BUILD.bazel. Compara el orden del archivo generado con el comportamiento de tar desde la línea de comandos y determina si está previsto conservar el orden de srcs. Done debe establecer y probar el comportamiento de ordenación compatible, o documentar claramente la limitación esperada.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I'm wondering about the file order in pkg_tar. When I create a normal tar file via the linux command line the order of files in the tar is like specified on the command line:
touch {a,b}.txt; tar -cvf test.tar {b,a}.txt; tar -tvf test.tar
# output
-rw-rw-r-- luke/luke 0 2024-03-07 08:29 b.txt
-rw-rw-r-- luke/luke 0 2024-03-07 08:29 a.txt
However if I do something similar with rules_pkg this doesn't apply:
# BUILD.bazel
load("@rules_pkg//:pkg.bzl", "pkg_tar")
pkg_tar(name = "a")
pkg_tar(name = "b")
pkg_tar(
name = "test",
srcs = [":b", ":a"],
)
# building and testing:
bazel build //:test; tar -tvf bazel-bin/test.tar
-r-xr-xr-x 0/0 10240 2000-01-01 01:00 a.tar
-r-xr-xr-x 0/0 10240 2000-01-01 01:00 b.tar
Is there any way to make this ordered the same as the srcs are specified?
One workaround I found is to pack a and b into an extra tar and then specify via deps:
pkg_tar(name = "a")
pkg_tar(name = "b")
pkg_tar(name = "a_tar", srcs = ["a"])
pkg_tar(name = "b_tar", srcs = ["b"])
pkg_tar(
name = "test2",
deps = [":b_tar", ":a_tar"],
)
# building and testing:
bazel build //:test2; tar -tvf bazel-bin/test2.tar
-r-xr-xr-x 0/0 10240 2000-01-01 01:00 b.tar
-r-xr-xr-x 0/0 10240 2000-01-01 01:00 a.tar
however this seems a bit cumbersome.
I assume the order gets lost here when we assign to the map https://github.com/bazelbuild/rules_pkg/blob/61132feb47add139967476401baa49cf4b7c6b2a/pkg/private/pkg_files.bzl#L493
?
is that the expected/desired behavior?
- Lenguaje dominante
- Starlark
- Estrellas
- 254
- Forks
- 225
- Merge medio
- 2 d 4 h
- PR fusionados (30 d)
- 3
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de bazelbuild/rules_pkg
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
bazelbuild/rules_pkg#1093 ·
Los mantenedores suelen responder en 1 día
-
Targets rely on implicit `__init__.py` creation, causing rules_python deprecation warningsPosiblemente ocupada @onnosteenbergen-samotics la tomó hace 32 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
bazelbuild/rules_pkg#1081 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
design feature-request
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
bazelbuild/rules_pkg#1080 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
bazelbuild/rules_pkg#1075 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
bazelbuild/rules_pkg#1066 · 1 reacción ·
Los mantenedores suelen responder en 1 día
Todos los issues de bazelbuild/rules_pkg
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
atlassian-labs/mermaid-diagrams-viewer#188 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
gbourgeat/ddd-ts-kit#654 ·
Los mantenedores suelen responder en 1 día
-
area:ci kind:bug priority:p3 ready
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
paraview 6.2.0 uses Abseil 20260526 symbols but does not pin libabseil (undefined symbol with libabseil 20260817)Posiblemente ocupada @jschueller la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
digitalfabrik/integreat-chat#519 ·