Etapa G: fetch extrae tarballs con tar --no-same-owner (fix de clase)

Como root (granja), tar preservaba el uid del tarball → el sandbox (userns) no podía chmod/escribir
esos ficheros → configure autotools fallaba (oniguruma: Permission denied creando Makefile). Extraer
como root sin preservar owner lo arregla para TODO tarball. oniguruma vuelve a configure plano.
This commit is contained in:
2026-06-29 15:54:46 -04:00
parent 533ed500c7
commit 3f9121798f
2 changed files with 7 additions and 3 deletions
+6
View File
@@ -125,6 +125,12 @@ fn fetch_tarball(
let strip = recipe.source.strip_components.to_string();
let status = Command::new("tar")
.arg("-x")
// `--no-same-owner`: extrae como el usuario actual (no preserva el uid del tarball). Si el
// fetch corre como root (granja), `tar` por defecto preservaría el owner original → ficheros
// de un uid que el sandbox (userns) no puede chmod/escribir → configure de autotools falla
// ("Permission denied" creando Makefile, "Operation not permitted" en chmod). Inocuo para el
// of_tree (es el árbol de FUENTES, no el output). Destraba libs C como oniguruma.
.arg("--no-same-owner")
.arg("-f")
.arg(&cached)
.arg("--strip-components")