gnome onda 3: polkit SELLADO (b3:27d93b4c) — sólo librerías, el demonio ya lo pone arje
Primera de la cima. Da polkit-agent-1.pc (lo que gnome-shell enlaza en C) y los typelibs Polkit-1.0 + PolkitAgent-1.0 (lo que su JS importa: gi://Polkit aparece en polkitAgent.js, endSessionDialog.js, status/thunderbolt.js y environment.js — verificado, no supuesto). -Dlibs-only=true y acá la opción SÍ recorta, al revés que en colord: el bloque `if not libs_only` (:145-159) es justo el que pide expat, duktape y threads. Y no es un recorte a desgana — la Semilla de arje ya trae compat-polkit implementando el servicio D-Bus; construir polkitd sería competirle, no completarlo. -Dsession_tracking=ConsoleKit no es preferencia por ConsoleKit: es la ÚNICA de las tres que no exige una C-ABI de logind (logind→libsystemd, elogind→libelogind), y son LAS MISMAS funciones sd-login que traban a mutter (sd_uid_get_display, sd_pidfd_get_session). Con libs-only ese camino queda inerte. Cuando exista el shim, vuelve a `logind`. -Dauthfw=shadow (no hay linux-pam). Isla dinámica, como manda la regla del registro único de GType. Las 3 deps de tooling que faltaban salieron de precedentes ya escritos del frente: gettext-tiny (msgfmt), py3-setuptools (distutils de g-ir-scanner) y glib-introspected (Gio-2.0.gir para el scanner). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"schema": "hammer-build-state/1",
|
||||
"totals": {
|
||||
"recipes": 807,
|
||||
"nodes": 807,
|
||||
"sealed": 797,
|
||||
"recipes": 808,
|
||||
"nodes": 808,
|
||||
"sealed": 798,
|
||||
"never": 8,
|
||||
"debt": 2
|
||||
},
|
||||
"by_class": {
|
||||
"c": 173,
|
||||
"c": 174,
|
||||
"go": 362,
|
||||
"gui": 40,
|
||||
"kernel": 6,
|
||||
@@ -26,7 +26,7 @@
|
||||
"debt": 2
|
||||
},
|
||||
"incoming-gnome": {
|
||||
"sealed": 39,
|
||||
"sealed": 40,
|
||||
"never": 6
|
||||
}
|
||||
},
|
||||
@@ -54,7 +54,7 @@
|
||||
"debt": 2
|
||||
}
|
||||
},
|
||||
"sin_perfil": 648,
|
||||
"sin_perfil": 649,
|
||||
"orphan_deps": [],
|
||||
"topo_ok": true,
|
||||
"nodes": {
|
||||
@@ -2754,7 +2754,7 @@
|
||||
"base",
|
||||
"cli"
|
||||
],
|
||||
"dependientes_total": 0
|
||||
"dependientes_total": 1
|
||||
},
|
||||
"ddh": {
|
||||
"iname": "ddh",
|
||||
@@ -4230,7 +4230,7 @@
|
||||
"escritorio-gnome",
|
||||
"escritorio-kde"
|
||||
],
|
||||
"dependientes_total": 80
|
||||
"dependientes_total": 81
|
||||
},
|
||||
"gh": {
|
||||
"iname": "gh",
|
||||
@@ -4717,7 +4717,7 @@
|
||||
"perfiles": [
|
||||
"escritorio-gnome"
|
||||
],
|
||||
"dependientes_total": 23
|
||||
"dependientes_total": 24
|
||||
},
|
||||
"glib-introspected": {
|
||||
"iname": "glib-introspected",
|
||||
@@ -4745,7 +4745,7 @@
|
||||
"perfiles": [
|
||||
"escritorio-gnome"
|
||||
],
|
||||
"dependientes_total": 6
|
||||
"dependientes_total": 7
|
||||
},
|
||||
"glow": {
|
||||
"iname": "glow",
|
||||
@@ -5155,7 +5155,7 @@
|
||||
"perfiles": [
|
||||
"escritorio-gnome"
|
||||
],
|
||||
"dependientes_total": 11
|
||||
"dependientes_total": 12
|
||||
},
|
||||
"gobuster": {
|
||||
"iname": "gobuster",
|
||||
@@ -8241,7 +8241,7 @@
|
||||
"escritorio-kde",
|
||||
"escritorio-mirada"
|
||||
],
|
||||
"dependientes_total": 72
|
||||
"dependientes_total": 73
|
||||
},
|
||||
"libgcrypt": {
|
||||
"iname": "libgcrypt",
|
||||
@@ -9435,7 +9435,7 @@
|
||||
"escritorio-kde",
|
||||
"escritorio-mirada"
|
||||
],
|
||||
"dependientes_total": 85
|
||||
"dependientes_total": 86
|
||||
},
|
||||
"micro": {
|
||||
"iname": "micro",
|
||||
@@ -10732,7 +10732,7 @@
|
||||
"escritorio-gnome",
|
||||
"escritorio-kde"
|
||||
],
|
||||
"dependientes_total": 58
|
||||
"dependientes_total": 59
|
||||
},
|
||||
"peco": {
|
||||
"iname": "peco",
|
||||
@@ -10915,7 +10915,7 @@
|
||||
"escritorio-kde",
|
||||
"escritorio-mirada"
|
||||
],
|
||||
"dependientes_total": 300
|
||||
"dependientes_total": 301
|
||||
},
|
||||
"plow": {
|
||||
"iname": "plow",
|
||||
@@ -10983,6 +10983,35 @@
|
||||
"perfiles": [],
|
||||
"dependientes_total": 0
|
||||
},
|
||||
"polkit": {
|
||||
"iname": "polkit",
|
||||
"version": "127",
|
||||
"link": "dynamic",
|
||||
"compiler": "zig-cc",
|
||||
"deps": [
|
||||
"meson",
|
||||
"samurai",
|
||||
"python3",
|
||||
"pkgconf",
|
||||
"gettext-tiny",
|
||||
"py3-setuptools",
|
||||
"gobject-introspection",
|
||||
"glib",
|
||||
"glib-introspected",
|
||||
"dbus",
|
||||
"libffi",
|
||||
"pcre2",
|
||||
"zlib"
|
||||
],
|
||||
"cls": "c",
|
||||
"queue": "incoming-gnome",
|
||||
"hash": "b3:27d93b4c927b99c8afa6b06691ef01f879bb88cd64c95affeaeeb091f65e2050",
|
||||
"state": "sealed",
|
||||
"blocked_by": [],
|
||||
"unblocks": 0,
|
||||
"perfiles": [],
|
||||
"dependientes_total": 0
|
||||
},
|
||||
"pop": {
|
||||
"iname": "pop",
|
||||
"version": "0.2.1",
|
||||
@@ -11238,7 +11267,7 @@
|
||||
"perfiles": [
|
||||
"escritorio-gnome"
|
||||
],
|
||||
"dependientes_total": 8
|
||||
"dependientes_total": 9
|
||||
},
|
||||
"python3": {
|
||||
"iname": "python3",
|
||||
@@ -11262,7 +11291,7 @@
|
||||
"escritorio-kde",
|
||||
"escritorio-mirada"
|
||||
],
|
||||
"dependientes_total": 243
|
||||
"dependientes_total": 244
|
||||
},
|
||||
"qrcp": {
|
||||
"iname": "qrcp",
|
||||
@@ -11808,7 +11837,7 @@
|
||||
"escritorio-kde",
|
||||
"escritorio-mirada"
|
||||
],
|
||||
"dependientes_total": 217
|
||||
"dependientes_total": 218
|
||||
},
|
||||
"sassc": {
|
||||
"iname": "sassc",
|
||||
@@ -14565,7 +14594,7 @@
|
||||
"escritorio-kde",
|
||||
"escritorio-mirada"
|
||||
],
|
||||
"dependientes_total": 96
|
||||
"dependientes_total": 97
|
||||
},
|
||||
"zlib-ng": {
|
||||
"iname": "zlib-ng",
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
# polkit 127 — elevación de privilegios. gnome-shell lo exige por `polkit-agent-1` (meson.build:86)
|
||||
# y además lo usa DESDE JS: `gi://Polkit` aparece en js/ui/components/polkitAgent.js,
|
||||
# endSessionDialog.js, status/thunderbolt.js y environment.js.
|
||||
#
|
||||
# SÓLO LAS LIBRERÍAS (-Dlibs-only=true -Dsession_tracking=ConsoleKit -Dauthfw=shadow), y acá la opción sí recorta de verdad (a diferencia de lo que
|
||||
# pasó con colord): el bloque `if not libs_only` de meson.build:145-159 es exactamente el que pide
|
||||
# expat, duktape (el motor JS de las reglas) y threads. Sin polkitd no hace falta ninguno.
|
||||
#
|
||||
# Y NO ES UN RECORTE A DESGANO: el demonio ya lo pone arje. La Semilla `session-gnome` tiene un
|
||||
# `compat-polkit` (/usr/lib/arje/arje-polkit-compat) que implementa el servicio D-Bus; lo que falta
|
||||
# del lado del corpus es la librería que las aplicaciones enlazan y el typelib que el shell importa.
|
||||
# Meterse polkitd encima sería competirle a arje, no completarlo.
|
||||
#
|
||||
# -Dsession_tracking=ConsoleKit -Dauthfw=shadow NO es una preferencia por ConsoleKit: es la única de las tres
|
||||
# opciones que NO exige una C-ABI de logind. `logind` pide libsystemd y `elogind` pide libelogind
|
||||
# (meson.build:198-211), y son LAS MISMAS funciones sd-login que trabaN a mutter (sd_uid_get_display,
|
||||
# sd_pidfd_get_session). Con libs-only ese camino queda inerte: el seguimiento de sesión lo hace
|
||||
# polkitd, que no construimos. Cuando exista el shim de sd-login, esto puede volver a `logind`.
|
||||
#
|
||||
# ISLA DINÁMICA obligatoria: el typelib exige un .so real que gjs pueda dlopen(), y además cualquier
|
||||
# cosa que produzca .so y use GObject tiene que enlazar la glib .so — si no, dos registros de GType
|
||||
# (la lección que costó los SIGSEGV de colord).
|
||||
name = "polkit"
|
||||
version = "127"
|
||||
|
||||
[source]
|
||||
# El .orig.tar.gz inmutable del pool de Debian. El proyecto se mudó a github.com/polkit-org/polkit y
|
||||
# sus `archive/refs/tags/*.tar.gz` son autogenerados ⇒ no deterministas (lección de cairo/iso-codes).
|
||||
tarball = "http://deb.debian.org/debian/pool/main/p/policykit-1/policykit-1_127.orig.tar.gz"
|
||||
sha256 = "9b7bc16f086479dcc626c575976568ba4a85d34297a750d8ab3d2e57f6d8b988"
|
||||
|
||||
[build]
|
||||
compiler = "zig-cc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "dynamic"
|
||||
|
||||
[build.phases]
|
||||
configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Ddefault_library=shared -Dlibs-only=true -Dsession_tracking=ConsoleKit -Dauthfw=shadow -Dintrospection=true -Dexamples=false -Dtests=false -Dman=false -Dgtk_doc=false -Dgettext=false -Dc_args=-Wno-error=date-time"
|
||||
compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output"
|
||||
install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild"
|
||||
|
||||
[deps]
|
||||
build = ["meson", "samurai", "python3", "pkgconf", "gettext-tiny", "py3-setuptools", "gobject-introspection", "glib", "glib-introspected", "dbus", "libffi", "pcre2", "zlib"]
|
||||
Reference in New Issue
Block a user