Barrido de TEXTO puro: 1427 líneas de comentario TOML. Cero ArtifactHash movidos, y eso está MEDIDO, no deducido: hasheé las 741 antes y después y los ficheros de hashes son idénticos byte a byte (723 con hash real + 18 que ya no hasheaban de antes). El guardián valió la pena: el primer barrido, filtrando por 'la línea empieza con #', movió el hash de helix, lsof y steam-runtime-sniper. La causa es que una fase se escribe como compile = <triple> ... <triple> y sus comentarios de SHELL también empiezan con #, pero viven dentro del VALOR — y las fases sí entran en hash_inputs. El barrido ahora calcula los rangos de las cadenas multilínea de TOML y no entra ahí. Quedan intactos a propósito: .hammer-zig-cc y .hammer-cargo-vendor (literales dentro de fases), hammerd, hammer-recover y toda ruta que empiece por /
44 lines
2.7 KiB
TOML
44 lines
2.7 KiB
TOML
# openrc 0.62.6 — gestor de servicios / init dependency-based (el de Gentoo y Alpine). C, meson.
|
|
#
|
|
# POR QUÉ EN EL CATÁLOGO (marco honesto): openrc es un INIT ALTERNATIVO que la distro OFRECE, NO un
|
|
# complemento de arje-zero. arje-zero es autónomo: es PID1 *y* gestiona sus servicios; no necesita —
|
|
# ni debe apilar — un supervisor encima (ese acople es justo lo que arje existe para evitar). openrc
|
|
# y arje son dos opciones de init que COMPITEN por el rol de PID1, no capas que se apilan. El valor de
|
|
# tenerlo empacado es la oferta multi-init anti-monocultivo-systemd: quien quiera openrc COMO su init
|
|
# (p.ej. viniendo de Artix/Gentoo) lo instala del catálogo y arranca con él en vez de arje.
|
|
# → Este es el PATRÓN para el resto de la oferta de inits del catálogo (runit / s6 / dinit): empacar
|
|
# como alternativa instalable, cada uno autosuficiente como PID1, NUNCA como "supervisor sobre X".
|
|
# (Corrige el comentario original, que justificaba openrc como "el supervisor que le falta a arje" —
|
|
# era una racionalización a posteriori, falsa: arje no tiene ese hueco.)
|
|
#
|
|
# musl-clean por diseño: Alpine lo corre sobre musl en producción ⇒ encaja con el toolchain zig-cc/
|
|
# musl static de takana sin parches.
|
|
#
|
|
# Estático (modelo takana): -Ddefault_library=static + --prefer-static ⇒ libeinfo/librc salen .a y
|
|
# los binarios rc/rc-service enlazan static-musl. Deps OPCIONALES desactivadas para clausura mínima:
|
|
# audit/selinux/pam SÍ son features 'auto'/required:false en el meson.build ⇒ sin declararlas no se
|
|
# enganchan. libcap NO: en Linux el meson.build hace `dependency('libcap', >=2.33)` INCONDICIONAL
|
|
# (sin -Dlibcap para saltarlo; sólo se omite en no-Linux) ⇒ es dep obligatoria, va en [deps].build.
|
|
name = "openrc"
|
|
version = "0.62.6"
|
|
license = "BSD-2-Clause"
|
|
|
|
[source]
|
|
tarball = "https://github.com/OpenRC/openrc/archive/refs/tags/0.62.6.tar.gz"
|
|
sha256 = "d5c15b37533e2b5d247d9fbab8b41f312614784b9ea11239ddcfe8e4528e7722"
|
|
|
|
[build]
|
|
compiler = "zig-cc"
|
|
target = "x86_64-linux-musl"
|
|
link = "static"
|
|
|
|
[build.phases]
|
|
configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload --prefer-static -Ddefault_library=static -Daudit=disabled -Dselinux=disabled -Dpam=false -Dbash-completions=false -Dzsh-completions=false -Dsysvinit=false"
|
|
compile = "ninja -C output"
|
|
install = "DESTDIR=/out meson install -C output --no-rebuild"
|
|
|
|
[deps]
|
|
# libcap NO es opcional en Linux: openrc/meson.build hace `dependency('libcap', version: '>=2.33')`
|
|
# incondicional (no hay -Dlibcap para desactivarlo, sólo se salta en no-Linux). Ya está en el corpus.
|
|
build = ["meson", "samurai", "python3", "pkgconf", "libcap"]
|