gnome: enciende la CAPA GRAFO del yupana-gnome
build-state.py gana --gnome (análogo a --kde): carga recipes/incoming-gnome/ y sale a build-state-gnome.json. drenar/yupana/seed-graph aprenden ese grafo (keystones, drenar --perfil escritorio-gnome, radio de nodos incoming-gnome, frontera). Hoy la cola está vacía ⇒ el grafo trae 0 nodos gnome; se poblará al aterrizar recetas y ahí drenar/keystones reckonan solos. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -52,8 +52,13 @@ CHECK = "--check" in sys.argv
|
||||
# igual que hace el sandbox al resolver deps (sibling-first), así el grafo modela lo que un build KDE
|
||||
# ve. Sale a un JSON aparte para no mezclar los totales del corpus enviable con el frente en curso.
|
||||
KDE = "--kde" in sys.argv
|
||||
EXTRA_QUEUES = ["recipes/incoming-kde"] if KDE else []
|
||||
OUT = ROOT / ("docs/state/build-state-kde.json" if KDE else "docs/state/build-state.json")
|
||||
# `--gnome`: idéntico a `--kde` pero para la cola `recipes/incoming-gnome/` (frente GNOME Wayland).
|
||||
# Enciende la CAPA GRAFO del yupana-gnome: sin esto el perfil escritorio-gnome se saltaba (cola no
|
||||
# cargada) y `yupana keystones/drenar --perfil escritorio-gnome` no reckonaban. Sale a su JSON aparte.
|
||||
GNOME = "--gnome" in sys.argv
|
||||
EXTRA_QUEUES = (["recipes/incoming-kde"] if KDE else []) + (["recipes/incoming-gnome"] if GNOME else [])
|
||||
_var = "-kde" if KDE else "-gnome" if GNOME else ""
|
||||
OUT = ROOT / f"docs/state/build-state{_var}.json"
|
||||
|
||||
# Clase de la receta — sólo para colorear/agrupar la vista; heurística por contenido, no dato duro.
|
||||
GUI_RE = ("cairo", "pango", "gtk", "harfbuzz", "glib", "gdk-pixbuf", "libadwaita", "gtksourceview",
|
||||
|
||||
+2
-1
@@ -28,7 +28,8 @@ import json, sys
|
||||
from pathlib import Path
|
||||
|
||||
ROOT = Path(__file__).resolve().parent.parent
|
||||
GRAFOS = ["docs/state/build-state.json", "docs/state/build-state-kde.json"]
|
||||
GRAFOS = ["docs/state/build-state.json", "docs/state/build-state-kde.json",
|
||||
"docs/state/build-state-gnome.json"]
|
||||
SEMILLA = ROOT / "docs/state/seed-edges.json"
|
||||
EN_DEUDA = ("debt", "never", "unhashable", "wanted")
|
||||
|
||||
|
||||
@@ -342,7 +342,8 @@ def frontera(recs, perfil):
|
||||
except Exception:
|
||||
cola = "corpus"
|
||||
en_perfil, grafo_usado = [], None
|
||||
for f in ("docs/state/build-state.json", "docs/state/build-state-kde.json"):
|
||||
for f in ("docs/state/build-state.json", "docs/state/build-state-kde.json",
|
||||
"docs/state/build-state-gnome.json"):
|
||||
p = ROOT / f
|
||||
if not p.exists():
|
||||
continue
|
||||
|
||||
+5
-2
@@ -346,7 +346,8 @@ def keystones(como_json=False):
|
||||
perfiles = targets_mod.load()
|
||||
# estados desde el khipu más completo
|
||||
estados = {}
|
||||
for f in ("docs/state/build-state-kde.json", "docs/state/build-state.json"):
|
||||
for f in ("docs/state/build-state-kde.json", "docs/state/build-state-gnome.json",
|
||||
"docs/state/build-state.json"):
|
||||
p = ROOT / f
|
||||
if p.exists():
|
||||
for n, r in json.loads(p.read_text())["nodes"].items():
|
||||
@@ -618,7 +619,9 @@ def membresia(colas=None, perfiles=None):
|
||||
def _estado(nodo):
|
||||
"""Estado del nudo desde el grafo firme, si está regenerado. Best-effort: el radio funciona sin él."""
|
||||
q, nombre = nodo
|
||||
fichero = "docs/state/build-state-kde.json" if q != "corpus" else "docs/state/build-state.json"
|
||||
fichero = ("docs/state/build-state-gnome.json" if q == "incoming-gnome"
|
||||
else "docs/state/build-state-kde.json" if q != "corpus"
|
||||
else "docs/state/build-state.json")
|
||||
try:
|
||||
d = json.loads((ROOT / fichero).read_text())
|
||||
return d["nodes"].get(nombre, {}).get("state", "?")
|
||||
|
||||
Reference in New Issue
Block a user