gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1471Shell 173Rust 105Markdown 943545 Definiciones

⎇ fe474dab636d4f43ea912ac0144e76bb83ba3717 recipes/incoming-gnome/polkit.toml TOML · 44 líneas · 3.0 KB Historia crudo

licencias: 994 de 1141 (87%) — cerradas las familias Qt, freedesktop, kernel.org y PyPI fe474dab6 · sergio ·

1# polkit 127 — elevación de privilegios. gnome-shell lo exige por `polkit-agent-1` (meson.build:86)
2# y además lo usa DESDE JS: `gi://Polkit` aparece en js/ui/components/polkitAgent.js,
3# endSessionDialog.js, status/thunderbolt.js y environment.js.
4#
5# 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
6# pasó con colord): el bloque `if not libs_only` de meson.build:145-159 es exactamente el que pide
7# expat, duktape (el motor JS de las reglas) y threads. Sin polkitd no hace falta ninguno.
8#
9# Y NO ES UN RECORTE A DESGANO: el demonio ya lo pone arje. La Semilla `session-gnome` tiene un
10# `compat-polkit` (/usr/lib/arje/arje-polkit-compat) que implementa el servicio D-Bus; lo que falta
11# del lado del corpus es la librería que las aplicaciones enlazan y el typelib que el shell importa.
12# Meterse polkitd encima sería competirle a arje, no completarlo.
13#
14# -Dsession_tracking=ConsoleKit -Dauthfw=shadow NO es una preferencia por ConsoleKit: es la única de las tres
15# opciones que NO exige una C-ABI de logind. `logind` pide libsystemd y `elogind` pide libelogind
16# (meson.build:198-211), y son LAS MISMAS funciones sd-login que trabaN a mutter (sd_uid_get_display,
17# sd_pidfd_get_session). Con libs-only ese camino queda inerte: el seguimiento de sesión lo hace
18# polkitd, que no construimos. Cuando exista el shim de sd-login, esto puede volver a `logind`.
19#
20# ISLA DINÁMICA obligatoria: el typelib exige un .so real que gjs pueda dlopen(), y además cualquier
21# cosa que produzca .so y use GObject tiene que enlazar la glib .so — si no, dos registros de GType
22# (la lección que costó los SIGSEGV de colord).
23name    = "polkit"
24version = "127"
25license = "LGPL-2.0-or-later"
26
27[source]
28# El .orig.tar.gz inmutable del pool de Debian. El proyecto se mudó a github.com/polkit-org/polkit y
29# sus `archive/refs/tags/*.tar.gz` son autogenerados ⇒ no deterministas (lección de cairo/iso-codes).
30tarball = "http://deb.debian.org/debian/pool/main/p/policykit-1/policykit-1_127.orig.tar.gz"
31sha256  = "9b7bc16f086479dcc626c575976568ba4a85d34297a750d8ab3d2e57f6d8b988"
32
33[build]
34compiler = "zig-cc"
35target   = "x86_64-linux-musl"
36link     = "dynamic"
37
38[build.phases]
39configure = "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"
40compile   = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output"
41install   = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild"
42
43[deps]
44build = ["meson", "samurai", "python3", "pkgconf", "gettext-tiny", "py3-setuptools", "gobject-introspection", "glib", "glib-introspected", "dbus", "libffi", "pcre2", "zlib"]