Files
hammer/recipes/openrc.toml
T
sergioandClaude Opus 4.8 4ce086edcc openrc: corregir el marco de la receta — init alternativo, NO supervisor sobre arje
El comentario justificaba openrc como 'el supervisor de servicios que le falta a arje':
falso. arje-zero es autónomo (PID1 + gestiona servicios). openrc es un init ALTERNATIVO
que la distro ofrece y COMPITE con arje por PID1, no una capa que se apila. Reencuadrado
como el patrón para el resto de la oferta multi-init (runit/s6/dinit). Corrige también la
nota de deps: libcap NO es opcional en Linux (dependency incondicional en meson.build).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-18 16:37:49 -04:00

43 lines
2.6 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 hammer sin parches.
#
# Estático (modelo hammer): -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"
[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"]