diff --git a/docs/state/build-state-cosmic.json b/docs/state/build-state-cosmic.json index 29af054f..44eeffc1 100644 --- a/docs/state/build-state-cosmic.json +++ b/docs/state/build-state-cosmic.json @@ -1,14 +1,14 @@ { "schema": "hammer-build-state/1", "totals": { - "recipes": 892, - "nodes": 894, - "sealed": 892, + "recipes": 893, + "nodes": 895, + "sealed": 893, "ajeno": 2 }, "by_class": { "ajeno": 2, - "c": 230, + "c": 231, "go": 362, "gui": 41, "kernel": 6, @@ -17,7 +17,7 @@ "debt_by_class": {}, "by_queue": { "corpus": { - "sealed": 864, + "sealed": 865, "ajeno": 2 }, "incoming-cosmic": { @@ -26,14 +26,14 @@ }, "by_profile": { "base": { - "raices": 26, - "clausura": 57, - "sealed": 57 + "raices": 27, + "clausura": 58, + "sealed": 58 }, "cli": { - "raices": 46, - "clausura": 80, - "sealed": 80 + "raices": 47, + "clausura": 81, + "sealed": 81 }, "escritorio-cosmic": { "raices": 42, @@ -874,6 +874,29 @@ "escritorio-cosmic", "escritorio-sway" ], + "dependientes_total": 1 + }, + "bash-completion": { + "iname": "bash-completion", + "version": "2.18.0", + "link": "dynamic", + "compiler": "zig-cc", + "deps": [ + "bash", + "pkgconf" + ], + "cls": "c", + "queue": "corpus", + "foreign": false, + "hash": "b3:86e9716873c35d1e8a4bc1b6317d3f37d5bc7b3d7c12132ae3a3ee7a24bcebaf", + "state": "sealed", + "blocked_by": [], + "unblocks": 0, + "perfiles": [ + "base", + "cli", + "escritorio-sway" + ], "dependientes_total": 0 }, "bat": { @@ -13204,7 +13227,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 393 + "dependientes_total": 394 }, "plow": { "iname": "plow", diff --git a/docs/state/build-state-gnome.json b/docs/state/build-state-gnome.json index fa7dcb77..f842cc2e 100644 --- a/docs/state/build-state-gnome.json +++ b/docs/state/build-state-gnome.json @@ -1,14 +1,14 @@ { "schema": "hammer-build-state/1", "totals": { - "recipes": 918, - "nodes": 920, - "sealed": 918, + "recipes": 919, + "nodes": 921, + "sealed": 919, "ajeno": 2 }, "by_class": { "ajeno": 2, - "c": 270, + "c": 271, "go": 362, "gui": 47, "kernel": 6, @@ -17,7 +17,7 @@ "debt_by_class": {}, "by_queue": { "corpus": { - "sealed": 855, + "sealed": 856, "ajeno": 2 }, "incoming-gnome": { @@ -26,14 +26,14 @@ }, "by_profile": { "base": { - "raices": 26, - "clausura": 56, - "sealed": 56 + "raices": 27, + "clausura": 57, + "sealed": 57 }, "cli": { - "raices": 46, - "clausura": 79, - "sealed": 79 + "raices": 47, + "clausura": 80, + "sealed": 80 }, "escritorio-gnome": { "raices": 23, @@ -966,6 +966,29 @@ "escritorio-cosmic", "escritorio-sway" ], + "dependientes_total": 1 + }, + "bash-completion": { + "iname": "bash-completion", + "version": "2.18.0", + "link": "dynamic", + "compiler": "zig-cc", + "deps": [ + "bash", + "pkgconf" + ], + "cls": "c", + "queue": "corpus", + "foreign": false, + "hash": "b3:86e9716873c35d1e8a4bc1b6317d3f37d5bc7b3d7c12132ae3a3ee7a24bcebaf", + "state": "sealed", + "blocked_by": [], + "unblocks": 0, + "perfiles": [ + "base", + "cli", + "escritorio-sway" + ], "dependientes_total": 0 }, "bat": { @@ -14033,7 +14056,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 393 + "dependientes_total": 394 }, "plow": { "iname": "plow", diff --git a/docs/state/build-state-kde.json b/docs/state/build-state-kde.json index fe42851a..c914f151 100644 --- a/docs/state/build-state-kde.json +++ b/docs/state/build-state-kde.json @@ -1,14 +1,14 @@ { "schema": "hammer-build-state/1", "totals": { - "recipes": 1043, - "nodes": 1044, - "sealed": 1043, + "recipes": 1044, + "nodes": 1045, + "sealed": 1044, "ajeno": 1 }, "by_class": { "ajeno": 1, - "c": 397, + "c": 398, "go": 362, "gui": 45, "kernel": 6, @@ -17,7 +17,7 @@ "debt_by_class": {}, "by_queue": { "corpus": { - "sealed": 850, + "sealed": 851, "ajeno": 1 }, "incoming-kde": { @@ -26,14 +26,14 @@ }, "by_profile": { "base": { - "raices": 26, - "clausura": 52, - "sealed": 52 + "raices": 27, + "clausura": 53, + "sealed": 53 }, "cli": { - "raices": 46, - "clausura": 75, - "sealed": 75 + "raices": 47, + "clausura": 76, + "sealed": 76 }, "escritorio-kde": { "raices": 47, @@ -992,6 +992,29 @@ "escritorio-cosmic", "escritorio-sway" ], + "dependientes_total": 1 + }, + "bash-completion": { + "iname": "bash-completion", + "version": "2.18.0", + "link": "dynamic", + "compiler": "zig-cc", + "deps": [ + "bash", + "pkgconf" + ], + "cls": "c", + "queue": "corpus", + "foreign": false, + "hash": "b3:86e9716873c35d1e8a4bc1b6317d3f37d5bc7b3d7c12132ae3a3ee7a24bcebaf", + "state": "sealed", + "blocked_by": [], + "unblocks": 0, + "perfiles": [ + "base", + "cli", + "escritorio-sway" + ], "dependientes_total": 0 }, "bat": { @@ -18038,7 +18061,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 393 + "dependientes_total": 394 }, "plasma-activities": { "iname": "plasma-activities", diff --git a/docs/state/build-state-wlr.json b/docs/state/build-state-wlr.json index 067591da..faf9c48e 100644 --- a/docs/state/build-state-wlr.json +++ b/docs/state/build-state-wlr.json @@ -1,14 +1,14 @@ { "schema": "hammer-build-state/1", "totals": { - "recipes": 877, - "nodes": 879, - "sealed": 877, + "recipes": 878, + "nodes": 880, + "sealed": 878, "ajeno": 2 }, "by_class": { "ajeno": 2, - "c": 235, + "c": 236, "go": 362, "gui": 41, "kernel": 6, @@ -17,7 +17,7 @@ "debt_by_class": {}, "by_queue": { "corpus": { - "sealed": 865, + "sealed": 866, "ajeno": 2 }, "incoming-wlr": { @@ -26,14 +26,14 @@ }, "by_profile": { "base": { - "raices": 26, - "clausura": 57, - "sealed": 57 + "raices": 27, + "clausura": 58, + "sealed": 58 }, "cli": { - "raices": 46, - "clausura": 80, - "sealed": 80 + "raices": 47, + "clausura": 81, + "sealed": 81 }, "escritorio-mirada": { "raices": 17, @@ -41,9 +41,9 @@ "sealed": 41 }, "escritorio-sway": { - "raices": 74, - "clausura": 203, - "sealed": 203 + "raices": 75, + "clausura": 204, + "sealed": 204 } }, "sin_perfil": 648, @@ -874,6 +874,29 @@ "escritorio-cosmic", "escritorio-sway" ], + "dependientes_total": 1 + }, + "bash-completion": { + "iname": "bash-completion", + "version": "2.18.0", + "link": "dynamic", + "compiler": "zig-cc", + "deps": [ + "bash", + "pkgconf" + ], + "cls": "c", + "queue": "corpus", + "foreign": false, + "hash": "b3:86e9716873c35d1e8a4bc1b6317d3f37d5bc7b3d7c12132ae3a3ee7a24bcebaf", + "state": "sealed", + "blocked_by": [], + "unblocks": 0, + "perfiles": [ + "base", + "cli", + "escritorio-sway" + ], "dependientes_total": 0 }, "bat": { @@ -12830,7 +12853,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 393 + "dependientes_total": 394 }, "plow": { "iname": "plow", diff --git a/docs/state/build-state.json b/docs/state/build-state.json index 750b1307..6f3f5042 100644 --- a/docs/state/build-state.json +++ b/docs/state/build-state.json @@ -1,14 +1,14 @@ { "schema": "hammer-build-state/1", "totals": { - "recipes": 866, - "nodes": 868, - "sealed": 866, + "recipes": 867, + "nodes": 869, + "sealed": 867, "ajeno": 2 }, "by_class": { "ajeno": 2, - "c": 224, + "c": 225, "go": 362, "gui": 41, "kernel": 6, @@ -17,20 +17,20 @@ "debt_by_class": {}, "by_queue": { "corpus": { - "sealed": 866, + "sealed": 867, "ajeno": 2 } }, "by_profile": { "base": { - "raices": 26, - "clausura": 57, - "sealed": 57 + "raices": 27, + "clausura": 58, + "sealed": 58 }, "cli": { - "raices": 46, - "clausura": 80, - "sealed": 80 + "raices": 47, + "clausura": 81, + "sealed": 81 }, "escritorio-mirada": { "raices": 17, @@ -866,6 +866,29 @@ "escritorio-cosmic", "escritorio-sway" ], + "dependientes_total": 1 + }, + "bash-completion": { + "iname": "bash-completion", + "version": "2.18.0", + "link": "dynamic", + "compiler": "zig-cc", + "deps": [ + "bash", + "pkgconf" + ], + "cls": "c", + "queue": "corpus", + "foreign": false, + "hash": "b3:86e9716873c35d1e8a4bc1b6317d3f37d5bc7b3d7c12132ae3a3ee7a24bcebaf", + "state": "sealed", + "blocked_by": [], + "unblocks": 0, + "perfiles": [ + "base", + "cli", + "escritorio-sway" + ], "dependientes_total": 0 }, "bat": { @@ -12713,7 +12736,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 393 + "dependientes_total": 394 }, "plow": { "iname": "plow", diff --git a/docs/state/frontera-triaje.toml b/docs/state/frontera-triaje.toml index 730f2b70..df701069 100644 --- a/docs/state/frontera-triaje.toml +++ b/docs/state/frontera-triaje.toml @@ -168,8 +168,9 @@ perfiles = ["escritorio-kde"] piden = ["dolphin"] [candidato."bash-completion"] -veredicto = "hueco" +veredicto = "provisto" sugerencia = "hueco?" +provee = "bash-completion" porque = "lo piden 5 recetas de la imagen — difícil que sea accesorio" perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritorio-sway"] piden = ["appstream", "colord", "gnome-shell", "modemmanager", "swayimg"] diff --git a/docs/state/repro-verificado.tsv b/docs/state/repro-verificado.tsv index 313adb1e..ef646c09 100644 --- a/docs/state/repro-verificado.tsv +++ b/docs/state/repro-verificado.tsv @@ -67,3 +67,4 @@ libxkbfile 529bace3f42db52bac31f369f2e336f674c9621c3f61032e9ed3dbd2e35a33ba 2026 libXfont2 297f66a9b864360a53e1495199c3f53c04c78db2616df8da6e37c5dbef87eb32 2026-09-08 reproduce xkbcomp ae4a27e7b8b6672ba0ffd2ddba8127f4b5f84b50358b0c3337d0bf0281873225 2026-09-08 reproduce xwayland d43f7ba02a1f9f4b2cf01e1d03610020779991fb13adbd804f5dd3007244bf3d 2026-09-08 reproduce +bash-completion 86e9716873c35d1e8a4bc1b6317d3f37d5bc7b3d7c12132ae3a3ee7a24bcebaf 2026-09-09 reproduce diff --git a/docs/state/targets.toml b/docs/state/targets.toml index 0ef51d57..700d730d 100644 --- a/docs/state/targets.toml +++ b/docs/state/targets.toml @@ -24,7 +24,11 @@ descripcion = "userland foundational C: la distro arranca y se usa (shell, VCS, # Lift verbatim de BASE_SYSTEM_PKGS (scripts/product-userland-from-repo.sh). De-Alpinizado y firmado, # tandas base-system-1..3. paquetes = [ - "bash", "git", "sudo", "doas", "util-linux", "shadow", "kbd", "procps-ng", + # `bash-completion` (2026-09-09): el tabulador de las herramientas del sistema. Entra como raíz + # porque NADIE lo alcanza por deps de build — los paquetes que instalan completados sólo preguntan + # por su `.pc` y, si no está, se saltan la instalación en silencio. Es un hueco de RUNTIME puro, + # de los que ninguna métrica de deuda puede ver. Salió del triaje de la frontera con 5 consumidores. + "bash", "bash-completion", "git", "sudo", "doas", "util-linux", "shadow", "kbd", "procps-ng", "iproute2", "iputils", "dhcpcd", "e2fsprogs", "dosfstools", "parted", "rsync", "sed", "tzdata", "vim", "dbus", "ca-certificates", "gnupg", "lsof", "strace", "pciutils", "usbutils", "mandoc", diff --git a/recipes/bash-completion.toml b/recipes/bash-completion.toml new file mode 100644 index 00000000..c312374a --- /dev/null +++ b/recipes/bash-completion.toml @@ -0,0 +1,35 @@ +# bash-completion 2.18.0 — el marco de completado programable de bash: el tabulador que completa +# subcomandos, opciones y argumentos de las herramientas del sistema. +# +# POR QUÉ AL CORPUS Y NO A UNA COLA. `bash` es RAÍZ del perfil `base`, o sea el shell de la distro +# entera, y las recetas que instalan completados viven repartidas en cuatro colas (appstream y colord +# en gnome, gnome-shell, modemmanager, swayimg en wlr). Lo que comparten varias imágenes vive en el +# corpus o no lo alcanzan — una receta resuelve sibling-first y después el catálogo PADRE, nunca una +# cola hermana. +# +# POR QUÉ ERA UN HUECO INVISIBLE. Ningún build lo necesita: los paquetes preguntan por +# `pkg-config --variable=completionsdir bash-completion` y, si no está, **no instalan sus completados +# y siguen adelante**. Nada falla, nadie se entera, y el usuario se queda sin tabulador. Salió en el +# triaje de la frontera (2026-09-09) con 5 consumidores; ver docs/state/frontera-triaje.toml. +name = "bash-completion" +version = "2.18.0" +license = "GPL-2.0-or-later" + +[source] +tarball = "https://github.com/scop/bash-completion/releases/download/2.18.0/bash-completion-2.18.0.tar.xz" +sha256 = "88bcf85124f77f74f2f2f8bcd16ac4382d807a827ede742a64940c7116aea33f" + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +link = "dynamic" + +[build.phases] +# Sin compilación real: instala scripts de shell y el `.pc` que los consumidores consultan para +# saber DÓNDE dejar sus completados. `--disable-static` no aplica; no hay librería. +configure = "./configure --prefix=/usr --sysconfdir=/etc" +compile = "true" +install = "make install DESTDIR=/out" + +[deps] +build = ["pkgconf", "bash"]